如果想要出現按鈕2占兩行的效果,必須按鍵3、按鈕4同時存在且同時可見。
- 如果缺少按鈕4,則按鈕2不會占兩行;
- 如果缺少按鈕3、4,則按鈕2也不會占兩行。
1 package com.wst.bj; 2 3 import java.awt.GridBagConstraints; 4 import java.awt.GridBagLayout; 5 6 import javax.swing.JButton; 7 import javax.swing.JFrame; 8 9 class GridBagText { 10 11 JFrame jframe = new JFrame("搜索"); 12 13 JButton jButton = new JButton("按鈕1"); 14 JButton jButton2 = new JButton("按鈕2"); 15 JButton jButton3 = new JButton("按鈕3"); 16 JButton jButton4 = new JButton("按鈕4"); 17 18 public GridBagText() { 19 20 init(); 21 } 22 23 private void init() 24 { 25 FrameUtil.initFram(jframe, 500, 700); 26 27 GridBagLayout gridBagLayout = new GridBagLayout(); 28 jframe.setLayout(gridBagLayout); 29 GridBagConstraints constraints = new GridBagConstraints(); 30 31 constraints.fill = GridBagConstraints.BOTH; 32 constraints.weightx = 1.0; 33 constraints.weighty = 1.0; 34 35 36 constraints.gridheight = 1; 37 constraints.gridwidth = GridBagConstraints.REMAINDER; 38 gridBagLayout.setConstraints(jButton, constraints); 39 jframe.add(jButton); 40 41 constraints.gridheight = 2; 42 constraints.gridwidth = 1; 43 gridBagLayout.setConstraints(jButton2, constraints); 44 jframe.add(jButton2); 45 46 constraints.gridheight = 1; 47 constraints.gridwidth = GridBagConstraints.REMAINDER; 48 gridBagLayout.setConstraints(jButton3, constraints); 49 jframe.add(jButton3); 50 gridBagLayout.setConstraints(jButton4, constraints); 51 jframe.add(jButton4); 52 53 54 jframe.setSize(jframe.getPreferredSize()); 55 jframe.setVisible(true); 56 // jframe.pack(); 57 } 58 }

1 package com.wst.bj; 2 3 import java.awt.GridBagConstraints; 4 import java.awt.GridBagLayout; 5 6 import javax.swing.JButton; 7 import javax.swing.JFrame; 8 9 class GridBagText { 10 11 JFrame jframe = new JFrame("搜索"); 12 13 JButton jButton = new JButton("按鈕1"); 14 JButton jButton2 = new JButton("按鈕2"); 15 JButton jButton3 = new JButton("按鈕3"); 16 // JButton jButton4 = new JButton("按鈕4"); 17 18 public GridBagText() { 19 20 init(); 21 } 22 23 private void init() 24 { 25 FrameUtil.initFram(jframe, 500, 700); 26 27 GridBagLayout gridBagLayout = new GridBagLayout(); 28 jframe.setLayout(gridBagLayout); 29 GridBagConstraints constraints = new GridBagConstraints(); 30 31 constraints.fill = GridBagConstraints.BOTH; 32 constraints.weightx = 1.0; 33 constraints.weighty = 1.0; 34 35 36 constraints.gridheight = 1; 37 constraints.gridwidth = GridBagConstraints.REMAINDER; 38 gridBagLayout.setConstraints(jButton, constraints); 39 jframe.add(jButton); 40 41 constraints.gridheight = 2; 42 constraints.gridwidth = 1; 43 gridBagLayout.setConstraints(jButton2, constraints); 44 jframe.add(jButton2); 45 46 constraints.gridheight = 1; 47 constraints.gridwidth = GridBagConstraints.REMAINDER; 48 gridBagLayout.setConstraints(jButton3, constraints); 49 jframe.add(jButton3); 50 // gridBagLayout.setConstraints(jButton4, constraints); 51 // jframe.add(jButton4); 52 53 54 jframe.setSize(jframe.getPreferredSize()); 55 jframe.setVisible(true); 56 // jframe.pack(); 57 } 58 }

1 package com.wst.bj; 2 3 import java.awt.GridBagConstraints; 4 import java.awt.GridBagLayout; 5 6 import javax.swing.JButton; 7 import javax.swing.JFrame; 8 9 class GridBagText { 10 11 JFrame jframe = new JFrame("搜索"); 12 13 JButton jButton = new JButton("按鈕1"); 14 JButton jButton2 = new JButton("按鈕2"); 15 // JButton jButton3 = new JButton("按鈕3"); 16 // JButton jButton4 = new JButton("按鈕4"); 17 18 public GridBagText() { 19 20 init(); 21 } 22 23 private void init() 24 { 25 FrameUtil.initFram(jframe, 500, 700); 26 27 GridBagLayout gridBagLayout = new GridBagLayout(); 28 jframe.setLayout(gridBagLayout); 29 GridBagConstraints constraints = new GridBagConstraints(); 30 31 constraints.fill = GridBagConstraints.BOTH; 32 constraints.weightx = 1.0; 33 constraints.weighty = 1.0; 34 35 36 constraints.gridheight = 1; 37 constraints.gridwidth = GridBagConstraints.REMAINDER; 38 gridBagLayout.setConstraints(jButton, constraints); 39 jframe.add(jButton); 40 41 constraints.gridheight = 2; 42 constraints.gridwidth = 1; 43 gridBagLayout.setConstraints(jButton2, constraints); 44 jframe.add(jButton2); 45 46 // constraints.gridheight = 2; 47 // constraints.gridwidth = GridBagConstraints.REMAINDER; 48 // gridBagLayout.setConstraints(jButton3, constraints); 49 // jframe.add(jButton3); 50 // gridBagLayout.setConstraints(jButton4, constraints); 51 // jframe.add(jButton4); 52 53 54 jframe.setSize(jframe.getPreferredSize()); 55 jframe.setVisible(true); 56 // jframe.pack(); 57 } 58 }
