`

Java Swing 布局管理器介绍

阅读更多

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 布局管理器 Java Swing 中的布局管理器是指在 Swing 应用程序中对组件进行布局和排列的机制。布局管理器是容器中的组件进行定位和整形的关键组件。在 Java 中,AWT 提供了五种类型的布局管理器:...

    javaSwing布局管理实例

    本实例将深入探讨Java Swing的布局管理器及其应用。 首先,Java Swing 提供了几种内置的布局管理器,包括 FlowLayout、BorderLayout、GridLayout、CardLayout 和 GroupLayout。每种布局管理器都有其特定的用途和...

    Java Swing组件布局管理器之FlowLayout(流式布局)入门教程

    Java Swing 组件布局管理器中有多种布局管理器,今天我们主要介绍 FlowLayout(流式布局),它是最简单、最基础的一个布局管理器。 FlowLayout 也称为流式布局,它的特点是内部控件像水流一样,从前到后按顺序水平...

    Swing布局管理器

    ### Swing布局管理器详解 #### 一、布局管理器概览 在Java图形用户界面编程中,Swing作为一套强大的工具包,为开发者提供了丰富的组件和功能,其中布局管理器是构建美观且易于维护的GUI应用程序的关键部分。布局...

    java swing 布局管理

    Java Swing 提供了多种内置的布局管理器,每种都有其特定的用法和效果: 1. ** FlowLayout **:流式布局,按照从左到右,从上到下的顺序排列组件。当一行无法容纳所有组件时,会在下一行继续放置。 2. ** ...

    java swing 布局所需组件formlayout所需jar包 GUI FormLayout

    java swing 布局所需组件formlayout所需jar包 jgoodies-common-1.6.0 jgoodies-forms-1.7.2 本人在烽火期间,使用的就是FormLayout布局,简单易用、功能强大,适用于swing企业和感兴趣的Java可视化兴趣爱好者。如果...

    Java GUI Swing 布局管理器篇

    Java GUI Swing 布局管理器篇

    Java Swing CardLayout卡片布局的实现示例

    Java Swing CardLayout 卡片布局是 Java 中的一种布局管理器,它将容器中的每个组件看作一张卡片,一次只能看到一张卡片,容器则充当卡片的堆栈,默认显示第一张卡片。CardLayout 构造方法可以创建一个间距大小为 0 ...

    Java Swing布局管理器GridLayout例子.doc

    总结来说,`GridLayout` 是Java Swing中的一个简单但实用的布局管理器,适用于需要将组件均匀分布的场景,例如棋盘游戏或者选项卡式界面。通过调整行数、列数和间距,可以轻松创建出满足需求的布局效果。

    基于 java swing 开发的资源管理器。使用 java swing 美化包beautyeye对原生的 java.zip

    1. **Java Swing**:Swing是Java AWT(Abstract Window Toolkit)的扩展,提供了一套轻量级的组件,支持事件处理、布局管理、模型-视图-控制器设计模式。它使用JavaBeans组件架构,允许开发者创建可重用的组件,并且...

    java swing图书管理系统(eclipse+MySQL)

    开发者使用Swing组件如JFrame、JButton、JLabel、JTable等,通过布局管理器(如BorderLayout、GridLayout、FlowLayout等)组织这些组件,实现用户友好的交互界面。 接下来,我们谈谈MySQL数据库。MySQL是一个开源、...

    java swing漂亮界面 超酷 javaswing教程

    在“Java Swing漂亮界面 超酷 JavaSwing教程”中,我们主要会探讨如何利用Swing来设计美观且用户友好的界面。Swing组件的一大优点是它们是轻量级的,这意味着它们完全由Java代码实现,而不是依赖于操作系统提供的...

    java(swing)+ mysql实现学生信息管理系统

    * 了解如何使用 Java Swing 布局管理机制来布局图形用户界面。 七、Java Swing 表格组件 * 了解 Java Swing 表格组件的使用方法,如 JTable、AbstractTableModel 等。 * 了解如何使用 Java Swing 表格组件来显示...

    java Swing开发的资源管理器带源码

    本资源管理器就是使用Java Swing进行开发的,这意味着它利用了Swing的各种组件和设计模式来实现文件和目录的浏览、操作等功能。 Swing 提供了一系列的组件,如JFrame(主窗口)、JPanel(面板)、JButton(按钮)、...

    java swing漂亮界面(超酷) javaswing教程

    文档"javaswing教程.doc"应该包含了详细的步骤、实例代码以及最佳实践,帮助你深入理解和掌握Java Swing的界面设计技巧。 总之,Java Swing不仅是一个强大的工具集,也是开发者实现桌面应用创新设计的关键。通过这...

    基于 java swing 开发的资源管理器

    基于Java Swing开发的资源管理器允许用户以类似操作系统文件管理器的方式浏览、操作文件和目录。 在这个项目中,“基于 Java Swing 开发的资源管理器”很可能是一个独立的应用程序,它实现了文件和目录的浏览、创建...

    JavaSwing图书管理系统.zip

    JavaSwing图书管理系统是一个基于Java Swing技术开发的用于图书管理的应用程序。Swing是Java标准库中的一个组件,主要用于构建图形用户界面(GUI),它提供了丰富的控件和布局管理器,使得开发者能够创建功能完善的...

    java swing管理系统源码 程序 代码 图形界面(11套).zip

    本压缩包包含了11套完整的Java Swing管理系统源码,这些源码对于学习和理解Java GUI编程具有很高的价值。下面我们将深入探讨Java Swing的核心概念、特性以及在开发管理系统中的应用。 1. **Java Swing基本组件** -...

    java_swing窗体布局

    理解并熟练掌握这些布局管理器对于构建用户友好的Java Swing应用至关重要。通过灵活运用,开发者可以创建出美观、响应迅速且功能丰富的图形用户界面。在实际开发过程中,可能会遇到各种布局挑战,如需要自定义组件的...

Global site tag (gtag.js) - Google Analytics