自己想做个小程序,却在布局上犯了难,使用FlowLayout和BorderLayout这些功能不够强大,使用GridBagLayout却不会,只好求助于文档了。...不过幸好它有实例,经过在网上查阅和推敲实例,终于对GridBagLayout的使用有了一个成型的了解,拿出来与大家分享。...GridBagLayout是一个灵活的布局管理器,部件如果想加入其中需借助GridBagConstraints,其中有若干个参数,解释如下: gridx/gridy:组件的横纵坐标 gridwidth:...gridbag = new GridBagLayout(); GridBagConstraints c = new GridBagConstraints(); setFont...要理解GridBagLayout,最好从例子的理解开始,呵呵。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
GridBagLayout是一个灵活的布局管理器,部件如果想加入其中需借助GridBagConstraints,其中有若干个参数,解释如下: gridx/gridy:组件的横纵坐标 gridwidth...java API说明如下:“每个由 GridBagLayout 管理的组件都与 GridBagConstraints 的实例相关联。...例如,如下几行代码就可以添加其它组件: GridBagLayout gridbag = new GridBagLayout(); GridBagConstraints...的对象出来,以便GridBagLayout使用。...构造函数: GirdBagLayout()建立一个新的GridBagLayout管理器。 GridBagConstraints()建立一个新的GridBagConstraints对象。
Java开发GUI之GridBagLayout布局 GridBagLayout布局管理器是比GridLayout布局更加强大的表格布局。...GridLayout进行的表格布局其中元素尺寸相同,而GridBagLayout则可以灵活配置其中元素的尺寸和位置。...同样,GridBagLayout的使用也更加复杂,其布局依赖GridBagConstraints类。 ...= new GridBagLayout(); GridBagConstraints constraints = new GridBagConstraints(); Panel pannel =...GridBagLayout类中常用方法列举如下: //构造方法 public GridBagLayout (); //设置组件的布局 public void setConstraints(Component
GridBagLayout(网格包布局) GridBagLayout 是一种非常强大且灵活的布局管理器。它允许在网格中精确控制每个组件的大小、位置以及跨越的单元格数。...GridBagLayoutExample { public static void main(String[] args) { Frame frame = new Frame("GridBagLayout...Example"); GridBagLayout gridBagLayout = new GridBagLayout(); frame.setLayout(gridBagLayout...布局管理器时,GridBagConstraints 是一个非常重要的类,它用于定义每个组件在 GridBagLayout 网格中的约束(即布局规则)。...精确控制:使用 GridLayout 或 GridBagLayout。 多卡片切换:使用 CardLayout
java.awt.Container; import java.awt.FlowLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout...JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS); // 将panel2的布局设置为GirdBagLayout GridBagLayout...gridBagLayout = new GridBagLayout(); panel2.setLayout(gridBagLayout); GridBagConstraints constraints...GridBagConstraints.BOTH; // 窗口放大时,长度和宽度 constraints.weightx = 1.0; constraints.weighty = 1.0; gridBagLayout.setConstraints...(scrollPane, constraints); constraints.fill = GridBagConstraints.HORIZONTAL; gridBagLayout.setConstraints
文章目录 一、GridLayout 网格布局 二、GridLayout 构造函数 三、GridLayout 网格布局代码示例 四、GridBagLayout 网格包布局 一、GridLayout 网格布局...BorderLayout.CENTER); // 自定设置合适的大小 frame.pack(); frame.setVisible(true); } } 执行结果 : 四、GridBagLayout...网格包布局 ---- GridBagLayout 网格包布局 , 是在 GridLayout 网格布局的基础上 , 单个组件可以占用多个网格 , 占用的多个网格的大小形状也可以任意设置 , 每个组件都可以占用多行和多列的网格..., 即 m x n 大小的网格 , 如 : 占用 1 x 2 的网格 , 占用 3 x 4 的网格 ; 如果 GridBagLayout 网格包布局所在的 窗口 大小改变 , 对应的 网格 也会被 拉伸或压缩...; 向 使用 GridBagLayout 网格包布局 的 Container 容器中 添加 Component 组件时 , 需要指定添加的 组件具体占的 网格 行列数 ; 可借助 GridBagConstaints
说明:GridBagLayout只有一个无参的构造器,要使用它就必须用setConstraints(Component comp,GridBagConstraints constraints)将它和GridBagConstraints...当GridBagLayout与无参的GridBagConstraints关联时,此时它就相当于一个GridLayout,只不过,用GridLayout布局的组件会随着窗口的变 大(小)而变 大(小)。...但GridBagLayout 不会,因此,这就是我们使用GridBagConstants来设置各个约束条件的目的!...======================================================================================= 建议:运用GridBagLayout...g = new GridBagLayout(); f.setLayout(g); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE
static void main(String[] args) { demo_7_1 test=new demo_7_1(); } } class demo_7_1 extends JFrame { GridBagLayout...gridbaglayout=new GridBagLayout(); GridBagConstraints gridbagconstraints; JPanel jp; JButton jbutton1...// gridbagconstraints.gridwidth=4;//表示该组件为该行中的最后一行 // gridbagconstraints.gridheight=2; jp.setLayout(gridbaglayout...jbutton5”); jp.add(jbutton1); jp.add(jbutton2); jp.add(jbutton3); jp.add(jbutton4); jp.add(jbutton5); gridbaglayout.setConstraints
12.5.1 GridBagLayout GridBagLayout类是在GridLayout类基础上提供的更为复杂的布局管理器。...与GridLayout布局管理器不同的是,GridBagLayout类允许容器中各个组件的大小不相同,还允许单个组件所在的显示区域占多个网格。...使用GridBagLayout布局管理器的关键在于GridBagConstraints对象,在这个对象中设置相关属性,然后调用GridBagLayout对象的setConstraints()方法建立对象和受控组件直接的关联...gridBagLayout, GridBagConstraints constraints) { 6 JButton jButton = new JButton(title);...布局管理器 14 GridBagLayout gbaglayout = new GridBagLayout(); 15 GridBagConstraints
五、GridBagLayout GridBagLayout 布局管理器的功能最强大 , 但也最复杂,与 GridLayout 布局管理器不同的是, 在GridBagLayout 布局管理器中,一个组件可以跨越一个或多个网格..."); //2.创建GridBagLayout对象 GridBagLayout gbl = new GridBagLayout(); //3.把Frame...gridBagLayout,GridBagConstraints gridBagConstraints){ gridBagLayout.setConstraints(c,gridBagConstraints...Swing 以下是一个使用GridBagLayout布局的Swing示例: import java.awt.GridBagConstraints; import java.awt.GridBagLayout...布局管理器 GridBagLayout layout = new GridBagLayout(); frame.setLayout(layout);
javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.border.EmptyBorder; import java.awt.GridBagLayout...contentPane.setBorder(new EmptyBorder(5, 5, 5, 5)); setContentPane(contentPane); GridBagLayout...gbl_contentPane = new GridBagLayout(); gbl_contentPane.columnWidths = new int[] { 0, 0 };
import java.awt.BorderLayout; import java.awt.GridBagLayout; import java.awt.event.ActionEvent...BorderLayout()); // 初始化面板 centerPanel = new JPanel(); // 设置面板布局 centerPanel.setLayout(new GridBagLayout
GridBagLayout 布局管理器的功能最强大 , 但也最复杂,与 GridLayout 布局管理器不同的是, 在GridBagLayout 布局管理器中,一个组件可以跨越一个或多个网格 , 并可以设置各网格的大小互不相同...当窗口的大小发生变化时 , GridBagLayout 布局管理器也可以准确地控制窗口各部分的拉伸 。 ...把组件添加到容器中; 案例: 使用Frame容器,设置GridBagLayout布局管理器,实现下图中的效果: 演示代码: import java.awt.*; public class...测试"); //2.创建GridBagLayout对象 GridBagLayout gbl = new GridBagLayout(); //3.把Frame...gridBagLayout,GridBagConstraints gridBagConstraints){ gridBagLayout.setConstraints(c,gridBagConstraints
5.6、GridBagLayout 可以完成复杂的布局,而且IDE对它有足够的支持,是一个很强大的Layout。不过它过于复杂,在此布局中,组件大小不必相同。...可以采用以下代码容器获得一个GridBagLayout: GridBagLayout gb=new GridBagLayout(); ContainerName.setLayout...它包含GridBagLayout类用来定位及调整组件大小所需要的全部信息。...GridBagLayout是是在GridLayout的基础上发展起来的,是五种布局策略中使用最复杂,功能最强大的一种,它是在GridLayout的基础上发展起来的。...因为GridBagLayout中每个网格都相同大小并且强制组件与网格大小相同,使得容器中的每个组件也都是相同的大小,显得很不自然,而且组件假如容器中必须按照固定的行列顺序,不够灵活。
======================================================================================= 建议:运用GridBagLayout...JButton b7 = newJButton(“Button7”); GridBagConstraints c = newGridBagConstraints(); GridBagLayout...g = new GridBagLayout(); f.setLayout(g); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE
java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.Graphics; import java.awt.GridBagLayout...northPanel,BorderLayout.CENTER); this.add(southPanel,BorderLayout.SOUTH); northPanel.setLayout(new GridBagLayout
本例程中的所有程序实验环境及测试工具:JDK1.7、Eclipse6.5 测试主程序: package practice; import java.awt.GridBagConstraints; import java.awt.GridBagLayout...setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //添加响应窗口关闭事件 getContentPane().setLayout(new GridBagLayout
java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Font; import java.awt.GridBagLayout...northPanel,BorderLayout.CENTER); this.add(southPanel,BorderLayout.SOUTH); northPanel.setLayout(new GridBagLayout
gridBagLayout = new GridBagLayout(); /*主要设置北部的布局*/ FlowLayout flowLayout = new FlowLayout...); leftpanel.setLayout(gridBagLayout); centerpanel.setLayout(gridBagLayout);...gridBagLayout = new GridBagLayout(); setSize(600, 500); setLocationRelativeTo...); leftpanel.setLayout(gridBagLayout); centerpanel.setLayout(gridBagLayout);...gridBagLayout = new GridBagLayout(); setSize(600, 500); setLocationRelativeTo
lblTitle.setFont(new Font(Constants.SysFontName, Font.PLAIN, 14)); lblTitle.setForeground(Color.WHITE); //网格包布局 GridBagLayout...pnlTopLayout = new GridBagLayout(); pnlTop.setLayout(pnlTopLayout); pnlTop.add(lblTitle); JLabel