1 回答
TA贡献1712条经验 获得超3个赞
您JLabel在写作时声明匿名:
subPanel1.add(new JLabel("Random word here"));
您需要将其设置为变量:
JLabel label = new JLabel("Random word here");
subPanel1.add(label);
现在你有你button自己的ActionListener:
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String name = names[(int) (Math.random() * names.length)];
((JButton) e.getSource()).setText(name);
}
});
而且您正在设置JButton的文本,而不是标签,因此我们需要将其更改为:
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String name = names[(int) (Math.random() * names.length)];
label.setText(name);
}
});
那应该做你想做的事,我没有尝试过,但它在我的脑海中有效。
附加提示:
不要调用
setPreferredSize()
,而是覆盖getPreferredSize()
方法:我应该避免在 Java Swing 中使用 set(Preferred|Maximum|Minimum)Size 方法吗?不要在代码中间留下太多空间并正确缩进。
添加回答
举报