KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > text > ModifyColorMapDialog


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