该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
class TestCheckBoxAction implements ItemListener{
JPanel panel;
JCheckBox checkbox1;
JCheckBox checkbox2;
JPanel panel1;
ButtonGroup buttongroup;
JRadioButton radiobutton1;
JRadioButton radiobutton2;
public static void main(String[] args) {
TestCheckBoxAction myframe=new TestCheckBoxAction();
}
TestCheckBoxAction()
{
JFrame frame =new JFrame("TestCheckBoxAction");
Container contentPane=frame.getContentPane();
checkbox1=new JCheckBox("backGround");
checkbox2=new JCheckBox("foreGround");
panel=new JPanel();
panel.setBackground(Color.black);//
panel.add(checkbox1);
panel.add(checkbox2);
panel1=new JPanel();
radiobutton1=new JRadioButton("foreGround");
radiobutton2=new JRadioButton("backGround");
buttongroup=new ButtonGroup();
panel1.setForeground(Color.red);
panel1.setBackground(Color.red);
buttongroup.add(radiobutton1);
buttongroup.add(radiobutton2);
panel1.add(radiobutton1);
panel1.add(radiobutton2);
contentPane.add(panel,BorderLayout.NORTH);
contentPane.add(panel1,BorderLayout.SOUTH);
checkbox1.addItemListener(this);
checkbox2.addItemListener(this);
radiobutton1.addItemListener(this);
radiobutton2.addItemListener(this);
frame.setSize(300,300);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.show();
}
public void itemStateChanged(ItemEvent e)//覆盖此方法
{
Color defaultBackGround,defaultForeGround;
if(e.getSource()==checkbox1)
{
if(e.getStateChange()==ItemEvent.SELECTED)
{
defaultBackGround=Color.red;
}
else
defaultBackGround=Color.white;
panel.setBackground(defaultBackGround);
}
if(e.getSource()==checkbox2)
{
if(e.getStateChange()==ItemEvent.SELECTED)
defaultForeGround=Color.black;
else
defaultForeGround=Color.blue;
panel.setForeground(defaultForeGround);
}
if(e.getSource()==radiobutton1)
{
if(e.getStateChange()==ItemEvent.SELECTED)
{
defaultBackGround=Color.blue;
}
else
defaultBackGround=Color.red;
panel1.setBackground(defaultBackGround);
}
if(e.getSource()==radiobutton2)
{
if(e.getStateChange()==ItemEvent.SELECTED)
{
defaultForeGround=Color.black;
}
else
defaultForeGround=Color.BLUE;
panel.setForeground(defaultForeGround);
}
}
}