计算机二级考试JAVA应用练习题及答案.docx
《计算机二级考试JAVA应用练习题及答案.docx》由会员分享,可在线阅读,更多相关《计算机二级考试JAVA应用练习题及答案.docx(8页珍藏版)》请在冰点文库上搜索。
计算机二级考试JAVA应用练习题及答案
2020年计算机二级考试JAVA应用练习题及答案
三、简单应用题(共24分)
本题中,在窗口右侧添加了一个菜单,右侧为一个文本域,菜单有“File”和“Help”,“File”菜单中有菜单项“New”、“Open”、“Save”、“Saveas”和“Exit”,其中“Open”的快捷键为,“Save”的快捷键为,而“Help”菜单以及其中的菜单项“Index”和“About”设定了第一个字母为其快捷字母,通过鼠标单击任一个菜单项或通过快捷键以及快捷字母,都能在后台输入所选择的菜单项。
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjavaxswing.event.*;
publicclassjava2extendsJFrame
{
privateJMenuhemsavehem;
privateJMenuhemsaveAsltem
privateJPopupMenupopup;
privateJTextAreatextArea;
publicjava2()
{setTitle("java2");
setSize(400,300);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
});
textArea=newJTextArea(0,0);
ContainercontentPane=getContentPane();
contentPane.add(newJSerollPane(textArea).
"Center");
JMenuBarmenuBar=newJMenuBar();
menuBar.setLayout(newBoxLayout(menuBar.
BoxLayout.Y_AXIS));
getContentPane().add(menuBar,BorderLayout.
WEST):
HorizontalMenufileMenu=newHorizontalMenu
("File");
fileMenu.addMenuListener(this);
JMenuhemopenhem=newJMenultem
("Open");
openItem.setAceelerator(KeyStroke.getKeyStroke
(KeyEvent.VK_O,InputEvent.CTRL_MASK));
saveltem=newJMenuhem("Save");
savehem.setAccelerator(KeyStroke.getKeyStroke
(KeyEvent.VK_S,InputEvent.CTRL_MASK));
saveAshem=newJMenuhem("SaveAs");
menuBar.add(makeMenu(fileMenu,
newObject[]{
"New",Openhem,null,savehem,saveAshem.
null."Exit"
},this));
HorizontalMenuhelpMenu=newHorizontal-
Menu("Help");
helpMenu.(’H’);
menuBar.add(Box.createVerticalGlue());
menuBar.add(makeMenu(helpMenu,
newObject[]
{newJMenuhem("Index",’I’),
newJMenuhem("About",’A’)
},this));
}
publicvoidactionPerformed(ActionEventevt){
Stringarg=evt.getActionCommand();
System.out.println(arg);
if(arg.equals("Exit"))
System.exit(0);
}
pubilevoidmenuSelected(MenuEventevt){
}
publicvoidmenuDeselected(MenuEventevt){
}
publicvoidmenuCanceled(MenuEventevt){
}
publicHorizontalMenumakeMenu(Objectparent,
Object[]items,Objecttarget)
{
HorizontalMenum=null:
if(parentinstanceoIHorizontalMenu)
m=(HorizontalMenu)parent;
elseif(parentinstaneeofString)
m=newHorizontalMenu((String)parrent);
else
returnnull;
m.setMinimumSize(m.getPreferredSize());
for(inti=0;i if(items[i]==null)
m.addSeparator();
else
m.add(makeMenultem(items[i],target));
}
returnm;
}
publicstaticJMenuhemmakeMenuItem(Objecti-
tem,Objecttarget)
{
JMenuItemr=null:
if(iteminstanceofString)
r=newJMenultem((String)item);
elseif(iteminstanceofJMenuhem)
r=(JMenultem)item;
elsereturnnull;
if(targetinstanceofActionListener)
r.addActionListener((ActionListener)target);
returnr;
}
classHorizontalMenuextendsJMenu{
HorizontalMenu(Stringlabel){
super(label);
JPopupMenupm=getPopupMenu();
pm.setLayout(newBoxLayout(pm,BoxLayout.X
_AXIS));
setMinimumSize(getPreferredSize());
}
}
publicstaticvoidmain(String[]args){
Framef=newjava2();
f.show();
}
}
四、综合应用题(共18分)
本题中,主窗口中有两个下拉菜单,一个控制绘制图形的颜色,另一个控制绘制的图形,在画板中单击鼠标,则以单击的位置为左上角、以选定的颜色绘制选定的图形。
importjava.awt.*;
importjava.awt.event.*;
classjava3extendsFrame{
String[]figureNames={"圆形","椭圆形","正
方形","长方形");
String[]colorNames={"红色","绿色","蓝
色","黄色"};
Color[]colorValues={Color.red,Color.green,
Color.blue,Color.yellow);
ChoicechFigure=newChoice();
ChoicechColor=newChoice();
intcurX,curY;
java3(){
super("java3");
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(O);
}
});
PanelP=newPanel(newGridLayout(1,O));
for(inti=0;i ehFigure.addhem(figureNames[i]);
}
for(inti=0;i chColor.addhem(eolorNames[i]);
}
P.add(chColor);
P.add(chFigure);
add(p,BorderLayout.NORTH);
addMouseListener(this);
setSize(300,300);
show();
}
publicvoidupdate(Graphicsg){
g.getColor(colorValues[chColor,getSelectedIndex
()]);
switch(chFigure.getSelectedlndex()){
case0;
g.fillOval(curX,curY,30,30);
break;
casel:
g.fillOval(curX,curY,30,50);
break;
case2:
g.fillRect(curX,curY,30,30);
break;
case3:
g.fillRect(curX,curY,30,50);
break;
}
}
classMouseEventListenerimplementsMouseAda-
pter{
publicvoidmousePressed(MouseEventevt){
curX=evt.getX();
curY=evt.getY();
repaint();
}
}
staticpublicvoidmain(String[]args){
newjava3();
}
)
三、简单应用题
第1处:
implementsActionListener,MenuListener
第2处:
setMnemonic
【解析】第1处是实现了ActionListener接口,MenuListener接口;第2处是设置Help的快捷键为。
四、综合应用题
第1处:
addMouseListener(newMouseEventListener())
第2处:
g.setcolor(colorValues[chcolor.getselectedIn-
dex()])
第3处:
classMouseEventListenerextendsMouseAda-
pter
【解析】第1处是注册鼠标监听器,主要是单击动作;第2处是设置Graphics类对象g的颜色通过将从chColor中选中的字符串转换成colorValues类型来实现;第3处定义一个MouseEventListener类来继承MouseAdapter鼠标事件适配器。