首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
本题的功能是对图形进行操作,包括旋转、移位、放大和剪切。窗口中有四个单选按钮和一个图形面板,图形面板中有一个矩形和该矩形移位操作后的图形,任选其中一个单选按钮,则图形面板中将显示该操作后的图形。 import java.awt.*; import java
本题的功能是对图形进行操作,包括旋转、移位、放大和剪切。窗口中有四个单选按钮和一个图形面板,图形面板中有一个矩形和该矩形移位操作后的图形,任选其中一个单选按钮,则图形面板中将显示该操作后的图形。 import java.awt.*; import java
admin
2012-12-02
72
问题
本题的功能是对图形进行操作,包括旋转、移位、放大和剪切。窗口中有四个单选按钮和一个图形面板,图形面板中有一个矩形和该矩形移位操作后的图形,任选其中一个单选按钮,则图形面板中将显示该操作后的图形。
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_ON_CLOSE);
frame.show();
}
}
class TransformTest extends JFrame
{
public TransformTestFrame()
{
setTitle("java3");
setSize(WIDTH, HEIGHT);
Container contentPane = getContentPane();
canvas = new TransformPanel();
contentPane.add(canvas, BorderLayout.CENTER);
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 translateButton
= new JRadioButton("移位", false);
buttonPanel.add(translateButton);
group.add(translateButton);
translateButton.addActionListener(new
ActionListener()
{
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 Rectangle2@D@Double(-50, -50, 100, 100);
t = new AffineTransform();
setRotate();
}
public void paintComponent()
{
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)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, 15);
repaint();
}
public void setScale()
{
t.setToScale(2.0, 1.5);
repaint();
}
public void setShear()
{
t.setToShear(-0.2, 0);
repaint();
}
private Rectangle2D square;
private AffineTransform t;
}
选项
答案
第1处:class TransformTestFrame extends JFrame第2处:class TransformPanel extends Jframe第3处:public void paintComponent(Graphics g)
解析
第1处类中公有对象名称应与类名一致;第2处为继承的父类不正确;第3处从下面的super.paintComponent(g);可判断出是应有参数Graphics g。
转载请注明原文地址:https://kaotiyun.com/show/YnID777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
下面关于蛋白质分子结构与功能的叙述。错误的是()。
下列关于能源的叙述,正确的是()。
2013年10月发布的《国家卫星导航产业中长期发展规划》显示,到2020年,我国卫星导航系统产值将超过()亿元,将建成由()余颗卫星及地面运行控制系统组成的全球卫星导航系统,具备为全球用户提供导航定位服务的能力。
北京甲公司与上海乙公司签订了一份书面合同,甲公司签字、盖章后邮寄给乙公司签字、盖章。则该合同成立的时间应为()。
许许多多的临床实验都表明抗氧化物质实际上并不能对我们的心血管系统起到改善作用。关于抗氧化物质与癌症关系的数据没那么多,但最近一次大规模的检验维生素E能否抑制癌症的实验中途就被停止了——因为维生素E不仅没有显示出益处,反倒略微增加了前列腺癌的发病率。
对下列语句排序正确的一项是()。①也许是月亮的香气吧,我这么想②看见蛎粉墙上印着我的身影,我于是重又意识到了我③我心中不起一切杂念,大约历一刻钟之久,才回转身来④从江岸直到我的楼下是一大片沙坪,月光照着,茫然一白,但带点儿青的意
简述统计假设检验中两类错误的定义及其关系。
19世纪,在高等教育上,美国开始学习德国的模式创建学术型大学。1876年,()建立,首创研究生院。
下列数中为八进制的是()。
Java中的抽象类Reader和Writer所处理的流是()。
随机试题
简述美国的管理学教授西拉季和华莱士提出的组织行为学的研究步骤。
不符合系膜增生性肾小球肾炎的描述是
患儿,8岁。血液检查显示:Hb64g/L;Hct25%;RBC3.20×1012/L。根据上述资料该患儿的贫血属于
法定盈余公积金是用于发展生产、预防风险和提高职工集体福利的基金。()
布雷顿森林协定建立一个永久性的国际金融机构——世界银行。()
进行立案处理的索赔申请,必须符合一定的条件,不包括( )。
()是指通过各种通讯方式,不通过集中的交易所,实行分散的、一对一交易的衍生工具。
招聘总成本效益的计算公式为()。
甲欠乙15万元,甲的朋友丙与乙签订了保证合同,此时丙自有财产12万元,后甲不能清偿,乙诉至法院要求丙清偿15万元。根据我国有关的法律规定,下列选项表述正确的是()。
Mygrandmotherdiedjustafewmonthsaftermygrandfather,even(31)shewasingoodhealthandhad(32)beensicki
最新回复
(
0
)