Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我的GUI应用程序无法正常工作。不会产生随机数_Java_User Interface - Fatal编程技术网

Java 我的GUI应用程序无法正常工作。不会产生随机数

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

我正在用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;
    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);