大家好,请参见以下代码片段:
JFrame loginFrame = new JFrame("Login");
loginFrame.setSize(500,400);
JPanel loginPanel = new JPanel();
loginPanel.setLayout(new GridLayout(0,2));
JLabel header = new JLabel("Login");
JLabel header2 = new JLabel("blahvlah");
JLabel loginLabel = new JLabel("Login");
JTextField loginField = new JTextField(24);
JLabel passLabel = new JLabel("Password");
JTextField passField = new JTextField(24);
loginPanel.add(header);
loginPanel.add(header2);
loginPanel.add(loginLabel);
loginPanel.add(loginField);
loginPanel.add(passLabel);
loginPanel.add(passField);
loginFrame.add(loginPanel);
loginFrame.setVisible(true);
loginframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JTextFields存在于应用程序中,但我无法在其中输入任何内容?也没有光标,这是什么问题?另外,我关闭时的出口似乎不起作用?
谢谢
最佳答案
您发布的代码无法编译(在最后一行键入loginframe
而不是loginFrame
)。解决此问题后,以下程序:
public class JFrameTest {
public static void main(String[] args) {
JFrame loginFrame = new JFrame("Login");
loginFrame.setSize(500,400);
JPanel loginPanel = new JPanel();
loginPanel.setLayout(new GridLayout(0,2));
JLabel header = new JLabel("Login");
JLabel header2 = new JLabel("blahvlah");
JLabel loginLabel = new JLabel("Login");
JTextField loginField = new JTextField(24);
JLabel passLabel = new JLabel("Password");
JTextField passField = new JTextField(24);
loginPanel.add(header);
loginPanel.add(header2);
loginPanel.add(loginLabel);
loginPanel.add(loginField);
loginPanel.add(passLabel);
loginPanel.add(passField);
loginFrame.add(loginPanel);
loginFrame.setVisible(true);
loginFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
运行得很好。我可以在两个JTextFields中输入文本,也可以关闭JFrame: