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

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

来源:2exam.com 2014-3-5 8:53:31

 

 三、综合应用题  
  本题的功能是对图形进行操作,包括旋转、移位、放大和剪切。窗口中有4个单选按钮和一个图形面板,图形面板中有一个矩形和该矩形移位操作后的图形,任选其中一个单选按钮,则图形面板中将显示该操作后的图形。 
  import java.awt.*;  
  import java.awt.event.*;  
  import java.awt.geom.*;  
  import java.util.*;  
  import javax.swing.*;  
  public class java3 
  { 
  public static void main(String[]args) 
  { 
  JFrame frame=new TransformTestFrame(); 
  frame.setDefaultCloseOperation(JFrame.EXIT_ 
  0N_CLoSE);  
  frame.show();  
  } 
  } 
  class TransformTest extends JFrame 
  {  
  public TransformTestFrame() 
  { 
  setTitle("java3");  
  setSize(WIDTH,HEIGHT);  
  Container contentPane=getContentPane();  
  canvas=new TransformPanel();  
  contentPane.add(canvas,BorderLayout.CEN- 
  TER);  
  JPanel buttonPanel=new JPanel():  
  ButtonGroup group=new ButtonGroup();  
  JRadioButton rotateButton 
  =new JRadioButton("旋转",true);  
  buttonPanel.add(rotateButton);  
  group.add(rotateButton);  
  rotateButton.addActionListener(new 
  ActionListener() 
  { 
  public void actionPerformed(ActionEvent event) 
  { 
  canvas.setRotate();  
  } 
  });  
  JRadioButton trans|ateButton 
  =new JRadioButton("移位",false);  
  buttonPanel.add(translateButton);  
  group.add(translateButton);  
  translateButton.addActionListener(new 
  ActionLiatener() 
  public void actionPerformed(ActionEvent event) 
  { 
  canvas.setTranslate();  
  } 
  });  
  JRadioButton scaleButton 
  =new JRadioButton("放大",false);  
  buttonPanel.add(scaleButton):  
  group.add(scaleButton);  
  scaleButton.addActionListener(new 
  ActionListener() 
  {  
  public void actionPerformed(ActionEvent event) 
  { 
  canvas.setScale();  
  } 
  });  
  JRadioButton shearButton 
  =new JRadioButton("剪切",false);  
  buttonPanel.add(shearButton):  
  group.add(shearButton);  
  shearButton.addActionListener(new 
  ActionListener() 
  { 
  public void actionPerformed(ActionEvent event) 
  { 
  canvas.setShear();  
  } 
  });  
  contentPane.add(buttonPanel,BorderLayout.  
  NORTH):  
  } 
  private TransformPanel canvas;  
  private static final int WIDTH=300;  
  private static final int HEIGHT=300;  
  } 
  class TransformPanel extend JPanel 
  { 
  public TransformPanel() 
  { 
  square=new Rectangle2D.Double(-50,-50,  
  100,100);  
  t = new AffineTransform();  
  setRotate();  
  } 
  public void paintComponent() 
  { 
  super.paintComponent(g);  
  Graphics2D g2=(Graphies2D)g;  
  g2.translate(getWidth()/2,getHeight()/2):  
  g2.setPaint(Color.gray);  
  g2.draw(square);  
  g2.transform(t);  
  g2.setPaint(Color.black);  
  g2.draw(square);  
  } 
  public void setRotate() 
  { 
  t.setToRotation(Math.toRadians(30));  
  repaint();  
  }  
  public void setTranslate() 
  { 
  t.setToTranslation(20,1 5);  
  repaint();  
  }  
  public void setScale() 
  { 
  t.setToScale(2.0,1.5):  
  repaint();  
  } 
  public void setShear() 
  { 
  t.setToShear(-0.2,O);  
  repaint();  
  } 
  private Rectangle2D square;  
  private AffineTransform t;  
  }

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



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


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