zoukankan      html  css  js  c++  java
  • Java Swing1 基本框架

    package com.igswing.zmz;
    
    import javax.swing.JFrame;
    import javax.swing.JLabel;
    
    public class Swingone {
    	public static void display() {
    		/* 提供一个关于新创建的 JFrame 是否应该具有当前外观为其提供的 Window 装饰
    		 (如边框、关闭窗口的小部件、标题等等)的提示。*/
    		JFrame.setDefaultLookAndFeelDecorated(true);
    
    		// 创建及设置窗口
    		JFrame myFrame = new JFrame("Swing-one");
    		myFrame.setDefaultCloseOperation(myFrame.EXIT_ON_CLOSE);
    
    		// 添加标签
    		JLabel myLabel = new JLabel("This is a Test");
    		// 因为JFrame不能直接添加组件,需要用getContentPane()函数获取内容面板,再在内容面板上进行添加组件
    		// 和Panel的区别??
    		myFrame.getContentPane().add(myLabel);
    
    		// 显示窗口
    		// 这个方法就是依据你放置的组件设定窗口的大小 使之正好能容纳你放置的所有组件
    		//把缝隙吃掉,可能会比较小
    //		myFrame.pack();
    		myFrame.setSize(200, 200);
    		myFrame.setVisible(true);
    	}
    
    	public static void main(String[] args) {
    		//http://www.importnew.com/15761.html
            javax.swing.SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    display();
                }
            });
    	}
    }


    这个线程的写法我也是不太懂,可以参考这个//http://www.importnew.com/15761.html    ,然后问了WTteacher,解释如下(还是不懂):

    1.Runnable 不是线程,是一个可执行的操作(放入主线程的事件队列) 

    2. 第一部分是 回调 (异步操作)

    3. 在主线程中执行 display 方法

    4.在这貌似画蛇添足,但如果程序复杂 在子线程中可以这样访问 UI(貌似说错了,然后补充了)
    5.子线程中不能访问 UI,只有主线程才能操作 UI

  • 相关阅读:
    redis 内部数据结构 ziplist
    redis 内部数据结构 robj
    redis 内部数据结构 sds
    redis 内部数据结构 dict
    【工具篇 intellij idea】像eclipse的 Ctrl + T 那样查看类的继承结构
    【分享系列】+【提炼总结】一文掌控面试必备的TCP知识
    【搬砖系列】一图搞懂 取余 和 取模 运算
    IOS代理(初级)
    UITableView
    UITextField属性
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7256597.html
Copyright © 2011-2022 走看看