ImageVerifierCode 换一换
格式:DOCX , 页数:12 ,大小:44.90KB ,
资源ID:17877638      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/17877638.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(画笔JavaWord文档下载推荐.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

画笔JavaWord文档下载推荐.docx

1、 this.y2 = y2; public void setColor(Color c) this.color = c; public abstract void draw(Graphics g);PaintingBrush_Line.java文件public class PaintingBrush_Line extends PaintingBrush_Shape public PaintingBrush_Line() public PaintingBrush_Line(int x1, int y1, int x2, int y2) setShape(x1, y1, x2, y2); Over

2、ride public void draw(Graphics g) g.setColor(color); g.drawLine(x1, y1, x2, y2);PaintingBrush_Rectangle.java文件public class PaintingBrush_Rectangle extends PaintingBrush_Shape public PaintingBrush_Rectangle() public PaintingBrush_Rectangle(int x1, int y1, int x2, int y2) / 实现任意方向的绘制效果,否则直接绘制就只能支持向右下方

3、的拖拽绘制 int newX = Math.min(x1, x2); int newY = Math.min(y1, y2); int newWidth = Math.abs(x2 - x1); int newHeight = Math.abs(y2 - y1); g.drawRect(newX, newY, newWidth, newHeight);PaintingBrush_Circle.java文件public class PaintingBrush_Circle extends PaintingBrush_Shape public PaintingBrush_Circle() publ

4、ic PaintingBrush_Circle(int x1, int y1, int x2, int y2) int newWidth = Math.abs(x1 - x2); int newHeight = Math.abs(y1 - y2); g.drawOval(newX, newY, newWidth, newHeight);PaintingBrush_Triangle.java文件public class PaintingBrush_Triangle extends PaintingBrush_Shape public PaintingBrush_Triangle() public

5、 PaintingBrush_Triangle(int x1, int y1, int x2, int y2) g.drawLine(x1 + (x2 - x1) / 2, y1, x1, y2); g.drawLine(x1 + (x2 - x1) / 2, y1, x2, y2); g.drawLine(x1, y2, x2, y2);PainttingBrush.java文件import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.GridLayout;import java.awt.event.Act

6、ionEvent;import java.awt.event.ActionListener;import java.awt.event.ItemEvent;import java.awt.event.ItemListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import java.awt.event.MouseMotionListener;import java.awt.image.BufferedImage;import javax.swing.ButtonGroup;import ja

7、vax.swing.JFrame;import javax.swing.JMenu;import javax.swing.JMenuBar;import javax.swing.JMenuItem;import javax.swing.JPanel;import javax.swing.JRadioButton;public class PainttingBrush /* * param args */ public static void main(String args) DemoWindow2 dw = new DemoWindow2(画笔); dw.setBounds(dw.getTo

8、olkit().getScreenSize().width / 4, dw.getToolkit() .getScreenSize().height / 4, dw.getToolkit().getScreenSize().width / 2, dw.getToolkit() .getScreenSize().height / 2); dw.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); dw.setVisible(true);class DemoWindow2 extends JFrame implements ActionListener J

