GridBagLayout占多行效果注意

 

 如果想要出现按钮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 }
复制代码

 

posted @   LiuYanYGZ  阅读(2196)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示