1.为了支持图形用户界面程序设计,java1.0的标准类库中包含一个抽象窗口工具箱(Abstract Window Toolkit,AWT).
这个工具箱极不成熟,其编程模型也不是面向对象的,有很大的局限性.为此,java1.2最终决定放弃AWT中的GUI,而是添加了一个Swing库.
Swing组件不仅可以完全替代AWT组件,而且提供了更多的复杂组件.
必须注意GUI程序设计是,不能混用AWT组件和Swing组件(例如不能将javax.swing.JList添加到java.awt.Frame中).所用Swing组件的类名以字母J开头,以区别AWT组件.
注意:Swing是基于AWT架构之上的,它没有完全替代AWT.
创建框架:
1 import java.awt.Container; 2 3 import javax.swing.JButton; 4 import javax.swing.JFrame; 5 6 public class FrameDmo { 7 public static void main(String[] args) { 8 JFrame frame = new JFrame("测试JFrame"); 9 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//框架关闭时结束运行 10 frame.setSize(500, 300);//设置框架大小 11 frame.setVisible(true);//显示框架 12 } 13 }
setDefaultCloseOperation()告诉程序关闭当前框架时应该做什么.JFrame.Exit_ON_CLOSE就是告诉程序关闭程序是结束运行.否则关闭框架后,程序没有结束运行.
创建框架后,就可以添加组件了
1 import java.awt.Container; 2 3 import javax.swing.JButton; 4 import javax.swing.JFrame; 5 6 public class FrameDmo { 7 public static void main(String[] args) { 8 JFrame frame = new JFrame("测试JFrame"); 9 JButton button=new JButton("按钮"); 10 //取得框架的内容窗格 11 Container container=frame.getContentPane(); 12 //将框架添加到框架的内容窗格中 13 container.add(button); 14 //框架关闭时结束运行 15 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 16 //设置框架大小 17 frame.setSize(500, 300); 18 //显示框架 19 frame.setVisible(true); 20 } 21 }
java SE5之前,如果要将某个组件添加到框架中,必须首先调用类JFrame中的getContentPane取得框架的内容窗格,
然后通过该内容窗格调用方法add将组件添加到内容窗格中.例如上面的例子.
内容窗格委托.
1 import javax.swing.JButton; 2 import javax.swing.JFrame; 3 4 public class FrameWithButton1 extends JFrame { 5 public FrameWithButton1(){ 6 JButton button=new JButton("按钮"); 7 add(button);//javaSE5之后采用 8 } 9 public static void main(String[] args) { 10 FrameWithButton1 frame=new FrameWithButton1(); 11 frame.setTitle("将一个按钮添加到框架中"); 12 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 13 frame.setSize(500,300); 14 frame.setVisible(true); 15 } 16 }
需要将组件添加到其内容窗格的容器有JFrame,JDialog,JApplet,JInternalFrame,jWindow.
时间: 2024-10-29 19:11:12