gpt4 book ai didi

java - 如何制作带复选框的 JDialog

转载 作者:行者123 更新时间:2023-11-30 03:32:40 25 4
gpt4 key购买 nike

我正在编写 Java 程序,遇到了问题。我有一个ArrayList<JCheckBox>我想显示一些带有这些复选框的对话框窗口,这样我可以选择其中一些,我想要另一个 ArrayList<>关闭该对话框后,将所选对象作为结果。我想我可以通过添加ActionListener来得到结果到那些复选框,但我不知道如何传递 ArrayList<JCheckBox>到对话框窗口..

到目前为止我尝试过这样的事情:

ArrayList<JCheckBox> al = new ArrayList<JCheckBox>();
for (MyClass mc : sr.getFields().values())
{
JCheckBox box = new JCheckBox(mc.getType());
al.add(box);
}
JOptionPane.showConfirmDialog(null, al);

如果我尝试打印复选框中的文本,这是可以的,但是对话框只显示一长行一些没有任何意义的文本..

那么,有没有办法做到这一点?

提前致谢..

最佳答案

showConfirmDialog方法必须解释消息对象才能正确呈现它,但它不知道如何解释 ArrayList ,您必须将所有元素添加到 JPanel例如:

JPanel al = new JPanel();
for (MyClass mc : sr.getFields().values()){
JCheckBox box = new JCheckBox(mc.getType());
al.add(box);
}
JOptionPane.showConfirmDialog(null, al);

Object[]例如:

ArrayList<JCheckBox> al = new ArrayList<JCheckBox>();
for (MyClass mc : sr.getFields().values()){
JCheckBox box = new JCheckBox(mc.getType());
al.add(box);
}
Object[] obj = (Object[]) al.toArray(new Object[al.size()]);
JOptionPane.showConfirmDialog(ui, obj);

关于java - 如何制作带复选框的 JDialog,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28656824/

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