本题中,在窗口右侧添加了一个菜单,右侧为一个文本域,菜单有“File”和“Help”.“File”菜单中有菜单项“New”、“()pen”、“Save”、“Saveas”和“Exit”,其中“()pen”的快捷键为。“Save”的快捷键为.而“Help”菜

admin2013-12-02  18

问题 本题中,在窗口右侧添加了一个菜单,右侧为一个文本域,菜单有“File”和“Help”.“File”菜单中有菜单项“New”、“()pen”、“Save”、“Saveas”和“Exit”,其中“()pen”的快捷键为。“Save”的快捷键为.而“Help”菜单以及其中的菜单项“Index”和“About”设定了第一个字母为其快捷字母,通过鼠标单击任一个菜单项或通过快捷键以及快捷字母,都能在后台输入所选择的菜单项。
importjava.awt.*;
importjava.awl.event.*;
importjavax.swing.*;
importjavax.swing.event.*;
publicclassjava2extendsJFrame_____
{
privateJMenuhemsaveItem;
privateJMenuhemsaveAshem;
privateJPopupMenupopup;
privateJTextAreatextArea;
publicjava2(    )
(setTitle(”java2”);
setSize(400,300);
addWindowListener(newWindowAdapter(    ){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
textArea=newJTextArea(0,0);
ContainercontentPane=getContentPane();
contentPane.add(newJScrollPane(textArea)。
“Center”);
JMenuBarmenuBar=newJMenuBar();
menuBar.setLayout(newBoxLayout(menuBar。
BoxLayout.Y—AXIS));
getContentPane().add(menuBar,BorderLayout.
WEST)
HorizontalMenufileMenu=newHorizontalMenu
(”File”)
fileMenu.addMenuListener(this)
JMenuhemopenhem=newJMenultem
(“()pen”);
openhem.setAccelerator(KeyStroke.getKeyStroke
(KeyEvent.VK一(),lnputEvent.CTRL一MASK));
savehem=newJMenuhem(”Save”);
saveltem.setAcceIerator(KeyStroke.getKeyStroke
(KeyEvent.VK~S,InputEvent.CTRL一MASK));
saveAshem=newJMenuhem(”SaveAs”);
menuBar.add(makeMenu(fileMenu.
newObject[](
”New”topenhem,null,savehem.saveAshem。
null,“Exit”
),this));
HorizontalMenuhelpMenu=newHorizontal—
Menu(”Help”);
helpMenu.________(‘H’);
menuBar.addgBox.createVerticalGlue());
menuBar.add(makeMenu(helpMenu,
new()bject[]
{newJMenultem(“Index”,‘l’),
newJMenuhem(“About”.‘A’)
}.this));
}
publicvoidaetionPerformed(ActionEventevt){
Stringarg=evt.getActionCommand();
System.Out.println(arg);
if(arg.equals(”Exit”))
System.exit(0);
}
publicvoidmenuSelected(MenuEventevt){
}
publicvoidmenuDeseleeted(MenuEventevt){
}
publicvoidmenuCanceled(MenuEventevt){
}
publicHorizontalMenumakeMenu(Objectparent,
Object[]items.()bjecttarget)
{
HorizontalMenum=nulh
if(parentinstanceo[HorizontalMenu)
m=(HorizontalMenu)parent;
elseif(parentinstanceofString)
m=newHorizontalMenu((String)parent);
else
returnnull;
m.setMinimumSize(m.getPreferredSize());
for(inti=0;iif(items==null)
m.addSeparator();
else
m.add(makeMenuhem(items,target));
}
returnm;
}
publicstaticJMenuhemmakeMenuhem(Objecti—
tern,Objecttarget)
{
JMenuhemr=null
if(iterninstanceofString)
r=newJMenuhem((String)item);
elseif(iteminstanceofJMenuhem)
r=(JMenuhem)item
elsereturnnull
if(targetinstanceofActionListener)
r.addActionI,istener((ActionListener)target)
returnr
}
classHorizontalMenuextendsJMenu{
HorizontalMenu(Stringlabel){
super(1abel);
JPopupMenupm=getPopupMenu();
pm.setLayout(newBoxLayout(pm.BoxLayout.)
一AXIS));
setMinimumSize(getPreferredSize( ));
}
}
publicstaticvoidmain(String[]args){
Framef=newjava2();
f.show();
}
}

选项

答案第1处:implementsActionListener,MenuListener第2处:setMnemonic

解析 第1处是实现了ActionListener。接口,MenuLis—tener接口}第2处是设置卜lelp的快捷键为
转载请注明原文地址:https://kaotiyun.com/show/7mID777K
0

最新回复(0)