Java 我的GUI应用程序无法正常工作。不会产生随机数
我正在用java编写一个程序,但当我想编译它时,我遇到了一个问题Java 我的GUI应用程序无法正常工作。不会产生随机数,java,user-interface,Java,User Interface,我正在用java编写一个程序,但当我想编译它时,我遇到了一个问题 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.Random; import java.util.concurrent.ThreadLocalRandom; public class y implements ActionListener { JFrame f; JButton b; JT
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import java.util.concurrent.ThreadLocalRandom;
public class y implements ActionListener {
JFrame f;
JButton b;
JTextField jtf1;
JTextField jtf2;
JTextField jtf3;
y() {
f = new JFrame("Random Number");
f.setBounds(0, 0, 1370, 740);
f.setVisible(true);
f.setLayout(null);
b = new JButton("submit");
b.setBounds(200, 450, 250, 70);
f.add(b);
jtf1 = new JTextField();
jtf1.setBounds(200, 300, 250, 70);
f.add(jtf1);
jtf2 = new JTextField();
jtf2.setBounds(200, 150, 250, 70);
f.add(jtf2);
jtf3 = new JTextField();
jtf3.setBounds(700, 300, 500, 70);
jtf3.setEditable(false);
f.add(jtf3);
Font f1 = new Font("Segoe Script", Font.BOLD, 30);
jtf1.setFont(f1);
jtf2.setFont(f1);
jtf3.setFont(f1);
b.setFont(f1);
b.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
String s1 = jtf1.getText();
String s2 = jtf2.getText();
int a = Integer.parseInt(s1);
int b = Integer.parseInt(s2);
if (a < 0) {
jtf3.setText("the numbers must be bigger than 0");
}
if (b < 0) {
jtf3.setText("the numbers must be bigger than 0");
}
if (b < a) {
jtf3.setText("the second number must be bigger then the first");
} else {
Random randomObj = new Random();
int randomNum = randomObj.nextInt((b - a)) + a;
jtf3.setText("the random number is : " + " " + randomNum);
}
}
public static void main(String[] args) {
new y();
}
}
import javax.swing.*;
导入java.awt.*;
导入java.awt.event.*;
导入java.util.Random;
导入java.util.concurrent.ThreadLocalRandom;
公共类y实现ActionListener{
jf框架;
按钮b;
JTextField-jtf1;
JTextField jtf2;
JTextField jtf3;
y(){
f=新JFrame(“随机数”);
f、 立根(0,0,1370740);
f、 setVisible(真);
f、 setLayout(空);
b=新按钮(“提交”);
b、 立根(20045025070);
f、 添加(b);
jtf1=新的JTextField();
jtf1.立根(20030025070);
f、 添加(jtf1);
jtf2=新的JTextField();
jtf2.立根(200、150、250、70);
f、 添加(jtf2);
jtf3=新的JTextField();
jtf3.立根(70030050070);
jtf3.setEditable(假);
f、 添加(jtf3);
字体f1=新字体(“Segoe脚本”,Font.BOLD,30);
jtf1.setFont(f1);
jtf2.setFont(f1);
jtf3.setFont(f1);
b、 setFont(f1);
b、 addActionListener(此);
}
已执行的公共无效操作(操作事件e){
字符串s1=jtf1.getText();
字符串s2=jtf2.getText();
int a=整数.parseInt(s1);
intb=Integer.parseInt(s2);
if(a<0){
jtf3.setText(“数字必须大于0”);
}
if(b<0){
jtf3.setText(“数字必须大于0”);
}
if(b
但是当我编译它时,它不能正常工作。它不会生成随机数,也不会加载错误。
我能做什么?
它不显示错误。该代码无法设置文本JTextFied。
我已经尝试了很多方法,而不是我们可以做一个随机数。有些不工作,有些不正常。
我的编译器是:
InteliJ IDEA
您有一个简单的打字错误:
String s1 = jtf1.getText();
String s2 = jtf1.getText();
换成
String s1 = jtf2.getText();
String s2 = jtf1.getText();
它会起作用的
我还建议将jtf1置于jtf1之上,因为jtf1指的是第一个数字,jtf2指的是第二个数字。“它不显示错误。”是的,它显示错误。
actionPerformed
方法中发生异常。添加一些System.out.println语句以确定发生异常的原因。(提示:System.out.println(s1);System.out.println(s2);
)