gpt4 book ai didi

java - 在java中动态添加复选框

转载 作者:行者123 更新时间:2023-11-30 22:19:56 27 4
gpt4 key购买 nike

我想知道如何添加 checkboxes 和动态命名。

enter image description here

checkboxes 的数量遵循 MySQL 中的行数,名称从 MySQL 中检索。假设我在 MySQL 中有三个数据,那么我会得到如上图所示的输出。

这是我的A类代码

checkAPI api= new checkAPI();

try
{
num = api.displayCheckBoxAndLabel(); // get 3
List<String> allName= api.displayName(); // [John,Tony,Kik]
}
catch (Exception e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
deleteAdmin delete = new deleteAdmin(num,allName);
delete.setVisible(true);
setVisible(false);
dispose();
}

然后将这两个参数传递给类deleteAdmin

public class deleteAdmin  extends JFrame {

private JPanel contentPane;
private JTextField userText;
private JTextField txtpassword;
JFrame f= new JFrame(" Add Admin");

/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
button frame = new button();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

public deleteAdmin(int num, List<String> names)
{
super("Delete Admin");
setBounds(100, 200, 340, 229);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);

JPanel panel = new JPanel();
panel.setBounds(35, 19, 242, 146);
contentPane.add(panel);
panel.setLayout(null);

JCheckBox[] checkBoxList = new JCheckBox[num];

for(int i = 0; i < num; i++) {
checkBoxList[i] = new JCheckBox("CheckBox" + i);
contentPane.add(checkBoxList[i]);
}
}
}

但是,我得到了这种输出。没有显示复选框:(

enter image description here

最佳答案

快速浏览一下,您的代码中至少有两个可能的怪异之处。

  1. 如果您不使用 layout manager对于面板,您必须明确调整组件的大小和位置。
  2. Swing 组件必须在事件分派(dispatch)线程上独占创建和操作。所以如果你的代码

    deleteAdmin delete= new deleteAdmin(num,allName);
    delete.setVisible(true);
    setVisible(false);
    dispose();

    在 EDT 中运行,因为它在某个按钮处理程序内或类似的地方,这是可以的,否则您需要使用 invokeLater() 来执行该操作。

关于java - 在java中动态添加复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36942095/

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