我正在學習GridBagLayout
,並做到了連接,有兩個我已經使用New.setPreferredSize(new Dimension(70,23));
非常小的混亂
是標準的方式,使所有的按鈕大小相同JFrame組件的大小和位置
組件的2-配售不好看
現在看到有更多padding on all sides of components
,所以如何把它放在正確的方式from top left corner
,我應該減少的大小JFrame?
或使用frame.pack();
都工作,但不知道是什麼標準的做法(我曾經嘗試pagestart
等),
這是我的代碼看起來
frame= new JFrame("Hello ");
frame.setSize(300, 150);
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
frame.addWindowListener(this);
frame.setResizable(false);
frame.setLocation(0, 0);
p1= new JPanel (new GridBagLayout());
gbc = new GridBagConstraints();
lblname= new JLabel("Name");
gbc.gridx=0;
gbc.gridy=0;
p1.add(lblname, gbc);
textname = new JTextField(11);
gbc.gridx=1;
gbc.gridy=0 ;
p1.add(textname, gbc);
New= new JButton("New");
gbc.gridx=2;
gbc.gridy=0;
New.setPreferredSize(new Dimension(70,23));
p1.add(New, gbc);
lblEmail = new JLabel("Email ");
gbc.gridx=0;
gbc.gridy=1;
p1.add(lblEmail , gbc);
TextEmail = new JTextField(11);
gbc.gridx=1;
gbc.gridy=1;
p1.add(TextEmail,gbc);
Edit = new JButton("Edit") ;
gbc.gridx= 2 ;
gbc.gridy=1;
Edit.setPreferredSize(new Dimension(70,23));
p1.add(Edit , gbc);
lblgender= new JLabel("Gender");
gbc.gridx=0;
gbc.gridy=2;
p1.add(lblgender, gbc);
TextGender= new JTextField(11);
gbc.gridx=1;
gbc.gridy=2;
p1.add(TextGender, gbc);
Gender= new JButton("Gender");
gbc.gridx=2;
gbc.gridy=2;
Gender.setPreferredSize(new Dimension(70,23));
p1.add(Gender, gbc);
pre= new JButton("<<");
gbc.gridx=0;
gbc.gridy=3;
p1.add(pre, gbc);
count = new JTextField(5);
gbc.gridx=1;
gbc.gridy=3;
p1.add(count, gbc);
next= new JButton(">>");
gbc.gridx=2;
gbc.gridy=3;
next.setPreferredSize(new Dimension(70,23));
p1.add(next, gbc);
p1.setVisible(true);
frame.add(p1);
frame.setVisible(true);
要獲得最佳快速回復,請考慮創建併發布[sscce](http://sscce.org)。 – 2013-03-10 08:03:21
@HovercraftFullOfEels喜歡你的新口號,通過安德魯湯普森的;) – Mordechai 2013-03-10 08:05:58
是的,'pack()'是標準的做法。 – Mordechai 2013-03-10 08:06:48