狼孑野心
2009-10-30 12:47
采纳率: 0%
浏览 536
已采纳

在java中,怎样通过点一个Button按钮取消Checkbox原有的选中状态,变为未选中?

运行时,先选中一个(A,B,C,D中任选一个,如A),此时在文件text.txt中读入了一个A,然后点按钮“下一个”,此时A的选中状态应该被取消了,然后可以再选A,文件里又读入一个A

最终目的是:连续的问题可以选同样的答案(文件中读入多个连续的相同的答案)

以下是改模块的代码。请指点指点该怎么修改,谢谢!!

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

public class TextCheckbox implements ItemListener{
Frame MyFrame=new Frame();
Button btn=new Button("下一个");
CheckboxGroup checkboxgroup=new CheckboxGroup();
Checkbox p1=new Checkbox("A",false,checkboxgroup);
Checkbox p2=new Checkbox("B",false,checkboxgroup);
Checkbox p3=new Checkbox("C",false,checkboxgroup);
Checkbox p4=new Checkbox("D",false,checkboxgroup);
TextCheckbox()
{
MyFrame.setLayout(new FlowLayout());
MyFrame.add(p1);
MyFrame.add(p2);
MyFrame.add(p3);
MyFrame.add(p4);
MyFrame.add(btn);
p1.addItemListener(this);
p2.addItemListener(this);
p3.addItemListener(this);
p4.addItemListener(this);
MyFrame.setSize(300,300);
MyFrame.setVisible(true);
MyFrame.addWindowListener(new HandleAct());
}
public void itemStateChanged(ItemEvent e)
{
String label=((Checkbox)e.getSource()).getLabel();
try{
if(e.getStateChange()==ItemEvent.SELECTED){
PrintWriter input=new PrintWriter(new FileWriter("key.txt",true));
input.println(label);
input.close();
}
}catch(IOException ioe){}
}
class HandleAct extends WindowAdapter
{
public void windowClosing(WindowEvent e)
{
(e.getWindow()).dispose();
System.exit(0);
}
}

/**
 * @param args
 */
public static void main(String[] args) {
    new TextCheckbox();
    // TODO 自动生成方法存根

}

}

1条回答 默认 最新

相关推荐 更多相似问题