gpt4 book ai didi

java - 如何显示按钮并在用户按下按钮时显示随机数?

转载 作者:行者123 更新时间:2023-11-30 03:14:21 25 4
gpt4 key购买 nike

您好,我一直在研究如何使按钮显示随机数。这就是我现在所处的位置。我不知道随机数生成器代码会去哪里。如果我把它放在 ActionListener 之前,它只会发布在按钮旁边,而不是在按下按钮时出现。它不断给我错误消息

错误: 无法引用封闭范围内定义的非最终局部变量 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);
}
});

}

}

最佳答案

您可以在JButton 上调用setText。另外,不要忘记设置默认关闭操作。您无法从外部范围引用num1。我想你想要类似的东西

Random generator = new Random();
final JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();

int num1 = generator.nextInt(101);
System.out.println("the random number is:" + num1);

JButton button1 = new JButton(String.format("Push Me! %d", num1));
frame.add(panel);
panel.add(button1);
frame.pack();
frame.setVisible(true);

button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
int num1 = generator.nextInt(101);
System.out.println("the random number is:" + num1);
button1.setText(String.format("Push Me! %d", num1));
}
});

关于java - 如何显示按钮并在用户按下按钮时显示随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32983503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com