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

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

来源:2exam.com 2014-3-5 8:57:13

三、综合应用题  
  本题的功能是用文本框来设定表盘中指针的位置。窗口中有一个画板和两个文本框,画板中绘制了一个表盘和时针、分针,通过文本框分别设定“时”和“分”,表盘中的时针和分针就会指到对应的位置上。  
  import java.awt.*;  
  import java.awt.event*;  
  import java.awt.geom.*;  
  import javax.swing.*;  
  import javax.swing.event.*;  
  public class java3 
  { 
  public static void main(String[]args) 
  { 
  TextTestFrame frame=new TextTestFrame():  
  frame.setDefauhCloseOperation(JFrame.EXIT_ 
  0N_CLOSE);  
  frame.show();  
  } 
  } 
  class TextTestFrame extends JFrame 
  { 
  public TextTestFrame() 
  {  
  setTitle("java3"):  
  setSize(DEFAULT_WIDTH,DEFAULT_ 
  HElGHT);  
  Container contentPane=getContentPane();  
  DocumentListener listener=new DoeumentListen- 
  er();  
  JPanel panel=new JPanel();  
  hourField=new JTextField("12",3);  
  panel.add(hourField);  
  hourField.getDocument().addDocumentListener 
  (this);  
  minuteField=new JTextField("00",3):  
  panel.add(minuteField);  
  minuteField.getDocument().addDocumentListener 
  (listener);  
    
  contentPane.add(panel,BorderLayout.S()UTH);  
  clock=new ClockPanel();  
  contentPane.add(clock,BorderLayout.CEN- 
  TER);  
  } 
  public void setClock() 
  { 
  try 
  { 
  int hours 
  =Integer.parseInt(hourField.getText().trim 
  ()):  
  int minutes 
  =Integer.parseInt(minuteField.getText().trim 
  ());  
  clock.setTime(hours,minutes);  
  } 
  catch(NumberFormatExcepfion e){} 
  } 
  public static final int DEFAULT_WIDTH=300;  
  public static final int DEFAULT_HEIGHT 
  =300;  
  private J TextField hourField;  
  private JTextField minuteField;  
  private ClockPanel clock;  
  private class clockFieldListener extends Docu- 
  mentListener 
  { 
  public void insertUpdate(DocumentEvent e){ set- 
  Clock();} 
  public void removeUpdate(DocumentEvent e){ 
  setClock();} 
  public void changedUpdate(DocumentEvent e){} 
  } 
  } 
  class ClockPanel extends JPanel 
  { 
  pubhc void paintComponent(Graphics g) 
  { 
  super.paintComponent(g);  
  Graphies2D g2=(Graphics2D)g;  
  Ellipse2D circle 
  =new Ellipse2D.Double(0,0,2* RADIUS,2 
  *RADIUS);  
  g2.draw(circle);  
  double hourAngle 
  =Math.toRadians(90-360*minutes/(12 
  *60));  
  drawHand(92,hourAngle,HOUR_HAND_ 
  LENGTH);  
  double minuteAngle 
  =Math.toRadians(90-360*minutes/60);  
  drawHand(g2,minuteAngle,MINUTE_HAND_ 
  LENGTH):  
  } 
  punic void drawHand(Graphics2D g2,  
  double angle,double handLength) 
  { 
  Point2D end=new Point2D.Double( 
  RADIUS+handLength*Math.cos(angle),  
  RADIUS-handLength*Math.sin(angle));  
  Point2D center=new Point2D.Double(RADIUS,  
  RADIUS):  
  g2.draw(new Line2D.Double(center,end));  
  } 
  public void setTime(int h,int m) 
  { 
  minutes=h*60+m;  
  repaint();  
  } 
  private double minutes=0;  
  private double RADIUS=100;  
  private double MINUTE_HAND_LENGTH= 
  0.8*RADIUS;  
  private double HOUR_HAND_LENGTH=0.6 
  *RADIUS:  
  }

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



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


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