java 单击按钮实现缩放还原.docx_第1页
java 单击按钮实现缩放还原.docx_第2页
java 单击按钮实现缩放还原.docx_第3页
java 单击按钮实现缩放还原.docx_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实现图形的缩放与还原需求:做一个绘图程序,绘制矩形 ,制作三个按钮,控制图形的缩放和还原分析:1. 创建窗体,设置窗体大小,背景色,布局2. 创建面板,实现绘图与缩放还原3. 创建三个按钮,实现事件监听,控制图形缩放实现:代码如下package cs.itcast_sharp;import java.awt.BasicStroke;import java.awt.BorderLayout;import java.awt.Color;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.geom.Rectangle2D;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.Border;public class ZoomSharpFrame extends JFrame private static int flag = 0; /参数private ZoomSharpFrame()initComponent();private void initComponent() / TODO Auto-generated method stub/setVisible(false);setSize(400, 400); /窗体尺寸 setLocationRelativeTo(null); /窗体放置位置 setDefaultCloseOperation(DISPOSE_ON_CLOSE); / close操作/ setBackground(Color.ORANGE);setLayout(null);getContentPane().setBackground(Color.ORANGE); /窗体背景色设为橘色 ZoomSharpPanel zPanel = new ZoomSharpPanel(); /建面板 zPanel.setBounds(100, 50, 200, 200); /面板尺寸与位置 add(zPanel); JButton j1 = new JButton(放大); /按钮和按钮监听j1.setBounds(30, 300, 80, 30);j1.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubflag = 1;zPanel.repaint(); /重绘System.out.println(flag:+flag););add(j1);JButton j2 = new JButton(缩小);j2.setBounds(150, 300, 80, 30); j2.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubflag = 2;zPanel.repaint();System.out.println(flag:+flag););add(j2);JButton j3 = new JButton(还原);j3.setBounds(270, 300, 80, 30); j3.addActionListener(new ActionListener() Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubflag = 3;zPanel.repaint();System.out.println(flag:+flag););add(j3); public class ZoomSharpPanel extends JPanel public void paint(Graphics g)Graphics2D c = (Graphics2D)g;Rectangle2D.Float rec = new Rectangle2D.Float(50,50,80,50);c.setColor(Color.RED);c.setBackground(Color.BLACK);c.setStroke(new BasicStroke(4);c.draw(rec);if(flag = 1)c.clearRect(0, 0, 220, 220);c.scale(1.5, 1.5);c.draw(rec);flag=0;else if(flag = 2)c.clearRect(0, 0, 220, 220);c.scale(0.5, 0.5);c.draw(rec);flag=0;else if(flag = 3)c.clearRect(0, 0, 220, 220);c.draw(rec);flag=0; public static voi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论