1 23 24 import java.awt.event.ActionEvent ; 25 import java.awt.event.ActionListener ; 26 27 import javax.swing.AbstractButton ; 28 import javax.swing.Box ; 29 import javax.swing.BoxLayout ; 30 import javax.swing.JLabel ; 31 import javax.swing.JPanel ; 32 33 import org.gjt.sp.jedit.GUIUtilities; 34 import org.gjt.sp.jedit.jEdit; 35 import org.gjt.sp.jedit.gui.RolloverButton; 36 37 public class QuickNotepadToolPanel extends JPanel { 38 private QuickNotepad pad; 39 40 private JLabel label; 41 42 public QuickNotepadToolPanel(QuickNotepad qnpad) { 43 setLayout(new BoxLayout (this, BoxLayout.X_AXIS)); 44 pad = qnpad; 45 46 Box labelBox = new Box (BoxLayout.Y_AXIS); 47 labelBox.add(Box.createGlue()); 48 49 label = new JLabel (pad.getFilename()); 50 label.setVisible(jEdit.getProperty( 51 QuickNotepadPlugin.OPTION_PREFIX + "show-filepath").equals( 52 "true")); 53 54 labelBox.add(label); 55 labelBox.add(Box.createGlue()); 56 57 add(labelBox); 58 59 add(Box.createGlue()); 60 61 add(makeCustomButton("quicknotepad.choose-file", new ActionListener () { 62 public void actionPerformed(ActionEvent evt) { 63 QuickNotepadToolPanel.this.pad.chooseFile(); 64 } 65 })); 66 add(makeCustomButton("quicknotepad.save-file", new ActionListener () { 67 public void actionPerformed(ActionEvent evt) { 68 QuickNotepadToolPanel.this.pad.saveFile(); 69 } 70 })); 71 add(makeCustomButton("quicknotepad.copy-to-buffer", 72 new ActionListener () { 73 public void actionPerformed(ActionEvent evt) { 74 QuickNotepadToolPanel.this.pad.copyToBuffer(); 75 } 76 })); 77 } 78 79 void propertiesChanged() { 80 label.setText(pad.getFilename()); 81 label.setVisible(jEdit.getProperty( 82 QuickNotepadPlugin.OPTION_PREFIX + "show-filepath").equals( 83 "true")); 84 } 85 86 private AbstractButton makeCustomButton(String name, ActionListener listener) { 87 String toolTip = jEdit.getProperty(name.concat(".label")); 88 AbstractButton b = new RolloverButton(GUIUtilities.loadIcon(jEdit 89 .getProperty(name + ".icon"))); 90 if (listener != null) { 91 b.addActionListener(listener); 92 b.setEnabled(true); 93 } else { 94 b.setEnabled(false); 95 } 96 b.setToolTipText(toolTip); 97 return b; 98 } 99 100 } 101
| Popular Tags
|