1 package text; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 import javax.swing.*; 6 import javax.swing.colorchooser.*; 7 import javax.swing.event.*; 8 9 public class ModifyColorMapDialog implements ActionListener, ChangeListener 10 { 11 protected static ModifyColorMapDialog self; 12 13 protected JColorChooser chooser; 14 15 protected Color original; 16 protected int index; 17 protected JComponent source; 18 19 public static void showModifyColorMapDialog(JComponent source, int index) 20 { 21 if (self == null) 22 { 23 self = new ModifyColorMapDialog(); 24 } 25 26 self.showDialogFor(source, index); 27 TextSource.saveColorMap(); 28 } 29 30 public ModifyColorMapDialog() 31 { 32 chooser = new JColorChooser(); 33 chooser.setPreviewPanel(null); 34 chooser.getSelectionModel().addChangeListener(this); 35 } 36 37 public void showDialogFor(JComponent _source, int _index) 38 { 39 index = _index; 40 original = TextSource.colorTable[index]; 41 source = _source; 42 43 chooser.setColor(original); 44 JColorChooser.createDialog(null, "Edit Color ("+index+")", true, chooser, null, this).show(); 45 } 46 47 public void stateChanged(ChangeEvent ev) 48 { 49 Color newColor = ((ColorSelectionModel)ev.getSource()).getSelectedColor(); 50 TextSource.colorTable[index] = newColor; 51 52 source.repaint(); 53 } 54 55 public void actionPerformed(ActionEvent ev) 56 { 57 TextSource.colorTable[index] = original; 58 59 source.repaint(); 60 } 61 } 62 | Popular Tags |