資源簡介
java100例之實例21 內(nèi)部窗體(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:?內(nèi)部窗體演示
?*?Description:?這是演示一個內(nèi)部窗體。可以選擇“新文檔”菜單不停的生成內(nèi)部窗體。
?*?Copyright:?Copyright?(c)?2003
?*?Filename:?
?*?@author?杜江
?*?@version?1.0
?*/
public?class?InternalframeDemo?extends?Jframe
???????????????????????????????implements?ActionListener?{
????JDesktopPane?desktop;
/**
?*
方法說明:構(gòu)造器,添加窗體成員
?*
輸入?yún)?shù):
?*
返回類型:
?*/
????public?InternalframeDemo()?{
????????super(“InternalframeDemo“);
????????//這里設(shè)置了一個比較大的窗體,給四周只留了50px的邊界
????????int?inset?=?50;
????????Dimension?screenSize?=?Toolkit.getDefaultToolkit().getScreenSize();
????????setBounds(inset?inset
??????????????????screenSize.width??-?inset*2
??????????????????screenSize.height?-?inset*2);
????????
????????//定義界面
????????desktop?=?new?JDesktopPane();?//桌面面板
????????createframe();?//創(chuàng)建第一個內(nèi)部窗體
????????setContentPane(desktop);//將桌面添加到窗體
????????setJMenuBar(createMenuBar());
????????//設(shè)置托拽模式
????????desktop.setDragMode(JDesktopPane.OUTLINE_DRAG_MODE);
????}
/**
?*
方法說明:組建菜單
?*
輸入?yún)?shù):
?*
返回類型:
?*/
????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;
????}
/**
?*
方法說明:事件監(jiān)聽,對選擇的菜單做出反映
?*
輸入?yún)?shù):ActionEvent?e?事件
?*
返回類型:
?*/
????public?void?actionPerformed(ActionEvent?e)?{
????????if?(“new“.equals(e.getActionCommand()))?{?//新文檔
????????????createframe();
????????}?else?{?//退出
????????????quit();
????????}
????}
/**
?*
方法說明:調(diào)用MyInternalframe類創(chuàng)建新的內(nèi)部窗體,
?*
輸入?yún)?shù):
?*
返回類型:
?*/
????protected?void?createframe()?{
????????MyInternalframe?frame?=?new?MyInternalframe();
????????
????????frame.setVisible(true);?
????????desktop.add(frame);
????????try?{
????????????frame.setSelected(true);
????????}?catch?(java.beans.PropertyVetoException?e)?{}
????}
/**
?*
方法說明:退出程序
?*
輸入?yún)?shù):
?*
返回類型:
?*/
????protected?void?quit()?{
????????System.exit(0);
????}
/**
?*
方法說明:主方法
?*
輸入?yún)?shù):
?*
返回類型:
?*/
????public?static?void?main(String[]?args)?{
????????JFram
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2561??2003-11-08?22:14??實例21?內(nèi)部窗體\Internalfr
?????文件???????3518??2003-11-08?22:32??實例21?內(nèi)部窗體\Internalfr
?????文件????????933??2003-11-08?22:14??實例21?內(nèi)部窗體\MyInternalfr
?????文件????????952??2003-11-08?22:14??實例21?內(nèi)部窗體\MyInternalfr
?????目錄??????????0??2008-09-20?10:20??實例21?內(nèi)部窗體
-----------?---------??----------?-----??----
?????????????????7964????????????????????5
評論
共有 條評論