大多数的Swing应用都被构建在基础的JFrame内部。

 

最简单的JFrame使用:

 

  1. import javax.swing.JFrame; 
  2.  
  3.  
  4. public class testSwing { 
  5.  
  6.     /** 
  7.      * @param args 
  8.      */ 
  9.     public static void main(String[] args) { 
  10.         // TODO Auto-generated method stub 
  11.  
  12.         JFrame frame = new JFrame("Hello Swing"); 
  13.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
  14.         frame.setSize(300100); 
  15.         frame.setVisible(true); 
  16.     } 
  17.  

其中行12new了一个JFrame,标题为Hello Swing,行13给窗体的X按钮添加关闭功能(默认X按钮无效),行14给窗体设置大小为宽度300,高度100,最后行15使窗体可见(默认是不可见的)。

效果图如下:

 

接下来通过在JFrame中添加一个JLabel来使程序复杂些:

 

  1. import java.util.concurrent.TimeUnit; 
  2.  
  3. import javax.swing.JFrame; 
  4. import javax.swing.JLabel; 
  5.  
  6.  
  7. public class testSwing { 
  8.  
  9.     /** 
  10.      * @param args 
  11.      */ 
  12.     public static void main(String[] args) throws Exception { 
  13.         // TODO Auto-generated method stub 
  14.  
  15.         JFrame frame = new JFrame("Hello Swing"); 
  16.         JLabel label = new JLabel("A Label"); 
  17.         frame.add(label); 
  18.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 
  19.         frame.setSize(300100); 
  20.         frame.setVisible(true); 
  21.         TimeUnit.SECONDS.sleep(1); 
  22.         label.setText("Hey! This is different!"); 
  23.     } 
  24.  

行16new了一个标签,其上的文本为“A Label”,行17将它添加到JFrame中,行21使程序“卡在当前行”一秒,行22在一秒后执行,它将标签的文本改成“Hey!This is different!”。

程序运行后的效果如下:

 

一秒后的效果如下: