请问如何实现勾选 setcolor可以实现任一时刻的按钮颜色变换?import java.awt.*;
import java.awt.event.*;import javax.swing.*;public class thanks extends JApplet {
JButton b1;
int count = 0;
Checkbox setcolor, setcount, red, blue, green;
CheckboxGroup colorgroup; public void init() {
JPanel panel = (JPanel) getContentPane();
panel.setLayout(new FlowLayout());
b1 = new JButton("press");
panel.add(b1);// add
setcolor = new Checkbox("set color");
setcount = new Checkbox("set count");
panel.add(setcolor);// add
panel.add(setcount);// add
colorgroup=new CheckboxGroup();
red=new Checkbox("red", colorgroup, true);
blue=new Checkbox("blue", colorgroup, false);
green=new Checkbox("green", colorgroup, false);
panel.add(red);
panel.add(blue);
panel.add(green);
if(setcolor.getState()){
red.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if(e.getStateChange()==ItemEvent.SELECTED)
b1.setForeground(Color.red);
}
});
blue.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if(e.getStateChange()==ItemEvent.SELECTED)
b1.setForeground(Color.blue);
}
});
green.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if(e.getStateChange()==ItemEvent.SELECTED)
b1.setForeground(Color.green);
}
});
} b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
doButtonAction();
}
});
} private void doButtonAction() {
int i = count++;// 从运行开始,准确计数
if (setcount.getState())
b1.setText("press " + i);
else
b1.setText("press me!!!");// 不然会停留在上一次显示
}
}
import java.awt.event.*;import javax.swing.*;public class thanks extends JApplet {
JButton b1;
int count = 0;
Checkbox setcolor, setcount, red, blue, green;
CheckboxGroup colorgroup; public void init() {
JPanel panel = (JPanel) getContentPane();
panel.setLayout(new FlowLayout());
b1 = new JButton("press");
panel.add(b1);// add
setcolor = new Checkbox("set color");
setcount = new Checkbox("set count");
panel.add(setcolor);// add
panel.add(setcount);// add
colorgroup=new CheckboxGroup();
red=new Checkbox("red", colorgroup, true);
blue=new Checkbox("blue", colorgroup, false);
green=new Checkbox("green", colorgroup, false);
panel.add(red);
panel.add(blue);
panel.add(green);
if(setcolor.getState()){
red.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if(e.getStateChange()==ItemEvent.SELECTED)
b1.setForeground(Color.red);
}
});
blue.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if(e.getStateChange()==ItemEvent.SELECTED)
b1.setForeground(Color.blue);
}
});
green.addItemListener(new ItemListener() {
@Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if(e.getStateChange()==ItemEvent.SELECTED)
b1.setForeground(Color.green);
}
});
} b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
doButtonAction();
}
});
} private void doButtonAction() {
int i = count++;// 从运行开始,准确计数
if (setcount.getState())
b1.setText("press " + i);
else
b1.setText("press me!!!");// 不然会停留在上一次显示
}
}
import java.awt.CheckboxGroup;
import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;import javax.swing.JApplet;
import javax.swing.JButton;
import javax.swing.JPanel;public class thanks extends JApplet implements ActionListener {
JButton b1;
int count = 0;
Checkbox setcolor, setcount, red, blue, green;
CheckboxGroup colorgroup;
boolean isColor = false; public void init() {
JPanel panel = (JPanel) getContentPane();
panel.setLayout(new FlowLayout());
b1 = new JButton("press");
panel.add(b1);// add
setcolor = new Checkbox("set color");
setcolor.addItemListener(new ItemListener() { @Override
public void itemStateChanged(ItemEvent e) {
if (setcolor.getState()) {
isColor = true;
if (red.getState()) {
b1.setForeground(Color.red);
}
if (green.getState()) {
b1.setForeground(Color.green);
}
if (blue.getState()) {
b1.setForeground(Color.blue);
}
} else {
isColor = false;
b1.setForeground(Color.black);
}
}
});
setcount = new Checkbox("set count"); panel.add(setcolor);// add
panel.add(setcount);// add colorgroup = new CheckboxGroup();
red = new Checkbox("red", colorgroup, true);
blue = new Checkbox("blue", colorgroup, false);
green = new Checkbox("green", colorgroup, false); panel.add(red);
panel.add(blue);
panel.add(green); red.addItemListener(new ItemListener() { @Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if (e.getStateChange() == ItemEvent.SELECTED)
if (isColor)
b1.setForeground(Color.red); }
}); blue.addItemListener(new ItemListener() { @Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if (e.getStateChange() == ItemEvent.SELECTED)
if (isColor)
b1.setForeground(Color.blue);
}
}); green.addItemListener(new ItemListener() { @Override
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
if (e.getStateChange() == ItemEvent.SELECTED)
if (isColor)
b1.setForeground(Color.green); }
}); b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
doButtonAction();
}
}); } private void doButtonAction() {
int i = count++;// 从运行开始,准确计数
if (setcount.getState())
b1.setText("press " + i);
else
b1.setText("press me!!!");// 不然会停留在上一次显示
} @Override
public void actionPerformed(ActionEvent e) {
System.out.println(e.getActionCommand()); }}
该了一下,颜色可以变了