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