实验21 Java Swing的菜单栏Word文档格式.docx
- 文档编号:5734160
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:22
- 大小:76.44KB
实验21 Java Swing的菜单栏Word文档格式.docx
《实验21 Java Swing的菜单栏Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验21 Java Swing的菜单栏Word文档格式.docx(22页珍藏版)》请在冰点文库上搜索。
publicMenu21_1()
{
JMenuBarmenubar=newJMenuBar();
JMenufile=newJMenu("
File"
);
file.setMnemonic(KeyEvent.VK_F);
JMenuItemfileitem=newJMenuItem("
Exit"
fileitem.setMnemonic(KeyEvent.VK_E);
fileitem.setToolTipText("
ExitApplication"
fileitem.addActionListener(newActionListener()
{
publicvoidactionPerformed(ActionEvente)
{
System.exit(0);
}
});
file.add(fileitem);
menubar.add(file);
setJMenuBar(menubar);
setSize(500,500);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
}
publicclassApp21_1
publicstaticvoidmain(String[]args)
SwingUtilities.invokeLater(newRunnable()
publicvoidrun()
Menu21_1ex=newMenu21_1();
ex.setVisible(true);
}
);
图1:
显示菜单
importjavax.swing.ImageIcon;
classMenu21_2extendsJFrame{
publicMenu21_2(){
initUI();
publicfinalvoidinitUI(){
JMenuBarmenubar=newJMenuBar();
ImageIconicon=newImageIcon(getClass().getResource("
exit.png"
));
JMenufile=newJMenu("
file.setMnemonic(KeyEvent.VK_F);
JMenuItemeMenuItem=newJMenuItem("
icon);
eMenuItem.setMnemonic(KeyEvent.VK_E);
eMenuItem.setToolTipText("
Exitapplication"
eMenuItem.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEventevent){
});
file.add(eMenuItem);
menubar.add(file);
setTitle("
Simplemenu"
setSize(300,200);
publicclassApp21_2
publicstaticvoidmain(String[]args){
SwingUtilities.invokeLater(newRunnable(){
publicvoidrun(){
Menu21_2ex=newMenu21_2();
ex.setVisible(true);
显示一个菜单,其中一个项目。
选择退出菜单项,关闭该应用程序。
JMenuBarmenubar=newJMenuBar();
创建了一个菜单栏。
ImageIconicon=newImageIcon(getClass().getResource("
菜单中显示图标。
JMenufile=newJMenu("
file.setMnemonic(KeyEvent.VK_F);
setMnemonic()
方法创建菜单的快捷键,可以利用Alt+F快捷键。
eMenuItem.setToolTipText("
创建一个工具提示的菜单项。
带图标的菜单
二、子菜单
每个菜单都还可以有一个子菜单。
这样,我们可以组成命令行。
例如,可以把隐藏/显示各种工具栏像个人,地址栏,状态栏或导航栏到一个名为工具栏子菜单中的命令。
在菜单中,可以用一个简单的线作为单独的分离器。
通常将New命令,Open命令,Save命令,打印,打印预览命令相分离。
菜单命令同时也可以通过键盘快捷键来启动,但是需要定义菜单项的加速键。
importjavax.swing.KeyStroke;
classMenu21_3extendsJFrame{
publicMenu21_3(){
ImageIconiconNew=newImageIcon(getClass().getResource("
new.png"
ImageIconiconOpen=newImageIcon(getClass().getResource("
open.png"
ImageIconiconSave=newImageIcon(getClass().getResource("
save.png"
ImageIconiconExit=newImageIcon(getClass().getResource("
JMenuimp=newJMenu("
Import"
imp.setMnemonic(KeyEvent.VK_M);
JMenuItemnewsf=newJMenuItem("
Importnewsfeedlist..."
JMenuItembookm=newJMenuItem("
Importbookmarks..."
JMenuItemmail=newJMenuItem("
Importmail..."
imp.add(newsf);
imp.add(bookm);
imp.add(mail);
JMenuItemfileNew=newJMenuItem("
New"
iconNew);
fileNew.setMnemonic(KeyEvent.VK_N);
JMenuItemfileOpen=newJMenuItem("
Open"
iconOpen);
fileNew.setMnemonic(KeyEvent.VK_O);
JMenuItemfileSave=newJMenuItem("
Save"
iconSave);
fileSave.setMnemonic(KeyEvent.VK_S);
JMenuItemfileExit=newJMenuItem("
iconExit);
fileExit.setMnemonic(KeyEvent.VK_C);
fileExit.setToolTipText("
fileExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W,
ActionEvent.CTRL_MASK));
fileExit.addActionListener(newActionListener(){
file.add(fileNew);
file.add(fileOpen);
file.add(fileSave);
file.addSeparator();
file.add(imp);
file.add(fileExit);
Submenu"
setSize(360,250);
publicclassApp21_3
Menu21_3ex=newMenu21_3();
在这个例子中,我们创建了一个子菜单,菜单分离器和加速键。
JMenuimp=newJMenu("
file.add(imp);
一个子菜单,就像任何其他正常的菜单。
它被创建的方式相同。
我们只需添加一个菜单,现有的菜单。
fileExit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_W,
加速器是启动菜单项的快捷键。
在我们的例子中,通过按Ctrl+W键,我们关闭该应用程序。
file.addSeparator();
分隔符是一条水平线在视觉上分隔菜单项。
这样,我们可以将物品放入一些逻辑的地方。
图2:
子菜单
三、JCheckBoxMenuItem
可以选择或取消选定的菜单项。
如果选择此选项,菜单项通常会出现一个复选标记旁边。
如果没有选择或取消选择,菜单项没有出现一个复选标记。
像一个普通的菜单项,一个复选框菜单项可以有文本或与其相关联的图形图标,或两者兼而有之。
importjava.awt.BorderLayout;
importjavax.swing.BorderFactory;
importjavax.swing.JCheckBoxMenuItem;
importjavax.swing.JLabel;
importjavax.swing.border.EtchedBorder;
classJCheckBoxMenuextendsJFrame{
privateJLabelstatusbar;
publicJCheckBoxMenu(){
JMenuview=newJMenu("
View"
view.setMnemonic(KeyEvent.VK_V);
JCheckBoxMenuItemsbar=newJCheckBoxMenuItem("
ShowStatuBar"
sbar.setState(true);
sbar.addActionListener(newActionListener(){
if(statusbar.isVisible()){
statusbar.setVisible(false);
}else{
statusbar.setVisible(true);
view.add(sbar);
menubar.add(view);
statusbar=newJLabel("
Statusbar"
statusbar.setBorder(BorderFactory.createEtchedBorder(
EtchedBorder.RAISED));
add(statusbar,BorderLayout.SOUTH);
JCheckBoxMenuItem"
publicclassApp21_4{
JCheckBoxMenuex=newJCheckBoxMenu();
这个例子显示了一个的JCheckBoxMenuItem。
通过选择菜单项,我们切换状态栏的可见性。
JCheckBoxMenuItemsbar=newJCheckBoxMenuItem("
sbar.setState(true);
我们创建
的JCheckBoxMenuItem,默认情况下检查。
状态栏最初是可见的。
if(statusbar.isVisible()){
}else{
在这里,我们切换状态栏的可见性。
statusbar=newJLabel("
statusbar.setBorder(BorderFactory.createEtchedBorder(
状态栏是一个简单的JLabel组件。
我们把一个凸起EtchedBorder周围的标签,因此,它是可见的。
图3:
JCheckBoxMenuItem
四、弹出菜单
另一种类型的菜单是一个弹出式菜单。
它有时也被称为上下文菜单。
它通常表明,当我们右击一个组件。
我们的想法是,只提供命令,是相关的当前上下文。
假设我们有一个形象。
通过右键单击该图像上,我们得到了一个窗口的命令来保存,重新缩放,移动等的形象。
importjava.awt.Toolkit;
importjava.awt.event.MouseAdapter;
importjava.awt.event.MouseEvent;
importjavax.swing.JPopupMenu;
classPopupMenuextendsJFrame{
privateJPopupMenumenu;
privateToolkittoolkit;
publicPopupMenu(Stringtitle){
super(title);
this.initUI();
privatevoidinitUI(){
toolkit=this.getToolkit();
menu=newJPopupMenu();
JMenuItemmenuItemBeep=newJMenuItem("
Beep"
menuItemBeep.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
toolkit.beep();
menu.add(menuItemBeep);
JMenuItemmenuItemClose=newJMenuItem("
Close"
menuItemClose.addActionListener(newActionListener(){
menu.add(menuItemClose);
this.addMouseListener(newMouseAdapter(){
publicvoidmouseReleased(MouseEvente){
if(e.getButton()==MouseEvent.BUTTON3){
menu.show(e.getComponent(),e.getX(),e.getY());
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setSize(250,200);
this.setLocationRelativeTo(null);
publicclassApp21_5{
PopupMenupm=newPopupMenu("
JPopupMenu"
pm.setVisible(true);
我们的例子显示了两个命令的示范弹出菜单。
弹出菜单的第一个选项会发出蜂鸣声一声响,第二个会关闭该窗口。
在我们的例子中,我们创建了一个子菜单,菜单分隔符,并创建一个快捷键。
menu=newJPopupMenu();
要创建一个弹出式菜单,我们有一个类叫的JPopupMenu。
JMenuItemmenuItemBeep=newJMenuItem("
菜单项是相同的,与标准的JMenu
this.addMouseListener(newMouseAdapter(){
@Override
publicvoid
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验21 Java Swing的菜单栏 实验 21 Swing 菜单栏