使用 WindowBuilder 动态创建 JButton
Creating JButtons dynamically with WindowBuilder
在 Eclipse 中,我正在使用 WindowBuilder 开发 GUI。我正在尝试动态创建按钮和标签并将其添加到面板,然后在按下另一个按钮以显示下一组 buttons/labels 时更新 GUI。
我已经尝试了几个小时,就是无法正常工作。我的代码成功生成了前 5 个按钮,但是当我单击 'Next'(应该更新 GUI 的按钮)时它不起作用。但是,我正在使用 sysout.println 并且可以看到我尝试更改的 JLabel 的实际文本值正在发生变化,它只是没有在 GUI 上更新。 GUI 最终将从数据库中读取数据并据此填充 labels/buttons,但最初我只是想让它与手动创建的对象一起使用。
这就是我创建动态 JRadioButton 的方式:
private void createJButton (int numOfBotons)
{
int x=20, y=300, width=40, height=50; //choose whatever you want
JRadioButton[] jRadioButton = new JRadioButton[numOfBotons];
for(int i=0; i<numOfBotons; i++, y-=20)
{
jRadioButton[i] = new JRadioButton(""+i);
jRadioButton[i].setBounds(x, y, width, height);
group.add(jRadioButton[i]);
frame.add(jRadioButton[i]);
}
}
在 Eclipse 中,我正在使用 WindowBuilder 开发 GUI。我正在尝试动态创建按钮和标签并将其添加到面板,然后在按下另一个按钮以显示下一组 buttons/labels 时更新 GUI。
我已经尝试了几个小时,就是无法正常工作。我的代码成功生成了前 5 个按钮,但是当我单击 'Next'(应该更新 GUI 的按钮)时它不起作用。但是,我正在使用 sysout.println 并且可以看到我尝试更改的 JLabel 的实际文本值正在发生变化,它只是没有在 GUI 上更新。 GUI 最终将从数据库中读取数据并据此填充 labels/buttons,但最初我只是想让它与手动创建的对象一起使用。
这就是我创建动态 JRadioButton 的方式:
private void createJButton (int numOfBotons)
{
int x=20, y=300, width=40, height=50; //choose whatever you want
JRadioButton[] jRadioButton = new JRadioButton[numOfBotons];
for(int i=0; i<numOfBotons; i++, y-=20)
{
jRadioButton[i] = new JRadioButton(""+i);
jRadioButton[i].setBounds(x, y, width, height);
group.add(jRadioButton[i]);
frame.add(jRadioButton[i]);
}
}