| |
e879. Removing the Preview Panel from a JColorChooser Dialog
The preview panel can be removed by setting a do-nothing component.
JColorChooser chooser = new JColorChooser();
chooser.setPreviewPanel(new JPanel());
// This preview panel simply displays the currently selected color.
public class MyPreviewPanel extends JComponent {
// The currently selected color
Color curColor;
public MyPreviewPanel(JColorChooser chooser) {
// Initialize the currently selected color
curColor = chooser.getColor();
// Add listener on model to detect changes to selected color
ColorSelectionModel model = chooser.getSelectionModel();
model.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent evt) {
ColorSelectionModel model = (ColorSelectionModel)evt.getSource();
// Get the new color value
curColor = model.getSelectedColor();
}
}) ;
// Set a preferred size
setPreferredSize(new Dimension(50, 50));
}
// Paint current color
public void paint(Graphics g) {
g.setColor(curColor);
g.fillRect(0, 0, getWidth()-1, getHeight()-1);
}
}
e878.
Customizing the Preview Panel of a JColorChooser Dialog
© 2002 Addison-Wesley.
|