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 }
标签:
java
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 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)