实现代码:
import java.awt.*;
import java.awt.event.*;
public class TestCheckBox extends Frame {
Checkbox cb1 = new Checkbox("你喜欢我吗?", true);
CheckboxGroup cbg = new CheckboxGroup();
Checkbox cb2 = new Checkbox("喜欢", true, cbg);
Checkbox cb3 = new Checkbox("不喜欢", false, cbg);
CbItemListener cbi = new CbItemListener();
class CbItemListener implements ItemListener {
public void itemStateChanged(ItemEvent e) {
// TODO Auto-generated method stub
Checkbox cb = (Checkbox) e.getItemSelectable();
if (cb.getLabel().equals("你喜欢我吗?")) {
if (cb.getState() == true) {
System.out.println("我很高兴!");
} else {
System.out.println("我很伤心! ");
}
} else {
Checkbox cbx = cbg.getSelectedCheckbox();
if (cbx != null) {
System.out.println(cbx.getLabel());
}
}
}
}
public TestCheckBox() {
FlowLayout f1 = new FlowLayout();
setLayout(f1);
add(cb1);
add(cb2);
add(cb3);
cb1.addItemListener(cbi);
cb2.addItemListener(cbi);
cb3.addItemListener(cbi);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
dispose();
System.exit(0);
}
});
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("Starting TestMyButton...");
TestCheckBox mainFrame = new TestCheckBox();
mainFrame.setSize(400, 400);
mainFrame.setTitle("TestButton");
mainFrame.setVisible(true);
}
}
运行结果:
点击相应的按钮控制台输入结果: