`
luyier
  • 浏览: 8936 次
社区版块
存档分类
最新评论

简易java画图板的实现

阅读更多

画图板的步骤:
一、窗口:
   1.定义一个继承自JFrame的窗口类
          public class 该类  extends JFrame{ }
   2.定义主函数,实例化画板窗体类对象,并且调用显示界面的方法
          public static void main(String[] args) {
  DrawFrame df = new DrawFrame();
  df.init();
    }
   3.显示界面,设置窗体属性
          setTitle("");
          setSize(  , );
          ……

二、组件对象:
   1.实例化组件对象,并设置命令动作,添加到窗体上
          JButton btnLine = new JButton("直线");
          btnLine.setActionCommand("Line");
          ……
          add(btnLine);
          add …
   2.按钮组件的监听器方法
   3.按钮的事件处理类实现
         使用“匿名类”来实现:
         ActionListener  al = new ActionListener(){
            //事件处理类的方法
            public  void  actionPerformed(ActionEvent e){
            if (e.getActionCommand().equals("Color")) {
  // JColorChooser类是一个颜色选择面板,使用showDialog方法将界面显示出来,null表示没有指定父窗体,第二参数是标题,但三个参数是默认的颜色
  color = javax.swing.JColorChooser.showDialog(null,"颜色选择器", Color.BLACK);
  System.out.println("你选择的颜色是:" + color);
     } else {
     // 得按钮上的动作命令值。
     item = e.getActionCommand();
     System.out.println("你点击的按钮是:" + item);
  }
            }
         };

    ActionListener 虽然不能来实例化对象,但是通过匿名类的方式,在{}中实现了实例化的功能,所以最后的}后面有个“;”,因为ActionListener  al = new ActionListener(){…}只是一句话;

   4.实例化3的对象,将其绑定到按钮的监听器方法中
          btnLine.addActionListener(al);
          ……
    //窗体可见
    setVisible{true};

三、画布中图形的实现:
    1.获取画布对象,在窗体对象上添加一个鼠标监听器方法
          //获取画布对象
   Graphics g = this.getGraphics();
  
   //给窗体添加鼠标监听器
   this.addMouseListener(…);
   this.addMouseMotionListener(…);
 
    2.实现鼠标监听器事件处理类
           public class DrawListener extends MouseAdapter {

   //定义保存坐标值的四个属性
   private int x1,y1,x2,y2;
 
   private Graphics g;
   private DrawFrame df;
 
   //接收画布对象的构造函数
   public DrawListener(Graphics g,DrawFrame df){
  this.g = g;
  this.df = df;
   }
        
   //鼠标点中时,执行该方法
   public void mousePressed(MouseEvent e){
  //按下鼠标的时候就获取第一个坐标点的值
  x1 = e.getX();
  y1 = e.getY();
   }
         /**
  * 画直线;矩形……
  */
   //鼠标释放时,执行该方法
   public void mouseReleased(MouseEvent e){
  //鼠标释放的时候获取第二个坐标点的值
      x2= e.getX();
      y2= e.getY();
  Draw dr ;
   //设置当前图像的颜色
   g.setColor(df.getColor());
   //判断点击的是否是直线
       if(df.getItem().equals("Line")){
          //实例化画直线类的对象
   dr = new DrawLine();
   //调用画直线的方法
   dr.draw(g, x1, y1, x2, y2);
   }
   //判断点击是否是矩形
          if(df.getItem().equals("Rect")){
   //实例化画矩形类的对象
   dr= new DrawRect();
   //调用画矩形的方法
   dr.draw(g, x1, y1, x2, y2);
   }
          类似的圆,填充矩形,填充圆。

        /**
  * 画曲线
  */
 //鼠标按下键后拖动时调动该方法
 public void mouseDragged(MouseEvent e){
     //鼠标拖动的时候就获取第二个坐标点的值
     x2 = e.getX();
     y2 = e.getY();
     Draw draw;
   //判断点击是否是曲线
   if (df.getItem().equals("Curve")){
     g.setColor(df.getColor());
     draw = new DrawLine();
     draw.draw(g, x1, y1, x2, y2);
     //互换坐标
     x1=x2;
     y1=y2;
   }
 }
    3.画图形的实现:
      直线:
        public class DrawLine extends Draw{
 //重写drwa抽象类中的draw抽象方法
 public void draw(Graphics g,int x1,int y1,int x2,int y2){
  System.out.println("画直线");
  //调用画直线的方法
  g.drawLine(x1,y1,x2,y2);
  
 }

}
      矩形(要考虑起始点坐标关系):
        public class DrawRect extends Draw{
 public void draw(Graphics g,int x1,int y1,int x2,int y2){
  System.out.println("画矩形");
  int width,height;
  if (x1 < x2){
   width = x2 - x1;
  } else{
   width = x1 - x2;
   x1 = x2;
  }
  if (y1 < y2){
   height = y2 - y1;
  }else {
   height = y1-y2;
   y1 = y2;
  }
  g.drawRect(x1, y1, width, height);
 }

}
    4.实例化3的对象,并且将其绑定到鼠标监听器方法中
        //实例化画图形事件处理类的对象
 DrawListener dl = new DrawListener(g,this);
  
 //给窗体添加鼠标监听器
 this.addMouseListener(dl);
 this.addMouseMotionListener(dl);
    5.添加上面需要的属性:
 public Color getColor(){
  return color;
 }
 public String getItem(){
  return item;
 }
 
 private Color color = Color.BLACK;
 private String item = "Line";
 

0
3
分享到:
评论

相关推荐

    JAVA简易画图板

    【JAVA简易画图板】是一个基于Java编程语言开发的简单绘图应用程序,它为用户提供了一个基本的图形界面,用户可以通过这个界面进行简单的绘画操作。这个程序包含了一些基本的绘图功能,如绘制形状、使用铅笔工具以及...

    Java简易画图板

    在这个简易画图板项目中,Java用于实现图形用户界面(GUI)和图形绘制逻辑。 2. **图形用户界面(GUI)**:Java提供了JavaFX和Swing两个主要的库来创建GUI应用。本项目可能使用了Swing,因为它是一个相对成熟的库,...

    Java实现简易画图板

    在本文中,我们将深入探讨如何使用Java编程语言实现一个简易的画图板应用程序。这个程序允许用户绘制各种形状,如直线、圆、曲线、喷枪图案、直角矩形和圆角矩形,并且配备橡皮擦功能以擦除已绘制的内容。下面,我们...

    java实现简易画图板源码

    在Java编程语言中,实现一个简易的画图板是一个经典的GUI(图形用户界面)编程练习。这个项目通常涉及Swing或JavaFX库,这两个库都提供了构建用户界面所需的组件和功能。下面,我们将深入探讨如何使用Java实现这样一...

    java画图板

    《Java画图板》是一款基于Java语言开发的简易图形绘制软件,旨在满足日常生活和学习中的基本绘图需求。软件由菜单栏、工具栏和画图区三大部分组成,提供了丰富的功能,使用户能够方便快捷地进行图形创作。 1. **...

    Java简易绘图板实现.rar_Java画图板_java 绘图板_java绘图_java绘图板编程_painter

    Java简易绘图板实现是一个基于Java编程语言的项目,它为初学者提供了一个基础的图形绘制平台。这个项目的核心目标是让学习者了解和实践如何在Java环境下进行图形用户界面(GUI)的开发,以及图形的绘制和保存功能。...

    用java编写的简易画图板

    用java编写的简易画图板,可以画直线、圆、椭圆等图形,程序简单易懂,适合初学者参考。

    简易画图板程序java

    【简易画图板程序java】是一个基于Java编程语言实现的简单图形绘制软件,它涵盖了图形学的基本概念和技术,为用户提供了一个交互式的平台,可以进行基本的图形绘制操作。这个程序的核心功能包括画直线、绘制圆以及对...

    java 简易画图板

    java 画图板 基本画笔代码 可以在次基础上进行拓展功能

    一个简易的画图板代码

    这个“简易的画图板代码”可能使用了某种编程语言,如Python的tkinter库或者Java的Swing或JavaFX。下面将详细解释与这个主题相关的知识点。 首先,我们需要了解什么是画图板。画图板是一个应用程序,用户可以在其上...

    JAVA实现画图板

    在JAVA编程环境中,创建一个简易的画图板是一项有趣且实用的任务。这个画图板能够提供多种基础图形绘制功能,包括直线、圆形、矩形、橡皮擦、喷枪、椭圆、圆角矩形、弧线以及多边形。在实现过程中,主要涉及到Swing...

    java画图板的总结

    在Java编程语言中,画图板(Canvas)是图形用户界面(GUI)开发的一个关键组件。它是Java AWT(Abstract Window Toolkit)库的一部分,用于在窗口上绘制图形。Canvas类继承自Component,允许程序员直接在屏幕上进行...

    简易画图板程序(JAVA)

    一个简易的画图板程序,用JAVA语言实现。支持几种常见图形。界面中有个图形的快捷控件按钮

    java画图板(山寨)

    Java画图板是一个利用Java编程语言实现的简易图形用户界面(GUI)应用程序,它允许用户在屏幕上绘制各种图形和线条,类似于我们常见的Windows系统自带的“画图”程序。这个“山寨”版的画图板是由你的一位同学开发的...

    java画图板小试

    【标题】"Java画图板小试"是一个关于利用Java编程语言实现简易画图板的教程,适合初学者和对图形界面开发感兴趣的开发者。在这个项目中,我们将学习如何使用Java的Swing库来创建一个基本的图形用户界面,让用户能够...

    java简易画图板 CanvasDraw

    下载马上可以使用,非常简单 import java.lang.*; import java.awt.*; import java.applet.*; import javax.swing.*; import java.awt.event.*;

    Java画图板简单程序

    在这个"Java画图板简单程序"中,开发者创建了一个简易的画图应用,允许用户在界面上绘制直线、圆和矩形等基本图形。下面我们将深入探讨这些知识点。 1. **Java AWT 和 Swing** - AWT是Java的早期GUI库,提供了基本...

    Java实现画板(Java小程序 模仿Win系统画板)

    在本文中,我们将深入探讨如何使用Java编程语言来实现一个类似于Windows操作系统中的简易画板程序。这个Java小程序将提供基本的绘图功能,使用户能够通过鼠标或触控设备进行绘画创作。 首先,我们需要理解Java GUI...

    java简单画图板

    在本项目中,"java简单画图板" 是一个基于Java编程语言开发的简易图形界面应用程序,主要目标是为用户提供一个基本的画图环境。这个画图板支持绘制直线、椭圆、矩形以及使用喷枪工具,同时具备画笔、橡皮擦、油漆桶...

    原创java写的画图板软件(代码风格良好)

    《基于Java实现的简易画图板程序解析》 在计算机科学与信息技术领域,开发图形用户界面(GUI)应用程序是常见的任务之一。本篇文章将详细解析一...无论是理论学习还是实战演练,这个Java画图板程序都具有很高的价值。

Global site tag (gtag.js) - Google Analytics