刚开始学习Swing编程,参看Java指南,做了些笔记。可能有些旧,大家不要骂我哦!
这是我们第一个Swing的运行效果:
这是我对着指南敲进去的代码:
package Test;
import javax.swing.*;
public class HelloWorldSwing {
public static void createAndShowGUI(){
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("测试");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel label = new JLabel("Hello world Swing.");
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable(){
public void run(){
createAndShowGUI();
}
});
}
}
我是看不大懂^_^。
接着读下文:
这个程序示范了任何Swing程序都得有的四个部分:
1、导入相关的包(晕死,这个谁不知道啊?);
2、设置一个顶级容器(这个我也知道哦!早就在各种图形界面程序中深知了。);
3、显示这个容器;
4、管理线程。
没什么新东西,只是感觉这个东西创建窗口比MFC难多了。
大部分的Swing程序还需要导入两个AWT包:
import java.awt.*;
import java.awt.event.*;
有三个顶层Swing容器:JFrame、JDialog以及JApplet。
其中JFrame.setDefaultLookAndFeelDecorated(true);只可以用于1.4或者以后的版本。
所有的Swing组件都是从JComponent继承来的。
注意JLabel在JFrame的Content中,所有的可见组件(Menu和窗体装饰除外)都必须在窗体的Content中(和MFC一个样)。
期待1.5会有改进。
在以往的程序中,替代setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);该行代码的将是:
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
是的,这个我见多了。
最后是线程安全管理。
555,就这样开始啊?一点兴趣也没有。Sun什么时候才能让自己的教程更加有吸引力一些(几乎粗燥的排版和一直枯燥的行文。这还是人搞得吗?)?