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

  • 相关阅读:
    how to pass a Javabean to server In Model2 architecture.
    What is the Web Appliation Archive, abbreviation is "WAR"
    Understaning Javascript OO
    Genetic Fraud
    poj 3211 Washing Clothes
    poj 2385 Apple Catching
    Magic Star
    关于memset的用法几点
    c++ 函数
    zoj 2972 Hurdles of 110m
  • 原文地址:https://www.cnblogs.com/zhangmingzhao/p/7256597.html
Copyright © 2011-2022 走看看