-1

我正在努力做到这一点,所以当我单击一个按钮时,会创建另一个按钮,并且您也可以根据需要多次执行此操作。但是我还没有找到让它工作的方法,有什么想法吗?我曾尝试创建一个 for 循环,但最终会覆盖其他按钮并删除标签。

4

1 回答 1

0

尝试这样的事情:

Form f = new Form(BoxLayout.y());
f.add(createButton("Click Me"));
f.show();

然后方法createButton()

private Button createButton(String title) {
    Button b = new Button(title);
    b.addActionListener(e -> {
       Container c = b.getParent();
       c.add(createButton(title));
       c.revalidate();
    });
    return b;
}

我猜你错过的事情是当你改变 a之后revalidate()必须调用的调用。Form请注意,第一次添加发生在表单显示之前并且不调用revalidate().

于 2018-07-28T04:27:10.367 回答