• 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系统下误删除虚拟机的数据恢复案例
    【服务器数据恢复】MDisk重建导致vdisk丢失,上层Oracle数据库不可用的数据恢复案例
    【服务器数据恢复】Ext4文件系统fsck后mount不上并报错的数据修复案例
    不可强求
    我的幼稚观点
    《次第花开》
    参加一次比赛
    自制简单便宜单人火锅材料记录
    今天今天今天
    矫正牙齿
  • 原文地址:https://www.cnblogs.com/heyang78/p/15102653.html
Copyright © 2020-2023  润新知