zoukankan      html  css  js  c++  java
  • Swing中GridBagLayout效果展示

    GridBagLayout可以算是Swing里最好理解,最方便控制的布局,下面代码展示了一个GUI,留待日后备用。

    效果:

    代码:

    package com.hy;
    
    import java.awt.GridBagConstraints;
    import java.awt.GridBagLayout;
    import java.awt.Insets;
    import java.awt.Toolkit;
    
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JTextField;
    import javax.swing.border.EmptyBorder;
    
    public class FolderGui {
        public static void main(String[] args) {
            //-- 创建frame及进行相关测试
            JFrame frame=new JFrame("Pictures Show 图片幻灯展示");
            
            // 点击关闭按钮退出
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            
            // 关闭最大化功能
            //frame.setResizable(false);
            
            // 设置宽高
            frame.setSize(420, 150);
            
            // 取得屏幕宽度
            double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
            
            // 取得屏幕高度
            double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
            
            // 设置窗体居中显示
            frame.setLocation( (int) (width - frame.getWidth()) / 2,
            (int) (height - frame.getHeight()) / 2);
            
            //-- 添加组件
            JPanel panel=new JPanel();// 新建容器面板
            panel.setBorder(new EmptyBorder(5,5,5,5));// 设置边界
            panel.setLayout(new GridBagLayout());// 设置布局
            
            GridBagConstraints c=new GridBagConstraints();        
            c.fill=GridBagConstraints.HORIZONTAL;// 填充模式为水平充满
            
            c.weightx=0.0;// 权重0,表示不占用多余空间
            c.gridx=0;
            c.gridy=0;// 占左上
            panel.add(new JLabel("图片所在目录:"),c);
            
            c.weightx=1.0;// 权重1,多余空间全归属到此
            c.gridx=1;
            c.gridy=0;// 占右上
            c.insets=new Insets(0,5,0,0);// 左边填充五个像素
            panel.add(new JTextField("",15),c);
            
            c.weightx=0.0;
            c.gridx=0;
            c.gridy=1;// 占中左
            c.insets=new Insets(10,0,0,0);// 上边填充五个像素
            panel.add(new JLabel("图片展示间隔:"),c);
            
            c.weightx=1.0;
            c.gridx=1;
            c.gridy=1;// 占中右
            c.insets=new Insets(0,5,0,0);
            panel.add(new JTextField("",15),c);
            
            c.weightx=0.0;
            c.gridx=0;
            c.gridy=2;// 占下部
            c.insets=new Insets(5,0,0,0);
            c.gridwidth=2;// 跨两格
            c.fill=GridBagConstraints.CENTER;// 居中而不填充,取默认大小
            panel.add(new JButton("开始展示图片"),c);
            
            frame.add(panel);
            
            // 显示frame
            frame.setVisible(true);        
        }
    }

    END

  • 相关阅读:
    图论算法之查找强分支
    图论算法之拓扑排序的简单代码
    图论算法之最短路径
    由函数符号找不到联想到的动态链接过程
    linux下cp覆盖原so文件时引起的段错误原因确定
    java 中能否使用 动态加载的类(Class.forName) 来做类型转换?
    为什么java不支持多重继承?
    static inner class 什么时候被加载
    thinking in java 读书笔记 --- overriding private method
    java List排序方法 Comparator和Comparable
  • 原文地址:https://www.cnblogs.com/heyang78/p/15102653.html
Copyright © 2011-2022 走看看