我是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的值。
答案 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();
}
});