gpt4 book ai didi

java - 捕获特定时刻的检查按钮的值

转载 作者:行者123 更新时间:2023-12-02 00:31:33 24 4
gpt4 key购买 nike

我有一个动态应用程序,需要创建一个带有复选框的窗口界面。复选框的值将控制程序的后续步骤。

所以我有带有按钮的界面,我应该选择我想要的按钮,然后按“运行”按钮(在选择时程序必须等待)。我怎样才能做到这一点?

(我无法使用带有 html 标签的服务器应用程序。这太简单了。)

这是我的代码。问题是在我按下“运行”按钮之前,程序控制了复选框的值。因此所有按钮状态的结果都是 FALSE。

public class JRadiobuttonExample extends JFrame {
private JCheckBox radioButton1;
private JCheckBox radioButton2;
private JCheckBox radioButton3;
private JLabel label;
int i, state[] = {0,0,0,0};
JCheckBox b[];
static ArrayList<Boolean> check=new ArrayList<Boolean>();
JButton altervista=new JButton("RUN");
static int num;


public JCheckBox[] getB() {
return b;
}
public void setB(JCheckBox[] b) {
this.b = b;
}
public ArrayList<Boolean> getCheck() {
return check;
}
public void setCheck(ArrayList<Boolean> check2) {
check = check2;
}
public JRadiobuttonExample(int num, ArrayList<String> lbl) {
super("JRadiobuttonExample");
getContentPane().setLayout(new FlowLayout(FlowLayout.CENTER));

b= new JCheckBox[num];

CheckBoxListener ckListener = new CheckBoxListener();

for(i=0; i<num; i++) {
b[i] = new JCheckBox(lbl.get(i));
b[i].addItemListener(ckListener);
getContentPane().add(b[i]);
}

setVisible(true);

getContentPane().add(altervista);
getContentPane().setVisible(true);
Ascoltatore asc=new Ascoltatore();
altervista.addActionListener(asc);
}

class Ascoltatore extends WindowAdapter implements ActionListener{
public void windowClosing(WindowEvent e){

}
public void actionPerformed(ActionEvent e){
if(e.getSource()==altervista){

}
}
}



public static void main(String argv[])
{
ArrayList<String> col=new ArrayList<String>();

col.add("hello");
col.add("everyone");

num=col.size();
JRadiobuttonExample b = new JRadiobuttonExample(num,col);
JCheckBox[] buttons=b.getB();

for (JCheckBox c:buttons){
check.add(c.isSelected());
}

System.out.println("checkbox values are:");
for (boolean sel:check ){
System.out.println(sel);
}
}
}

最佳答案

单击“RUN”按钮时必须显示下一个屏幕。因此,您应该向此按钮添加一个 ActionListener

此监听器将获取所有复选框的状态,根据这些状态决定要显示的下一个屏幕,并显示适当的下一个屏幕。

这就是基于事件的 API 的工作原理。你不会等待某事发生。您为事件注册一个监听器,当事件触发时会调用该监听器。

关于java - 捕获特定时刻的检查按钮的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8938806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com