swing入门Helloword

一、先上段标准的HelloWord:
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

public class HelloWorldSwing {

    /**
     * 创建并显示GUI。出于线程安全的考虑,
     * 这个方法在事件调用线程中调用。
     */
    private static void createAndShowGUI() {
        // 确保一个漂亮的外观风格
//        JFrame.setDefaultLookAndFeelDecorated(true);

        // 创建及设置窗口
        JFrame frame = new JFrame("HelloWorldSwing");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置点击“x”后关闭程序
        frame.setSize(300, 200);

        //创建一个面板
        JPanel panel = new JPanel();

        // 添加 "Hello World" 标签
        JLabel label = new JLabel("Hello World");
        panel.add(label);
        frame.getContentPane().add(panel);
        frame.setLocationRelativeTo(null);//居中

        // 显示窗口
//        frame.pack();//根据窗口里面的布局及组件的preferedSize来确定frame的最佳大小
        frame.setVisible(true);
    }

    public static void main(String[] args) {
        // 显示应用 GUI
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
}

解释一下
1. 第一句“确保一个漂亮的外观风格”是某些程序加上的,我为什么注释上了?
没这句的效果:
hellword
有这句的效果:
helloWord2
反正我是感觉更丑了(可能有其他什么好处吧)
2. “frame.pack();”也是在很多helloWord里可以看到的,我也注释了。后面有解释:加上这句话代表:窗口的大小是根据里面的内容自动调节的,上面的设置窗口大小就失效了,现在里面只有一个小lable,加上这句话,这个窗口就太小了是这个样子的:
helloword3
3. 最后启动的时候为什么用SwingUtilities,一句话说不清楚,给个链接:
Swing线程之SwingUtilities.invokeLater解释【有兴趣可以研读一下,否则就按固定写法吧】

二、布局管理器

不管用什么GUI(这不念“鬼”啊..),布局问题肯定绕不开
Swing布局管理器介绍
强调一下默认的也是比较常用的布局管理器:边界布局管理器
它分为东、西、南、北、中,如下图所示。
buju
默认是放中间、哪个位置没指定,哪个位置就被别的指定位置“挤”掉(默认只有一个“中”,所以挤掉了其他四个位置,占据整个窗口)


这就是我认为学习swing重要也是基础的两点,至于其他的功能,我也没有更深的研究,等我有了新的认识,再来补充这篇博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值