按JButtom获取JTextField上的随机数

时间:2018-04-10 12:17:59

标签: java

我是java的新手...最近我开始在java工作gui。我想制作一个程序,它会在TextField中给出一个随机值为A,B和C的二次方程,而在下一个TextField中它只显示X的值。

我可以弹出MessageDialog并提供所需的输出,但我无法在TextField中实现。在actionPerformed方法中,我设法使用JTextField在第一个和第二个setText()个对象中设置了所需的结果,但我无法让它们出现在显示中。

我的代码是:

package apple;
import apple.mouse2.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;


class mouse extends JFrame{
    String equ; String res;
    mouse2 m = new mouse2();
    JTextField eq; JTextField s;JButton g; JTextField eq1; JTextField s2;
    public mouse(){
    super("quadratic equation");
    setLayout(new FlowLayout());

    g = new JButton("Generate");
    g.addActionListener(
    new ActionListener(){
        public void actionPerformed(ActionEvent event){

            m.set();
            eq.setText(m.geteq());
            s.setText(m.getr());
        }
    }
    );    
    add(g);
    eq = new JTextField();
    eq.setEditable(false);
    add(eq);
    s = new JTextField(res);
    s.setEditable(false);
    add(s);
    }
}

在mouse2类中,我只生成了A,B和C的随机值,并计算了X1和X2的值。

2 个答案:

答案 0 :(得分:0)

你必须重新验证();框架。如果这不起作用,您还必须调用repaint();

答案 1 :(得分:0)

尝试在事件方法

中使用validate()或revalidate()
g.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent event){
        m.set();
        eq.setText(m.geteq());
        s.setText(m.getr());
        revalidate();
    }
});