![](/img/trans.png)
[英]JTextField only shows as a slit Using GridBagLayout, need help
[英]Need help using GridBagLayout
我想在ID ..下方設置密碼標簽和文本字段。但是我是GriBagLayout的新手。
我希望你能幫助我。
這是我的代碼:
class LoginPanel extends JPanel {//login components
private JButton exitbtn = new JButton("Exit");
private JLabel idLabel = new JLabel("Staff ID : ");
private JTextField idJtf = new JTextField(10);
private JLabel pwLabel = new JLabel("Password : ");
private JPasswordField pwJtf = new JPasswordField(10);
LoginPanel() {
setOpaque(false);
setLayout(new GridBagLayout());
setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
//add(new JLabel("Staff ID: ")); add(new JTextField(10));
//add(new JLabel("Password: ")); add(new JPasswordField(10));
add(idLabel);
add(idJtf);
add(pwLabel);
add(pwJtf);
//add(exitbtn);
}
}
就像閱讀本教程一樣簡單:GridBagLayout
如果您熟悉使用表創建HTML頁面,那么GridBagLayout應該很容易
將控件一個放置在另一個下方就像將它們放置在具有單列的表格中一樣。 這意味着您需要將0設置為列號,將[0..3]設置為行號:
GridBagConstraints c = new GridBagConstraints();
int rowNum = 0
c.gridx = 0;
c.gridy = rowNum;
add(idLabel, c);
c.gridy++;
add(idJtf, c);
c.gridy++;
add(pwLabel, c);
c.gridy++;
add(pwJtf, c);
但是對於如此簡單的布局,您可以使用其他布局管理器
幫個忙,停止使用GridBagLayout。 GridBagLayout是上一個時代的布局管理器。 我會在所有“官方” Oracle Java文檔中意識到這一點,但是大多數人現在已經避免了這一天(並且有充分的理由)。 對於復雜布局,GridBag可以解決的一個很好的選擇是Jgoodies FormLayout( http://www.jgoodies.com/freeware/libraries/forms/ )。 我向您保證,您將保持理智,生活質量將得到顯着改善:-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.