17.16. The Color ChooserSwing is chock full of goodies. JColorChooser is yet another ready-made dialog supplied with Swing; it allows your users to choose colors. The following brief example shows how easy it is to use JColorChooser: import java.awt.*; import java.awt.event.*; import javax.swing.*; public class LocalColor { public static void main(String[] args) { final JFrame frame = new JFrame("LocalColor v1.0"); final Container content = frame.getContentPane( ); // unnecessary in 5.0+ content.setLayout(new GridBagLayout( )); JButton button = new JButton("Change color..."); content.add(button); button.addActionListener(new ActionListener( ) { public void actionPerformed(ActionEvent e) { Color c = JColorChooser.showDialog(frame, "Choose a color", content.getBackground( )); if (c != null) content.setBackground(c); } }); frame.setSize(200, 200); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setVisible(true); } } This example shows a frame window with a single button. When you click on the button, a color chooser pops up. After you select a color, it becomes the background color of the frame window. Basically, all we have to do is call JColorChooser's static method showDialog( ). In this example, we specified a parent component, a dialog title, and an initial color value. But you can get away with just specifying a parent component. Whatever color the user chooses is returned; if the user presses the Cancel button, null is returned. |