9、MenuBar menuBar = new JMenuBar(); JMenu menu = new JMenu(文件 JMenuItem menuItem1 = new JMenuItem(打开文件 JMenuItem menuItem2 = new JMenuItem(保存文件 DrawPanel dp = new DrawPanel(); ControlPanel cp = new ControlPanel(dp); public DemoWindow2(String title) super(title); menu.add(menuItem1); menu.add(menuItem2

10、); menuBar.add(menu); setJMenuBar(menuBar); menuItem1.addActionListener(this); menuItem2.addActionListener(this); add(dp, BorderLayout.CENTER); add(cp, BorderLayout.SOUTH); public void actionPerformed(ActionEvent e) JMenuItem menuItem = (JMenuItem) e.getSource(); if (menuItem = menuItem1) else if (m

11、enuItem = menuItem2) class DrawPanel extends JPanel implements MouseListener, MouseMotionListener / 起始位置 int x1; int y1; / 终止位置 int x2; int y2; / 存储上一次终止坐标的临时变量 int oldx2; int oldy2; / 缓冲图像 BufferedImage im = new BufferedImage(1000, 1000, BufferedImage.TYPE_INT_RGB); PaintingBrush_IShape shape = new

12、 PaintingBrush_Line(); / 当前默认的前景色 Color color = Color.green; public DrawPanel() / 设置背景色 setBackground(Color.yellow); / 获取缓冲图像的绘图类型 Graphics uig = im.createGraphics(); / 使用白色填充缓冲图像的背景 uig.setColor(Color.gray); uig.fillRect(0, 0, 1000, 1000); / 添加事件监听器 addMouseListener(this); addMouseMotionListener(th

13、is); public void mouseDragged(MouseEvent e) oldx2 = x2; oldy2 = y2; / 获取新的终止坐标 x2 = e.getX(); y2 = e.getY(); / 获取缓冲图像的绘图类变量 / 设置异或绘图模式 uig.setXORMode(Color.white); / 在缓冲图像上绘制形状 / 擦除上一次位置的绘制形状 shape.setColor(color); shape.setShape(x1, y1, oldx2, oldy2); shape.draw(uig); / 绘制新位置的形状 shape.setShape(x1,

14、y1, x2, y2); repaint(); public void mouseMoved(MouseEvent e) public void mouseClicked(MouseEvent e) public void mousePressed(MouseEvent e) / 设置3种坐标的初始值相等 / 获取起始坐标 x1 = e.getX(); y1 = e.getY(); x2 = x1; y2 = y1; public void mouseReleased(MouseEvent e) / 重绘当前面板,显示所绘的缓冲图像 public void paintComponent(Gra

15、phics g) super.paintComponent(g); if (im != null) g.drawImage(im, 0, 0, this); public void mouseEntered(MouseEvent e) public void mouseExited(MouseEvent e) class ControlPanel extends JPanel / 重载构造函数,添加颜色选择面板和形状选择面板 public ControlPanel(DrawPanel dp) setLayout(new GridLayout(2, 1); add(new ColorPanel(

16、dp); add(new ShapePanel(dp);/ 颜色选择面板类class ColorPanel extends JPanel implements ItemListener DrawPanel dp; JRadioButton jrb1 = new JRadioButton(红色 JRadioButton jrb2 = new JRadioButton(绿色 JRadioButton jrb3 = new JRadioButton(蓝色 ButtonGroup bg = new ButtonGroup(); public ColorPanel(DrawPanel dp) / 设置绘

17、图类面板的引用 this.dp = dp; bg.add(jrb1); bg.add(jrb2); bg.add(jrb3); / 设置单选按钮的默认选择状体 jrb2.setSelected(true); setLayout(new FlowLayout(); add(jrb1); add(jrb2); add(jrb3); jrb1.addItemListener(this); jrb2.addItemListener(this); jrb3.addItemListener(this); public void itemStateChanged(ItemEvent e) if (jrb1

18、= e.getSource() dp.color = Color.red; else if (jrb2 = e.getSource() dp.color = Color.green; else if (jrb3 = e.getSource() dp.color = Color.blue;/ 形状选择面板类class ShapePanel extends JPanel implements ItemListener 直线矩形圆形 JRadioButton jrb4 = new JRadioButton(三角形 public ShapePanel(DrawPanel dp) bg.add(jrb4

19、); jrb1.setSelected(true); this.setLayout(new FlowLayout(); add(jrb4); jrb4.addItemListener(this); if (jrb1.isSelected() dp.shape = new PaintingBrush_Line(); else if (jrb2.isSelected() dp.shape = new PaintingBrush_Rectangle(); else if (jrb3.isSelected() dp.shape = new PaintingBrush_Circle(); else if (jrb4.isSelected() dp.shape = new PaintingBrush_Triangle();

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1