【发布时间】:2015-10-07 03:51:07
【问题描述】:
您好,我一直坚持如何让按钮显示随机数。这就是我现在的位置。我不知道随机数生成器代码会去哪里。如果我把它放在 ActionListener 之前 if 只会在按钮旁边发布,而不是在按下按钮时出现。它一直给我错误信息
错误: 无法引用封闭范围内定义的非最终局部变量 num1。
请参考以下代码:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import java.util.Random;
public class myTest {
public static void main(String[] args) {
Random generator = new Random();
int num1;
final JFrame frame = new JFrame();
JPanel panel = new JPanel();
num1 = generator.nextInt(101);
System.out.println("the random number is:" +num1);
JButton button1 = new JButton("Push Me!");
frame.add(panel);
panel.add(button1);
frame.setVisible(true);
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
num1 = generator.nextInt(101);
System.out.println("the random number is:" +num1);
}
});
}
}
【问题讨论】: