总也睡不醒
一个人只拥有今生今世是不够的,他还应该拥有诗意的世界
posts - 3,  comments - 5,  trackbacks - 0
Swing API 包括18个公共包:
javax.accessibility 定义了用户界面组件与提供对这些组件进行访问的辅助技术之间的协定。
javax.swing 提供一组“轻量级”(全部是 Java 语言)组件,尽量让这些组件在所有平台上的工作方式都相同。
javax.swing.border 提供围绕 Swing 组件绘制特殊边框的类和接口。
javax.swing.colorchooser 包含供 JColorChooser 组件使用的类和接口。
javax.swing.event 供 Swing 组件触发的事件使用。
javax.swing.filechooser 包含 JFileChooser 组件使用的类和接口。
javax.swing.plaf 提供一个接口和许多抽象类,Swing 用它们来提供自己的可插入外观功能。
javax.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。
javax.swing.plaf.metal 提供根据 Java 外观(曾经代称为 Metal)构建的用户界面对象,Swing 的默认外观。
javax.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。
javax.swing.plaf.synth Synth 是一个可更换皮肤 (skinnable) 的外观,在其中可委托所有绘制。
javax.swing.table 提供用于处理 javax.swing.JTable 的类和接口。
javax.swing.text 提供类 DefaultEditorKit 和创建文本编辑器的支持类。
javax.swing.text.html 提供类 HTMLEditorKit 和创建 HTML 文本编辑器的支持类。
javax.swing.text.html.parser 提供默认的 HTML 解析器以及支持类。
javax.swing.text.rtf 提供一个类 (RTFEditorKit),用于创建富文本格式(Rich-Text-Format)的文本编辑器。
javax.swing.tree 提供处理 javax.swing.JTree 的类和接口。
javax.swing.undo 为应用程序(例如文本编辑器)中的撤消/恢复提供支持。

其中好多都不常用,最常用就是这两个:

  • javax.swing
  • javax.swing.event
下面看两个例子,作为编程时的参考。
例程1.1 HelloWorldSwing.java
/*
 * HelloWorldSwing.java 不需要其他文件
 
*/

import javax.swing.*;

public class HelloWorldSwing {
    
/**
     * 创建GUI并显示。
     * 为了线程安全,这个方法应该在事件调度线程中调用。
     
*/

    
public static void createAndShowGUI() {
        
// 创建窗口,并设置关闭窗口后退出程序
        JFrame frame = new JFrame("HelloWorldSwing");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        
// 添加一个label, label在Swing程序中随处可见
        JLabel label = new JLabel("Hello World");
        frame.getContentPane().add(label);

        
// 自动调整大小并显示窗口
        frame.pack();
        frame.setVisible(
true);
    }

    
public static void main(String[] args) {
        
// 让事件调度线程调用createAndShowGUI() 
        javax.swing.SwingUtilities.invokeLater(new Runnable() {
            
public void run() {
                createAndShowGUI();
            }

        }
);
    }

}


例程2.2 HelloWorldJFrame.java
/*
 * 这是一个HelloWorldSwing的JFrame版本
 * 不需要其他文件的支持
 
*/

import javax.swing.*;
import java.awt.event.*;

public class HelloWorldJFrame extends JFrame {
    
/**
     * 在构造方法中初始化组件
     
*/

    
public HelloWorldJFrame() {
        
// 设置标题
        setTitle("HelloWorldJFrame");

        
// 添加label
        JLabel label = new JLabel();
        label.setText(
"Hello World");
        getContentPane().add(label);
    }


    
public static void main(String[] args) {

        
// 创建窗体并设置关闭窗口时退出程序
        
// 在HelloWorldSwing中用了
        
//     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)
        
// 这里换了一种方法
        HelloWorldJFrame frame = new HelloWorldJFrame();
        WindowListener l 
= new WindowAdapter() {
                
public void windowClosing(WindowEvent e) {
                    System.exit(
0);
                }

        }
;
        frame.addWindowListener(l);

        
// 显示窗体
        frame.pack();
        frame.setVisible(
true);
    }

}

posted on 2008-01-21 09:41 总也睡不醒 阅读(561) 评论(0)  编辑  收藏 所属分类: JavaSE

只有注册用户登录后才能发表评论。


网站导航:
 
一点一滴,完善自我

<2008年1月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

常用链接

留言簿

随笔分类

随笔档案

文章分类

文章档案

收藏夹

搜索

  •  

最新评论