2017年计算机二级考试JAVA押密试题及答案8

来源:学生作业帮助网 编辑:作业帮 时间:2024/06/01 11:30:01 计算机等级考试
2017年计算机二级考试JAVA押密试题及答案8计算机等级考试

  三、简单应用题(共24分)
  本题中,在窗口右侧添加了一个菜单,右侧为一个文本域,菜单有“File”和“Help”,“File”菜单中有菜单项“New”、“Open”、“Save”、“Save as”和“Exit”,其中“Open”的快捷键为,“Save”的快捷键为,而“Help”菜单以及其中的菜单项“Index”和“About”设定了第一个字母为其快捷字母,通过鼠标单击任一个菜单项或通过快捷键以及快捷字母,都能在后台输入所选择的菜单项。
  import java.awt.*;
  import java.awt.event.*;
  import javax.swing.*;
  import javax swing.event.*;
  public class java2 extends JFrame
  {
  private J Menuhem savehem;
  private JMenuhem saveAsltem
  private JPopupMenu popup;
  private JTextArea textArea;
  public java2()
  {setTitle("java2");
  setSize(400,300);
  addWindowListener(new WindowAdapter(){
  public void windowClosing(WindowEvent e){
  System.exit(0);
  }
  });
  textArea=new JTextArea(0,0);
  Container contentPane=getContentPane();
  contentPane.add(new JSerollPane(textArea).
  "Center");
  JMenuBar menuBar=new JMenuBar();
  menuBar.setLayout(new BoxLayout(menuBar.
  BoxLayout.Y_AXIS));
  getContentPane().add(menuBar, BorderLayout.
  WEST):
  HorizontalMenu fileMenu=new HorizontalMenu
  ("File");
  fileMenu.addMenuListener(this);
  JMenuhem openhem = new JMenultem
  ("Open");
  openItem.setAceelerator(KeyStroke.getKeyStroke
  (KeyEvent.VK_O,InputEvent.CTRL_MASK));
  saveltem=new JMenuhem("Save");
  savehem.setAccelerator(KeyStroke.getKeyStroke
  (KeyEvent.VK_S,InputEvent.CTRL_MASK));
  saveAshem=new JMenuhem("Save As");
  menuBar.add(makeMenu(fileMenu,
  new Object[]{
  "New",Openhem,null,savehem,saveAshem.
  null."Exit"
  },this));
  HorizontalMenu helpMenu=new Horizontal-
  Menu("Help");
  helpMenu. (’H’);
  menuBar.add(Box.createVerticalGlue());
  menuBar.add(makeMenu(helpMenu,
  new Object[]
  {new JMenuhem("Index",’I’),
  new JMenuhem("About",’A’)
  },this));
  }
  public void actionPerformed(ActionEvent evt){
  String arg=evt.getActionCommand();
  System.out.println(arg);
  if(arg.equals("Exit"))
  System.exit(0);
  }
  pubile void menuSelected(MenuEvent evt){
  }
  public void menuDeselected(MenuEvent evt){
  }
  public void menuCanceled(MenuEvent evt){
  }
  public HorizontalMenu makeMenu(Object parent,
  Object[]items,Object target)
  {
  HorizontalMenu m=null:
  if(parent instanceoI HorizontalMenu)
  m=(HorizontalMenu)parent;
  else if(parent instaneeof String)
  m=new HorizontalMenu((String)parrent);
  else
  return null;
  m.setMinimumSize(m.getPreferredSize());
  for(int i=0;i  if(items[i]= =null)
  m.addSeparator();
  else
  m.add(makeMenultem(items[i],target));
  }
  return m;
  }
  public static JMenuhem makeMenuItem(Object i-
  tem,Object target)
  {
  JMenuItem r=null:
  if(item instanceof String)
  r=new JMenultem((String)item);
  else if(item instanceof JMenuhem)
  r=(JMenultem)item;
  else return null;
  if(target instanceof ActionListener)
  r.addActionListener((ActionListener)target);
  return r;
  }
  class HorizontalMenu extends J Menu{
  HorizontalMenu(String label){
  super(label);
  JPopupMenu pm=getPopupMenu();
  pm.setLayout(new BoxLayout(pm,BoxLayout.X
  _AXIS));
  setMinimumSize(getPreferredSize());
  }
  }
  public static void main(String[] args){
  Frame f=newjava2();
  f.show();
  }
  }


  三、简单应用题
  第1处:implements ActionListener,MenuListener
  第2处:setMnemonic
  【解析】第1处是实现了ActionListener接口,MenuListener接口;第2处是设置Help的快捷键为。计算机等级考试