import java.awt.event.*;\r
import javax.swing.*;\r
import javax.swing.event.*;\r
+import jalview.bin.Cache;\r
\r
\r
public class FontChooser extends GFontChooser\r
{\r
AlignmentPanel ap;\r
Font oldFont;\r
+ boolean init = true;\r
+ JInternalFrame frame;\r
\r
public FontChooser(AlignmentPanel ap)\r
{\r
- this.ap = ap;\r
+ frame = new JInternalFrame();\r
+ frame.setContentPane(this);\r
+ Desktop.addInternalFrame(frame, "Change Font", 480,100, false);\r
+ frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
\r
+ this.ap = ap;\r
String fonts[] = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();\r
for(int i=0; i<fonts.length; i++)\r
fontName.addItem(fonts[i]);\r
fontSize.setSelectedItem(oldFont.getSize()+"");\r
fontStyle.setSelectedIndex(oldFont.getStyle());\r
\r
+ init = false;\r
}\r
\r
protected void ok_actionPerformed(ActionEvent e)\r
{\r
- Font newFont = new Font(fontName.getSelectedItem().toString(),\r
- fontStyle.getSelectedIndex(),\r
- Integer.parseInt(fontSize.getSelectedItem().toString()+"")\r
- );\r
- ap.av.setFont(newFont);\r
- ap.RefreshPanels();\r
- ap.RefreshPanels();\r
+ try{\r
+ frame.setClosed(true);\r
+ }catch(Exception ex){}\r
+\r
+ if(ap.getOverviewPanel()!=null)\r
+ ap.getOverviewPanel().updateOverviewImage();\r
}\r
\r
protected void cancel_actionPerformed(ActionEvent e)\r
{\r
ap.av.setFont(oldFont);\r
- ap.RefreshPanels();\r
+ ap.repaint();\r
fontName.setSelectedItem(oldFont.getName());\r
fontSize.setSelectedItem(oldFont.getSize()+"");\r
fontStyle.setSelectedIndex(oldFont.getStyle());\r
+ try{\r
+ frame.setClosed(true);\r
+ }catch(Exception ex){}\r
+ }\r
+\r
+ void changeFont()\r
+ {\r
+ Font newFont = new Font(fontName.getSelectedItem().toString(),\r
+ fontStyle.getSelectedIndex(),\r
+ Integer.parseInt(fontSize.getSelectedItem().toString())\r
+ );\r
+ ap.av.setFont(newFont);\r
+ ap.fontChanged();\r
}\r
\r
+ protected void fontName_actionPerformed(ActionEvent e)\r
+ {\r
+ if(init) return;\r
+ changeFont();\r
+ }\r
+\r
+ protected void fontSize_actionPerformed(ActionEvent e)\r
+ {\r
+ if(init) return;\r
+ changeFont();\r
+ }\r
+\r
+ protected void fontStyle_actionPerformed(ActionEvent e)\r
+ {\r
+ if(init) return;\r
+ changeFont();\r
+ }\r
+\r
+ public void defaultButton_actionPerformed(ActionEvent e)\r
+ {\r
+ Cache.setProperty("FONT_NAME", fontName.getSelectedItem().toString());\r
+ Cache.setProperty("FONT_STYLE", fontStyle.getSelectedIndex()+"");\r
+ Cache.setProperty("FONT_SIZE", fontSize.getSelectedItem().toString());\r
+ }\r
+\r
+\r
\r
}\r