文档详情

设计图形界面Swing和JFrame.ppt

发布:2017-06-16约字共58页下载文档
文本预览下载声明
Example1的另一种写法说明 编写GUI程序,经常通过继承JFrame定义新的框架类,在新的框架类中定义GUI界面及其组件。 比直接使用JFrame对象的好处:新框架类一经定义(设置),可多次使用(创建该类对象)。而直接使用JFrame对象需用一次,设置一次。 * 在框架中添加组件 JFrame的结构很复杂,它的内部包含一个叫内容面板(content pane)的容器。向JFrame添加组件不是直接将组件添加到JFrame,而是添加到它的内容面板中。 因此,向JFrame添加组件首先必须调用getContentPane( ) 方法获得JFrame的内容面板。 内容面板是Container类的对象,调用Container的add( )方法可以把组件加入内容面板。 * Example2:在框架窗口中添加组件 问题:在框架窗口中添加按钮组件,并在屏幕的中央显示框架。 分析: 默认情况下,框架显示在屏幕的左上角,左上角的坐标是(0,0),JFrame的setLocation(int x, int y)方法可以设置框架在屏幕上的位置。 Swing组件中的按钮用JButton表示,下列语句创建一个JButton对象:   JButton jb = new JButton(OK); // OK是按钮上显示的文本 * Example2:在框架窗口中添加组件 程序源代码: import java.awt.Container; import javax.swing.JButton; import javax.swing.JFrame; class ButtonFrame extends JFrame { ButtonFrame() { super(按钮和框架); JButton jb = new JButton(OK); // 创建按钮对象jb Container con = getContentPane(); // 获取框架的内容面板 con.add(jb); // 把按钮对象jb加入内容面板 } } * Example2:在框架窗口中添加组件 public class Example2 { public static void main(String[] args) { JFrame bf = new ButtonFrame(); //超类变量引用子类对象 bf.setSize(200, 150); bf.setLocation(400, 300); bf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); bf.setVisible(true); } } * Example2:在框架窗口中添加组件 * 程序运行结果: 补充说明 通过获取内容面板添加组件的方式形式上很复杂。从Java SE5.0开始JFrame可以直接调用add( )方法向内容面板添加组件。因此,上述ButtonFrame也可以写成: class ButtonFrame extends JFrame { ButtonFrame() { super(按钮和框架); JButton jb = new JButton(OK); add(jb); // 将按钮对象jb加入内容面板 } } * * 框架窗体JFrame Swing图形界面设计第一步生成一个顶层容器对象。 Swing包含多层次的嵌套空间,最高层为顶层容器,下一层为中间容器,称为内容窗格(ContentPane),所有组件(除菜单栏)都必须放在内容窗格。 Swing中顶层容器有JFrame、JDialog。 * JFrame 向JFrame中添加组件必须先取得ContentPane对象,再用add()方法把组件加入到该对象中。 两种方法将组件加到JFrame的内容窗格对象中: 使用JFrame的getContentPane()方法获得当前JFrame窗体的ContentPane对象,然后调用ContentPane对象的add()方法添加组件 首先生成一个容器对象作为JFrame窗体的内容面板,通常选用JPanel,然后设置它的布局,再用add()方法添加组件。 * 方法一 代码结构 JFrame jf=new JFrame(…);//创建窗口 ……. //设置窗口的各类属性 Container cp=jf.getContentPane(); //获取窗体的内容窗格 cp.setLayout(…); //设置内容窗格的布局 ……
显示全部
相似文档