我正在尝试学习 Java 并想编写一个 GUI。尝试从一个简单的计算器开始,我在试验 JTextField 时遇到了一个问题。编译以下代码有时会导致一个空框架,有时会导致其中包含面板和按钮。
无论我使用 javac 还是 eclipse,都会发生这种情况。我使用以下代码:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Mainframe extends JFrame {
private JButton button1;
private JPanel mainpanel;
private JLabel headline;
private Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
JTextField number1;
JTextField number2;
public Mainframe(String s) {
super(s);
setSize(screenSize.width, screenSize.height);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
mainpanel = new JPanel(new BorderLayout(100, 100));
number1 = new JTextField(20);
number2 = new JTextField(20);
headline = new JLabel("Simple Calculator");
button1 = new JButton("1");
mainpanel.add(headline, BorderLayout.NORTH);
mainpanel.add(number1, BorderLayout.SOUTH);
mainpanel.add(button1, BorderLayout.EAST);
mainpanel.add(number2, BorderLayout.CENTER);
mainpanel.validate();
getContentPane().add(mainpanel);
}
public static void main(String[] args) {
Mainframe mainframe1 = new Mainframe("Title");
}
}
我想重复一遍:这不是关于 javac 和 eclipse 之间的差异,而是关于我在两个编译器中遇到的问题/发生 - 有时结果是想要的,有时不是。为什么会这样?
提前致谢!