在 Java 的运行时创建按钮

Creating Buttons during runtime in Java

我想基于数组向我的 Java 应用程序添加一些按钮。假设数组中有 10 个对象,我想创建 10 个按钮。如果我删除数组中的 2 个对象,按钮也应该被删除。关于这个问题,我考虑了 3 件事。

一个 for 循环 - 但我认为按钮只存在于循环内,而且我不知道如何命名按钮(变量名称而不是标签)。
一个线程
一个单独的 class

虽然我不知道该怎么做。

我真的可以通过循环命名变量吗? 我的想法是否可行?

如果您将按钮添加到 JPanel,它会在 for 循环之外继续存在,所以不用担心。为您的按钮创建一个 JPanel,并使用 ArrayList<JButton> 跟踪您添加的按钮,这样您就可以根据需要删除它们。要从面板中删除它们,请参阅 this 答案。记得重新绘制(=刷新)JPanel。

JButton button1 = ...;

// Add it to the JPanel
// 

ArrayList<JButton> buttons = new ArrayList<>();
buttons.add(button1);

// Other stuff...

// It's time to get rid of the button
JButton theButtonIWantToRemove = buttons.get(0);
buttons.remove(0);

//Get the components in the panel
Component[] componentList = panel.getComponents();

//Loop through the components
for(Component c : componentList){
    //Find the components you want to remove
    if(c == theButtonIWantToRemove){
        //Remove it
        panel.remove(c);
    }
}

//IMPORTANT
panel.revalidate();
panel.repaint();