我試圖將一些組件放在 JPanel 中,當我在 JPanel 的 GridBagLayout 的“自定義布局”選項中按“測試布局”時,一切正常,但是當我運行程序時,它看起來不同。它應該是這樣的:相反,當我運行程序時,它看起來像這樣:該程序的結構如下:所以有兩個問題:密碼字段大于電子郵件地址字段。我已經嘗試將最小、最大和首選大小設置為 (14, 22) 到它們,但它不起作用。為什么按鈕是分開的,我怎樣才能讓它們連接起來?(右邊的按鈕有 0 個左邊的插圖)
3 回答

米琪卡哇伊
TA貢獻1998條經驗 獲得超6個贊
不要使用 setPreferredSize()。
每個 Swing 組件將根據組件的屬性確定自己的大小。在許多情況下,這將基于組件的文本。
對于沒有默認文本的文本字段,您應該創(chuàng)建如下組件:
//emailTextField = new javax.swing.JTextField();
//passwordField = new javax.swing.JPasswordField();
emailTextField = new javax.swing.JTextField(20);
passwordField = new javax.swing.JPasswordField(10);
因此組件可以確定其首選大小以顯示 20/10 個字符。(它實際上調整自己的大小以顯示“W”字符)。
此外,通常不需要設置組件的最小/最大大小,因為除非您填充單元格,否則 GridBagLayout 將遵循首選大小。

阿波羅的戰(zhàn)車
TA貢獻1862條經驗 獲得超6個贊
我不確定密碼字段,但對于單獨的按鈕,您可以創(chuàng)建一個帶有框布局的新面板。然后,您可以將按鈕放在那里。之后,您可以將新面板放入主面板中。這在我當前的項目中有效。希望它也適用于你的。
添加回答
舉報
0/150
提交
取消