super("ColorChooserDemo2");
//Set up banner to use as custom preview panel
final JLabel banner = new JLabel("Welcome to the Tutorial Zone!",
JLabel.CENTER);
banner.setForeground(Color.yellow);
banner.setBackground(Color.blue);
banner.setOpaque(true);
banner.setFont(new Font("SansSerif", Font.BOLD, 24));
banner.setPreferredSize(new Dimension(100, 65));
JPanel bannerPanel = new JPanel(new BorderLayout());
bannerPanel.add(banner, BorderLayout.CENTER);
bannerPanel.setBorder(BorderFactory.createTitledBorder("Banner"));
//Set up color chooser for setting background color
JPanel panel = new JPanel();
JButton bcc = new JButton("Show Color Chooser...");
bcc.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
Color newColor = JColorChooser.showDialog(
ColorChooserDemo2.this,
"Choose Background Color",
banner.getBackground());
if (newColor != null) {
banner.setBackground(newColor);
}
}
}
);
panel.add(bcc);
panel.setBorder(BorderFactory.createTitledBorder(
"Choose Background Color"));
//Set up color chooser for setting text color
final JColorChooser tcc = new JColorChooser();
tcc.getSelectionModel().addChangeListener(
new ChangeListener() {
public void stateChanged(ChangeEvent e) {
Color newColor = tcc.getColor();
banner.setForeground(newColor);
}
}
);
tcc.setBorder(BorderFactory.createTitledBorder("Choose Text Color"));
//Remove the preview panel
//XXXXXX: bug #4166059, in Swing 1.1 beta 2 and earlier
//setPreviewPanel throws an exception. no known workaround.
tcc.setPreviewPanel(new JPanel());
//Override the chooser panels with our own
AbstractColorChooserPanel panels[] = { new CrayonPanel() };
tcc.setChooserPanels(panels);
tcc.setColor(banner.getForeground());
Container contentPane = getContentPane();
contentPane.add(bannerPanel, BorderLayout.NORTH);
contentPane.add(panel, BorderLayout.CENTER);
contentPane.add(tcc, BorderLayout.SOUTH);