招生考试网
学历| 高考 美术高考 考研 自考 成考 专升本 中考 会考 外语| 四六级 职称英语 商务英语 公共英语 日语能力 翻译资格 JTEST
资格| 公务员 报关员 银行从业 司法 导游 教师资格 报关 财会| 会计证 经济师 会计职称 注册会计 税务师 资产评估 审计师
工程| 一建 二建 造价师 造价员 咨询师 监理师 安全师 医学| 卫生资格 执业医师 执业药师 执业护士 | 教案 论文 文档
IT类| 计算机等级 计算机软考 职称计算机 高校计算机 推荐-国家公务员 事业单位招聘 军校国防生 自主招生 艺术特长生 招飞
 3773考试网 - 计算机等级考试 - 试题答案 - 正文

2014计算机二级考试JAVA上机试题及答案7

来源:2exam.com 2014-3-5 8:56:41

 

三、综合应用题  
  本题的功能是用键盘上的方向键来控制直线的绘制方向。如果一直按向上的方向键,则在窗口中从焦点开始向上缓慢绘制直线,按其他方向键也会向对应的方向缓慢地绘制直线,如果按下键的话,绘制直线的速度会加快。 
  import java.awt.*;  
  import java.awt.geom.*;  
  import java.util.*;  
  import java.awt.event.*;  
  import javax.swing.*;  
  public class java3{ 
  public static void main(String[]args) 
  { 
  SketchFrame frame=new SketchFrame();  
  frame.setDefauhCloseOperation(JFrame.EXIT_ 
  ON_CLOSE);  
  frame.show();  
  } 
  } 
  class SketchFrame extends JFrame 
  { 
  public SketchFrame() 
  { 
  setTitle("java3");  
  setSize(DEFAULT WIDTH, DEFAULT 
  HEIGHT);  
  SketehPanel panel=new SketchPanel();  
  Container contentPane=getContentPane();  
  contentPane.add(panel);  
  } 
  public static final int DEFAULT_WIDTH=300;  
  public static final int DEFAULT_HEIGHT 
  =200;  
  } 
  class SketehPanel extends JPanel 
  { 
  public void sketchPanel() 
  { 
  last=new Point2D.Double(100,100);  
  lines=new ArrayList();  
  KeyHandler listener=new KeyHandler();  
  addkeyListener(this);  
  setFocusable(true);  
  } 
  public void add(int dx,int dy)  
  { 
  Point2D end=new Point2D.Double(last.getX() 
  +dx,  
  last.getY()+dy):  
  Line2D line=new Line2D.Double(last,end);  
  lines.add(line):  
  repaint();  
  last=end:  
  } 
  public void paintComponent(Graphics g) 
  { 
  super.paintComponent(g);  
  Graphics2D g2=(Graphics2D)g;  
  for(int i=0;i  92.draw((Line2D)lines.get(i));  
  }  
  private Point2D last:  
  private ArrayList lines;  
  private static final int SMALL_INCREMENT 
  =1:  
  private static final int LARGE_INCREMENT 
  =5;  
  private class KeyHandler implements KeyListener 
  { 
  public void keyPressed(KeyEvent event) 
  { 
  KEY keyCode=event.getKeyCode();  
  int d;  
  if(event.isShiftDown()) 
  d=LARGE_INCREMENT;  
  else 
  d=SMALL_INCREMENT;  
  if(keyCode= =KeyEvent.VK_LEFT)add(- 
  d,0);  
  else if(keyCode= =KeyEvent.VK_RIGHT) 
  add(d,0);  
  else if(keyCode= =KeyEvent.VK_UP)add(0,  
  -d):  
  else if(keyCode= =KeyEvent.VK_DOWN) 
  add(0,d);  
  } 
  public void keyReleased(KeyEvent event){} 
  public void keyTyped(KeyEvent event) 
  { 
  char keyChar=event.getKeyChar();  
  int d;  
  if(Character.isUpperCase(keyChar)) 
  { 
  d=LARGE_INCREMENT;  
  keyChar=Character.toLowerCase(keyChar);  
  } 
  else 
  d=SMALL_INCREMENT;  
  } 
  } 
  }

上一页  [1] [2] [3] [4] 下一页



  • 上一个文章:
  • 网站版权与免责声明
    ①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
    ②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权及个人隐私等问题,请在两周内邮件fjksw@163.com联系.


    | 关于我们 | 联系我们 | 版权申明 | 网站导航 |
    琼ICP备12003406号