0
我一直在做一些圖形用戶界面的東西來練習決賽,我想我已經掌握了基礎知識。但是,每當我嘗試將JTextField添加到我的JPanel時,我的JButton都會被擦除,整個界面就會消失。最終,當我點擊按鈕時,我希望文本區域發生變化,但我甚至無法看到文本區域。我知道我可能犯了一個真正的新手錯誤,所以請不要殺了我。下面的代碼不起作用 - 然而,一旦我脫離了JTextField,它運行良好。不能將JTextfield添加到JPanel
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import javax.swing.JTextField;
public class test5 {
private JFrame f;
private JPanel p;
private JButton b1;
private JTextField jt;
public test5() {
gui();
}
public void gui() {
f = new JFrame();
f.setVisible(true);
f.setSize(600,400);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jt = new JTextField(20);
jt.setEditable(false);
p = new JPanel();
p.setBackground(Color.YELLOW);
b1 = new JButton("TEST");
b1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Hey, hey, hey!");
jt.setText("Hello");
}
});
p.add(b1);
p.add(jt);
f.add(p, BorderLayout.SOUTH);
}
public static void main (String args[]) {
test5 test = new test5();
}
}
哦!感謝您的迴應。但爲什麼? – Aire
@Aire,默認情況下,所有組件的大小都是(0,0),所以它們不會被繪製。 pack()方法調用佈局管理器,該佈局管理器將根據佈局管理器的規則設置組件的大小/位置。 – camickr