日期:2014-05-20  浏览次数:20717 次

java 图像界面运行找不到错误!
[code=Java][/code]

package com.mycheckbox;

import java.awt.*;
import java.awt.event.*;

public class MyCheckbox extends Frame{

/**
* @param args
*/

Checkbox checkboxMultiple1 = new Checkbox("你喜欢我吗?", true); //添加多选按钮.
CheckboxGroup checkboxGroup = new CheckboxGroup(); //添加按钮组.
Checkbox checkboxSingle1 = new Checkbox("喜欢", checkboxGroup, true); //添加单选按钮.
Checkbox checkboxSingle2 = new Checkbox("不喜欢", checkboxGroup, false);
Checkbox checkboxSingle3 = new Checkbox("不知道", checkboxGroup, false);
/*用同一个事件监听器类去处理四个按钮,所以定义成内部类。*/


class MyItemListener implements ItemListener { //事件监听器类.
public void itemStateChanged(ItemEvent e) {
Checkbox mc =(Checkbox)e.getItemSelectable();
if (mc.getLabel().equals("你喜欢我吗?")) {
if (mc.getState() == true) {
System.out.println("我很高兴!");
} else {
System.out.println("我很伤心!");
}
}else {
Checkbox c =checkboxGroup.getSelectedCheckbox();
if (c != null) {
System.out.println(c.getLabel());

}
}
}

public MyCheckbox(){
FlowLayout fl = new FlowLayout(); //设置布局.
setLayout(fl);
Frame f = new Frame();
f.setSize(500, 300);
f.setVisible(true);
f.add(checkboxMultiple1); //添加按钮.
f.add(checkboxSingle1);
f.add(checkboxSingle2);
f.add(checkboxSingle3);
MyItemListener mil = new MyItemListener(); 
checkboxMultiple1.addItemListener(mil); //为多选按钮注册监听器.
checkboxSingle1.addItemListener(mil);
checkboxSingle2.addItemListener(mil);

f.addWindowListener(new WindowAdapter() { //注册窗口监听器.
public void windowClosing(WindowEvent e){
e.getWindow().dispose();
e.getWindow().setVisible(false);
System.exit(0);
}
});
}

public static void main(String[] args) {
// TODO Auto-generated method stub
MyCheckbox mc = new MyCheckbox();
}

}
大家帮忙看一下为什么?问题大家运行了就懂了,没能达到我的需求:
我的需求是出现 全部的单选和多选按钮,然后出现代码中的结果!
请大家看看,麻烦了!

------解决方案--------------------
[code=java]
Frame f = new Frame();
f.setSize(500, 300);
f.setVisible(true);
f.add(checkboxMultiple1); //添加按钮.
f.add(checkboxSingle1);
f.add(checkboxSingle2);
f.add(checkboxSingle3);
MyItemListener mil = new MyItemListener(); 
checkboxMultiple1.addItemListener(mil); //为多选按钮注册监听器.
[/code]
楼主,注意下这地方。 你Frame应该先添加panel,然后在panel中添加你要添加的按钮。
[code=java]
Frame f = new Frame();
f.setSize(500, 300);
f.setVisible(true);
//先创建一个panel
Panel panelButton = new Panel();
f.add(panelButton);
panelButton.add(checkboxMultiple1);
panelButton.add(checkboxSingle1);
panelButton.add(checkboxSingle2);
panelButton.add(checkboxSingle3);
MyItemListener mil = new MyItemListener(); 
checkboxMultiple1.addItemListener(mil); //为多选按钮注册监听器.
[/code]
------解决方案--------------------
Java code
用jframe吧