Java Swing 的布局管理器功能很强,其中的GridBagLayout 是JAVA 中最有弹性但也是最复杂的一种版面管理器,其它组件管理器如BorderLayout,FlowLayout 等不能设置没个组件该占多少版面空间,只能设置组件该放到那个位置,而在GridBagLayout 里,不仅能设置组件摆放的位置,也能设置组件的大小.GridBagLayout只有一种构造函数,但是GridBagLayout必须配合GridBagConstraint才能达到设置的效果,使用好GridBagLayout关键是使用好GridBagConstraint 的各个参数.以下例子中对几个参数进行了注释,请参考.
import javax.swing.*;
import java.awt.*;
/**
* Created by IntelliJ IDEA.
* User: Administrator
* Date: 2010-5-10
* Time: 9:43:42
*/
public class GridBagLayOutTest2 {
public static void main(String[] args) {
JFrame jf = new JFrame("界面");
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setSize(240, 180);
Toolkit toolkit = Toolkit.getDefaultToolkit();
Dimension screenSize = toolkit.getScreenSize();
double screenWith = screenSize.getWidth();
double screenHeight = screenSize.getHeight();
System.out.println("screenWith:" + screenWith);
System.out.println("screenHeight:" + screenHeight);
int x = (int) ((screenWith - jf.getWidth()) / 2);
int y = (int) ((screenHeight - jf.getHeight()) / 2);
jf.setLocation(x, y);
GridBagLayout gbl = new GridBagLayout();
JPanel jp = new JPanel(gbl);
jf.setContentPane(jp);
GridBagConstraints constraints=new GridBagConstraints();
// 当可用空间大于控件时,控件填充可用空间的方式,如在拖大窗口时,需 要重新填充可用空间,
// 共有4种方式,NONE,VERTICAL,HORIZONTAL,BOTH
constraints.fill = GridBagConstraints.BOTH;
// 当可用空间大于控件时,不填充控件的情况下或填充后还比可用空间小的情况下,要将组件放置在何处,有
//Center,NORTH,NORTHEAST,EAST,SOUTHER 等等.
constraints.anchor= GridBagConstraints.CENTER;
// 当窗口放大或缩小时控件放大或缩小的比例.
constraints.weightx=0.1;
constraints.weighty=0.1;
//设置组件之间彼此的间距,它有4个参数,分别是上,左,下,右
constraints.insets= new Insets(10,0,0,0);
constraints.ipadx=60;
constraints.ipady=0;
add(jp,new JTextField(15) ,constraints,0,0,5,1);
add(jp,new JButton("0-1"),constraints,0,1,1,1);
add(jp,new JButton("1-1"),constraints,1,1,2,1);
add(jp,new JButton("2-1"),constraints,3,1,1,1);
jf.setVisible(true);
}
public static void add(JPanel jp,Component comp, GridBagConstraints constraints, int x, int y, int w, int h) {
constraints.gridx =x;
constraints.gridy =y;
constraints.gridwidth =w;
constraints.gridheight=h;
jp.add(comp,constraints);
}
}
分享到:
相关推荐
Java Swing 布局管理器 Java Swing 中的布局管理器是指在 Swing 应用程序中对组件进行布局和排列的机制。布局管理器是容器中的组件进行定位和整形的关键组件。在 Java 中,AWT 提供了五种类型的布局管理器:...
本实例将深入探讨Java Swing的布局管理器及其应用。 首先,Java Swing 提供了几种内置的布局管理器,包括 FlowLayout、BorderLayout、GridLayout、CardLayout 和 GroupLayout。每种布局管理器都有其特定的用途和...
Java Swing 组件布局管理器中有多种布局管理器,今天我们主要介绍 FlowLayout(流式布局),它是最简单、最基础的一个布局管理器。 FlowLayout 也称为流式布局,它的特点是内部控件像水流一样,从前到后按顺序水平...
### Swing布局管理器详解 #### 一、布局管理器概览 在Java图形用户界面编程中,Swing作为一套强大的工具包,为开发者提供了丰富的组件和功能,其中布局管理器是构建美观且易于维护的GUI应用程序的关键部分。布局...
Java Swing 提供了多种内置的布局管理器,每种都有其特定的用法和效果: 1. ** FlowLayout **:流式布局,按照从左到右,从上到下的顺序排列组件。当一行无法容纳所有组件时,会在下一行继续放置。 2. ** ...
java swing 布局所需组件formlayout所需jar包 jgoodies-common-1.6.0 jgoodies-forms-1.7.2 本人在烽火期间,使用的就是FormLayout布局,简单易用、功能强大,适用于swing企业和感兴趣的Java可视化兴趣爱好者。如果...
Java GUI Swing 布局管理器篇
Java Swing CardLayout 卡片布局是 Java 中的一种布局管理器,它将容器中的每个组件看作一张卡片,一次只能看到一张卡片,容器则充当卡片的堆栈,默认显示第一张卡片。CardLayout 构造方法可以创建一个间距大小为 0 ...
总结来说,`GridLayout` 是Java Swing中的一个简单但实用的布局管理器,适用于需要将组件均匀分布的场景,例如棋盘游戏或者选项卡式界面。通过调整行数、列数和间距,可以轻松创建出满足需求的布局效果。
1. **Java Swing**:Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了一套轻量级的组件,支持事件处理、布局管理、模型-视图-控制器设计模式。它使用JavaBeans组件架构,允许开发者创建可重用的组件,并且...
开发者使用Swing组件如JFrame、JButton、JLabel、JTable等,通过布局管理器(如BorderLayout、GridLayout、FlowLayout等)组织这些组件,实现用户友好的交互界面。 接下来,我们谈谈MySQL数据库。MySQL是一个开源、...
在“Java Swing漂亮界面 超酷 JavaSwing教程”中,我们主要会探讨如何利用Swing来设计美观且用户友好的界面。Swing组件的一大优点是它们是轻量级的,这意味着它们完全由Java代码实现,而不是依赖于操作系统提供的...
* 了解如何使用 Java Swing 布局管理机制来布局图形用户界面。 七、Java Swing 表格组件 * 了解 Java Swing 表格组件的使用方法,如 JTable、AbstractTableModel 等。 * 了解如何使用 Java Swing 表格组件来显示...
本资源管理器就是使用Java Swing进行开发的,这意味着它利用了Swing的各种组件和设计模式来实现文件和目录的浏览、操作等功能。 Swing 提供了一系列的组件,如JFrame(主窗口)、JPanel(面板)、JButton(按钮)、...
文档"javaswing教程.doc"应该包含了详细的步骤、实例代码以及最佳实践,帮助你深入理解和掌握Java Swing的界面设计技巧。 总之,Java Swing不仅是一个强大的工具集,也是开发者实现桌面应用创新设计的关键。通过这...
基于Java Swing开发的资源管理器允许用户以类似操作系统文件管理器的方式浏览、操作文件和目录。 在这个项目中,“基于 Java Swing 开发的资源管理器”很可能是一个独立的应用程序,它实现了文件和目录的浏览、创建...
JavaSwing图书管理系统是一个基于Java Swing技术开发的用于图书管理的应用程序。Swing是Java标准库中的一个组件,主要用于构建图形用户界面(GUI),它提供了丰富的控件和布局管理器,使得开发者能够创建功能完善的...
本压缩包包含了11套完整的Java Swing管理系统源码,这些源码对于学习和理解Java GUI编程具有很高的价值。下面我们将深入探讨Java Swing的核心概念、特性以及在开发管理系统中的应用。 1. **Java Swing基本组件** -...
理解并熟练掌握这些布局管理器对于构建用户友好的Java Swing应用至关重要。通过灵活运用,开发者可以创建出美观、响应迅速且功能丰富的图形用户界面。在实际开发过程中,可能会遇到各种布局挑战,如需要自定义组件的...