由於是初學者,我不想介入佈局管理器,所以我只是在我的主JFrame中添加一個JPanel,併爲面板中的每個組件提供了特定的位置。但不知何故,則輸出方式太錯..將組件添加到JFrame中的JPanel中
frame = new JFrame(email + " (Offline)");
frame.setSize(400, 400);
frame.setLocation(0, 0);
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.setLayout(new FlowLayout());
frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
// out.println("BYE");
// out.flush();
frame.dispose();
thread.stop();
}
});
panel = new JPanel();
frame.add(panel);
chat = new JTextArea();
chat.setSize(400, 200);
chat.setLocation(0, 0);
chat.setEditable(false);
panel.add(chat);
panel.validate();
JLabel you = new JLabel("You:");
you.setSize(you.getPreferredSize());
you.setLocation(0, 210);
panel.add(you);
panel.validate();
input = new JTextArea();
input.setSize(200, 200);
input.setLocation(0, 220 + chat.getSize().height);
panel.add(input);
panel.validate();
send = new JButton("Send");
send.setSize(send.getPreferredSize());
send.setLocation(210, 220 + chat.getSize().height);
panel.add(send);
panel.validate();
frame.setVisible(true);
該幀的結果是文本區域是看不見的,一個你:標籤中間,旁邊就是它右側的按鈕..我是什麼在這裏失蹤?
佈局管理器的全部意義就是讓這個*更輕鬆*。 –
我必須說* amen * @BrianRoach剛發佈的內容。通過避免使用佈局管理器,你正在爲自己做一件大事。看看這個教程(谷歌會幫你找到它們),然後讓他們去......但是現在我要說避免GridBagLayout,因爲它和GroupLayout是最複雜的。 –
噢,我一直在檢查佈局,但它似乎並不像我想要的那樣非常靈活。但幸運的是,對於與我的問題完全相同的人,請將setLayout設置爲null。就像我在我的代碼panel.setLayout(null)。這將允許你自由地給你父母的每個組件。 –