02-swing_window类

来源:互联网 发布:合肥市大数据管理局 编辑:程序博客网 时间:2024/05/17 19:18

一, 顶层容器概述

    用Java进行图形编程时, 其组件 绘制在容器里
    这个容器就是顶层容器, 相当于一个窗口.
    顶层容器是进行图形编程的基础, 

    一切图形化的东西都必然 存在于 顶层容器中.


二, 顶层容器类

   可独立显示, 作为图形界面的最顶层窗口
    1) JFrame , 设计类似于Windows 系统中窗口形式的应用程序
    2) JDialog, 设计对话框, 类似于JFrame
    3) JApplet, 设计嵌入网页中的Java小程序

三, 实际开发图形界面

    如图:JFrame作为顶级窗口的层次图

      

    顶层容器(JFrame)
        |-- 菜单组件
        |-- 内容面板(JPanel)
              |-- 基本组件(JButton)
    1) 顶层容器 -> JFrame
    2) 内容面板, 菜单组件
    3) 基本组件, 布局


四, 在顶层容器中添加组件

1, 添加的组件的种类

    A) 添加内容面板(JPanel)
    B) 添加基本组件
    注意: 不能直接将基本组件添加到顶级容器中,
          只能将基本组件添加到顶级容器中的中间容器. 

2, 添加方式     

    1) 获取jFrame的内容面板jPanel, 在jPanel上添加 基本组件
        ① JPanel jPanel = jFrame.getContentPane();
        ② jPanel.add( 基本组件 );
    2) 新建一个jPanel, 将基本组件添加到 jPanel里, 最后将jPanel放入jFrame
        ① JPanel jPanel = new JPanel();
        ② jPanel.add( 基本组件 );
        ③ jFrame.setContentPane( jPanel );

3, 举例

    在顶层容器中添加内容面板(中间容器)
import javax.swing.*;/** * 在顶层容器中添加内容面板(中间容器) * 在内容面板上添加按钮(基本组件) */public class AddBaseComponent{public static void main(String[] args) {// 创建一个顶层容器类对象JFrame frame = new JFrame( "add content pane" );// 大小: 宽300, 高200frame.setSize(300, 200);// 点击 "X", 关闭 frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );// 可见性frame.setVisible( true );// 创建一个中间容器类对象JPanel contentPane = new JPanel();// 将中间容器 放入 顶层容器, 作为内容面板frame.setContentPane( contentPane );// 在 内容面板中 添加 按钮contentPane.add( new JButton( "happy button" ) );}}


4, 在顶层容器中添加菜单栏

import javax.swing.*;/** 将创建好的菜单, 放置在顶层容器中  *  嵌入菜单条:jFrame.setJMenuBar( jMenuBar ) *嵌入中间容器:jFrame.setContentPane( jPanel ) */public class AddMenuToJFrame {public static void main(String[] args) {// 顶层容器JFrame frame = new JFrame();// 尺寸frame.setSize( 300, 200 );// 关闭frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );// 标题frame.setTitle( "学生信息管理系统" );// 菜单条 组件JMenuBar menubar = new JMenuBar();// 将该菜单条组件 添加进 顶层容器frame.setJMenuBar( menubar );// 菜单 组件JMenu fileMenu = new JMenu( "文件" );JMenu editMenu = new JMenu( "编辑" );JMenu viewMenu = new JMenu( "视图" );// 将菜单组件 添加到 菜单条 menubar.add( fileMenu );menubar.add( editMenu );menubar.add( viewMenu );// 菜单项 组件JMenuItem openItem = new JMenuItem( "打开" );JMenuItem saveItem = new JMenuItem( "保存" );JMenuItem printItem = new JMenuItem( "打印" );JMenuItem exitItem = new JMenuItem( "退出" );// 将菜单项 添加到 菜单fileMenu.add( openItem );fileMenu.add( saveItem );fileMenu.addSeparator();// 分割线组件fileMenu.add( printItem );fileMenu.add( exitItem );// 内容面板JPanel contentPane = new JPanel();// 添加 按钮 到 内容面板contentPane.add( new JButton( "button" ) );// 将内容面板 添加到 顶层容器frame.setContentPane( contentPane );// 可见性// 注意, 可见性设置必须放最后, 否则不显示菜单条 frame.setVisible( true );}}


原创粉丝点击