资源简介
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 内部窗体\Internalfr
文件 3518 2003-11-08 22:32 实例21 内部窗体\Internalfr
文件 933 2003-11-08 22:14 实例21 内部窗体\MyInternalfr
文件 952 2003-11-08 22:14 实例21 内部窗体\MyInternalfr
目录 0 2008-09-20 10:20 实例21 内部窗体
----------- --------- ---------- ----- ----
7964 5
评论
共有 条评论