import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class FirstSample{
public static void main(String[] args){
ColorChooseFrame frame=new ColorChooseFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class ColorChooseFrame extends JFrame{
public ColorChooseFrame(){
setTitle("ColorChooseTest");
setSize(WIDTH,HEIGHT);
ColorChoosePanel panel=new ColorChoosePanel();
add(panel);
}
public static final int WIDTH=800;
public static final int HEIGHT=600;
}
class ColorChoosePanel extends JPanel{
public ColorChoosePanel(){
JButton modalButton=new JButton("Modal");
modalButton.addActionListener(new ModalListener());
add(modalButton);
JButton modelessButton=new JButton("Modeless");
modelessButton.addActionListener(new ModelessListener());
add(modelessButton);
JButton immediateButton=new JButton("Immediate");
immediateButton.addActionListener(new ImmediateListener());
add(immediateButton);
}
private class ModalListener implements ActionListener{
public void actionPerformed(ActionEvent event){
Color defaultColor=getBackground();
Color selected=JColorChooser.showDialog(ColorChoosePanel.this, "Set background", defaultColor);
if(selected!=null)
setBackground(selected);
}
}
private class ModelessListener implements ActionListener{
public ModelessListener(){
chooser=new JColorChooser();
dialog=JColorChooser.createDialog(ColorChoosePanel.this, "Background Color", false, chooser,
new ActionListener(){
public void actionPerformed(ActionEvent event){
setBackground(chooser.getColor());
}}, null);
}
public void actionPerformed(ActionEvent event){
chooser.setColor(getBackground());
dialog.setVisible(true);
}
private JDialog dialog;
private JColorChooser chooser;
}
private class ImmediateListener implements ActionListener{
public ImmediateListener(){
chooser=new JColorChooser();
chooser.getSelectionModel().addChangeListener(new
ChangeListener(){
public void stateChanged(ChangeEvent event){
setBackground(chooser.getColor());
}
});
dialog=new JDialog((Frame)null,false);
dialog.add(chooser);
dialog.pack();
}
public void actionPerformed(ActionEvent event){
chooser.setColor(getBackground());
dialog.setVisible(true);
}
private JDialog dialog;
private JColorChooser chooser;
}
}
颜色选择框
最新推荐文章于 2024-06-18 07:15:00 发布