[英]JTextField clears Jframe
我有一個JFrame,其中包含一個工作按鈕以及一個標簽。 該程序運行正常,當我單擊按鈕時,我會彈出一條消息,提示“正在啟動”。 但是,如果我嘗試添加JTextField,則在運行程序時,該框對於字段,按鈕或標簽來說是空白的。
沒有該字段的工作代碼如下。
JFrame frame = new JFrame("Test");
frame.setSize(750,300);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
JPanel panel = new JPanel(false);
JLabel label = new JLabel("The Game.");
JButton button = new JButton("Start");
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//Runs this code when button is pressed
JOptionPane.showMessageDialog(null, "Starting");
}
}
);
button.setContentAreaFilled(true);
button.setEnabled(true);
button.setToolTipText("Starts");
button.setVisible(true);
frame.add(panel);
panel.add(label);
panel.add(button);
帶有無效字段的代碼如下。
JFrame frame = new JFrame("Test");
frame.setSize(750,300);
frame.setLocationRelativeTo(null);
frame.setResizable(false);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
JPanel panel = new JPanel(false);
JLabel label = new JLabel("The Game.");
JButton button = new JButton("Start");
button.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
//Runs this code when button is pressed
JOptionPane.showMessageDialog(null, "Starting");
}
}
);
button.setContentAreaFilled(true);
button.setEnabled(true);
button.setToolTipText("Starts");
button.setVisible(true);
JTextField field = new JTextField("test", 20);
field.setEnabled(true);
field.setVisible(true);
frame.add(panel);
panel.add(label);
panel.add(button);
panel.add(field);
因此,以某種方式,這四行代碼清除了框架。
在最后一行(添加所有組件之后frame.setVisible(true)
調用frame.setVisible(true)
)。 您在添加組件之前先調用它。 構圖
如果你把
frame.pack(); or
frame.setVisible(true);
在代碼的底部。
嘗試移動您的: frame.setVisible(true);
作為最后的陳述。
無需將button的visible屬性顯式設置為true。 將面板添加到框架的Container中,然后在最后簡單地將名望的visible屬性設置為true。
frame.getContentPane().add(panel);
....
frame.setVisible(true);
看來您永遠都不會在最后看到框架。 為此,只需放入frame.setVisible(true);
在末尾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.