2017年计算机二级考试时间-2017年计算机二级考试JAVA应用模拟试题2

副标题:2017年计算机二级考试JAVA应用模拟试题2

时间:2023-09-07 02:13:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。


  四、综合应用题(共18分)
  本题的功能是定义自已的组件类。窗口中排布着12
  个按钮,鼠标移动按钮时,按钮背景颜色改变,用鼠标单击
  按钮时,后台将显示该按钮对应的字符。
  import java.awt.*;
  import java.awt.event.*;
  import java.util.*;
  class java3 extends Frame{
  String keys="l23456789*0#";
  java3(){
  super("java3");
  addWindowListener(new WindowAdapter(){
  public void windowClosing(WindowEvent e){
  System.exit(O);
  }
  });
  setLayout(new GridLayout(4,3,6,6));
  for(int i=0;i  KeyButton kb=new KeyButton(keys.charAt
  (i));
  kb.addkeyListener(this);
  kb.setBackground(Color.pink);
  kb.setForeground(Color.black);
  add(kb);
  }
  setSize(200,200);
  show();
  }
  class KeyEventHandler extends KeyAdapter{
  public void keyTyPed(KeyEvent evt){
  System.out.println(evt.getChar());
  }
  }
  public static void main(String[]args){
  newjava3();
  }
  }
  class KeyButton extends Component{
  KeyListener keyListener;
  boolean highlighted;
  char key;
  KeyButton(char k){
  this.key=k;
  addMouseListener(new MouseEventHandler()):
  }
  public void paint(Graphics g){
  int W=getSize().width;
  int h=getSize().height;
  String s=""+key;
  FontMetrics fm=g.getFontMetrics();
  if(highlighted){
  g.setColor(getBackground());
  g.fillRoundRect(0,0,w-1,h-1,10,10);
  }
  g.setColor(getForeground());
  g.drawRoundRect(0,0,w-1,h-1,10,10);
  g.drawString(s,(w-fm.stringWidth(s))/2,
  (h-fm.getHeight())/2+fm.getAscent());
  }
  class MouseEventHandler extends MouseAdapter{
  public void mousePressed(MouseEvent evt){
  if(keyListener!=null){
  keyListener.keyTyped(
  new KeyEvent(KeyButton.this,KeyEvent.KEY_
  TYPED,
  System.currentTimeMillis(),
  0,KeyEvent.VK_UNDEFINED,key));
  }
  }
  public void mouseEntered(MouseEvent evt){
  highlighted=true;
  repaint();
  }
  public void mouseExited(MouseEvent evt){
  highlighted=false;
  repaint();
  }
  }
  public synchronized void addKeyListerner(KeyLis-
  tener l){
  keyListener=AWTEventMuhieaster.add(key-
  Listener,1);
  }
  public synchronized void removeKeyListener(Key-
  Listener l){
  keyListener=AWTEventMuhicaster.remove
  (keyListener,1);
  }
  }

2017年计算机二级考试JAVA应用模拟试题2.doc

本文来源:https://www.wddqw.com/435n.html