• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-17
  • 语言: Java
  • 标签: 实例21  

资源简介

java100例之实例21 内部窗体(java绝对新手实例)

资源截图

代码片段和文件信息

import javax.swing.JInternalframe;
import javax.swing.JDesktopPane;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JMenuBar;
import javax.swing.Jframe;
import javax.swing.KeyStroke;

import java.awt.event.*;
import java.awt.*;
/**
 * 

title: 内部窗体演示


 * 

Description: 这是演示一个内部窗体。可以选择“新文档”菜单不停的生成内部窗体。


 * 

Copyright: Copyright (c) 2003


 * 

Filename: 


 * @author 杜江
 * @version 1.0
 */
public class InternalframeDemo extends Jframe
                               implements ActionListener {
    JDesktopPane desktop;
/**
 *
方法说明:构造器,添加窗体成员
 *
输入参数:
 *
返回类型:
 */
    public InternalframeDemo() {
        super(“InternalframeDemo“);

        //这里设置了一个比较大的窗体,给四周只留了50px的边界
        int inset = 50;
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        setBounds(inset inset
                  screenSize.width  - inset*2
                  screenSize.height - inset*2);
        
        //定义界面
        desktop = new JDesktopPane(); //桌面面板
        createframe(); //创建第一个内部窗体
        setContentPane(desktop);//将桌面添加到窗体
        setJMenuBar(createMenuBar());

        //设置托拽模式
        desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
    }
/**
 *
方法说明:组建菜单
 *
输入参数:
 *
返回类型:
 */
    protected JMenuBar createMenuBar() {
        JMenuBar menuBar = new JMenuBar();

        //定义一个菜单
        JMenu menu = new JMenu(“文件“);
        menu.setMnemonic(KeyEvent.VK_D);
        menuBar.add(menu);

        //定义“新文档”菜单
        JMenuItem menuItem = new JMenuItem(“新文档“);
        menuItem.setMnemonic(KeyEvent.VK_N);
        menuItem.setAccelerator(KeyStroke.getKeyStroke(
                KeyEvent.VK_N ActionEvent.ALT_MASK));
        menuItem.setActionCommand(“new“);
        menuItem.addActionListener(this);
        menu.add(menuItem);

        //定义“退出”菜单
        menuItem = new JMenuItem(“退出“);
        menuItem.setMnemonic(KeyEvent.VK_Q);
        menuItem.setAccelerator(KeyStroke.getKeyStroke(
                KeyEvent.VK_Q ActionEvent.ALT_MASK));
        menuItem.setActionCommand(“quit“);
        menuItem.addActionListener(this);
        menu.add(menuItem);

        return menuBar;
    }
/**
 *
方法说明:事件监听,对选择的菜单做出反映
 *
输入参数:ActionEvent e 事件
 *
返回类型:
 */
    public void actionPerformed(ActionEvent e) {
        if (“new“.equals(e.getActionCommand())) { //新文档
            createframe();
        } else { //退出
            quit();
        }
    }
/**
 *
方法说明:调用MyInternalframe类创建新的内部窗体,
 *
输入参数:
 *
返回类型:
 */
    protected void createframe() {
        MyInternalframe frame = new MyInternalframe();
        
        frame.setVisible(true); 
        desktop.add(frame);
        try {
            frame.setSelected(true);
        } catch (java.beans.PropertyVetoException e) {}
    }
/**
 *
方法说明:退出程序
 *
输入参数:
 *
返回类型:
 */
    protected void quit() {
        System.exit(0);
    }
/**
 *
方法说明:主方法
 *
输入参数:
 *
返回类型:
 */
    public static void main(String[] args) {
        JFram

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2561  2003-11-08 22:14  实例21 内部窗体\InternalframeDemo.class

     文件       3518  2003-11-08 22:32  实例21 内部窗体\InternalframeDemo.java

     文件        933  2003-11-08 22:14  实例21 内部窗体\MyInternalframe.class

     文件        952  2003-11-08 22:14  实例21 内部窗体\MyInternalframe.java

     目录          0  2008-09-20 10:20  实例21 内部窗体

----------- ---------  ---------- -----  ----

                 7964                    5


评论

共有 条评论

相关资源