`

简单实现多选择的画图板。

阅读更多

/**
 * 有选择的画图板的实现,
 */
package 有选择的画图板;
import javax.swing.*;
import java.awt.*;
public class DrawUI extends JFrame {
     public static void main(String[] args ) {
      new DrawUI();
     }
    
     public DrawUI() {
      this.setSize(500,600);
      this.setLayout(null);
     
      JButton bu1 = new JButton("画直线");
      bu1.setBounds(50, 400, 100, 50);
      this.add(bu1);
     
      JButton bu2 = new JButton("画圆");
      bu2.setBounds(350, 400,100 ,50 );
      this.add(bu2);
      /**
       * 定义一个面板,并设置背景颜色,便于与窗体的区分
       */
      JPanel jp = new JPanel();
      jp.setBackground(Color.blue);
      jp.setBounds(40, 40, 400, 300);
      this.add(jp);
     
      this.setDefaultCloseOperation(3);
      this.setVisible(true);
        /**
         * 从窗体上获取画布对象,必须定义在setVisible()后面
         */
      Graphics g = jp.getGraphics();
     
      /**
          * 创建监听器对象
       */
      DrawListener dlis = new DrawListener(g);
      //给面板加鼠标监听器
      jp.addMouseListener(dlis);
      //给按钮加动作监听器
      bu1.addActionListener(dlis);
      bu2.addActionListener(dlis);
     }
}

 

/**
 * 创建监听器
 */
package 有选择的画图板;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JPanel;
/**
 *
 *DrawListener继承两个接口MouseListener, ActionListener
 *抽象方法都要初始化
 */
public class DrawListener implements MouseListener, ActionListener {
    private Graphics g;
    /**
     * 重载构造函数,并传参
     * @param g
     */
    public DrawListener(Graphics g){
     this.g = g;
    }
   
 private String command;
 private int x1,y1,x2,y2;

 public void actionPerformed(ActionEvent e) {
  command = e.getActionCommand(); //获取按下按钮得到的结果
  //System.out.println(command);
 }
   
 public void mousePressed(MouseEvent e) {
        x1 = e.getX();
        y1 = e.getY();
 }
   /**
    * 判断是画圆还是画直线
    */
 public void mouseReleased(MouseEvent e) {
      x2 = e.getX();
      y2 = e.getY();
      if(command=="画直线")
      {
         g.drawLine(x1, y1, x2, y2);
      }
      else if(command=="画圆")
      {
       g.drawOval(x1, y1, x2, y2);
      }
      else {
      
      }
 }
   /**
    * 暂时用不到的抽象方法定义为空
    */
 public void mouseExited(MouseEvent e) {

 }

 public void mouseClicked(MouseEvent e) {

 }
 public void mouseEntered(MouseEvent e) {
 }
}

截图结果:

点击画直线:

 

点击画圆:



 
 

  • 大小: 23.9 KB
分享到:
评论

相关推荐

    基于qt实现的画图板

    3. **QWidget与QGraphicsView/QGraphicsScene**:在实现画图板时,通常会使用QWidget作为基础的用户界面元素,然后可能结合QGraphicsView和QGraphicsScene来创建一个可缩放、可滚动的画布。QGraphicsView负责显示...

    java 画图板 windows画图板简单实现

    在Java编程语言中,实现一个简单的Windows画图板是一个经典的练习,它可以帮助初学者更好地理解图形用户界面(GUI)的设计以及事件处理机制。这个项目通常会涉及到Java的Swing库,这是一个用于创建桌面应用程序的GUI...

    VC++实现简单的画图板程序

    在本项目中,"VC++实现简单的画图板程序"是一个基础级别的计算机图形学应用,主要目的是让初学者了解如何使用Microsoft Visual C++ (VC++) 编程环境来创建一个功能丰富的图形用户界面(GUI)应用程序。这个程序允许...

    Java实现简易画图板

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

    MFC 简易画图板

    在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库来创建一个简易的画图板应用程序。MFC 是微软为Windows平台提供的一种C++类库,它简化了Windows API的使用,使得开发Windows应用程序更加高效...

    android简单的画图板实现代码

    这个"android简单的画图板实现代码"就是一个适合初学者的示例项目,旨在帮助开发者了解如何在Android环境中实现画图功能。我们将深入探讨这个项目中的关键知识点。 首先,我们需要了解Android图形绘制的基础。在...

    画图板(C#实现

    本项目“画图板(C#实现)”是一个利用C#编写的简单图形绘制工具,用户可以通过它来绘制基本的几何形状,如直线、圆和矩形,满足日常简单的绘图需求。 【描述】: 这个C#画图板项目的核心功能包括: 1. **直线...

    画图板的实现

    通过反编译或查看源码,我们可以看到类的组织结构,以及如何将上述步骤结合在一起实现画图板功能。 7. **工具使用**: - 开发过程中,IDE(集成开发环境)如Eclipse或IntelliJ IDEA可以帮助我们编写和调试代码。...

    c#画图板的简单实现,看看

    在C#编程环境中,我们可以利用Windows Forms或者WPF框架来创建一个简单的画图板应用。这个画图板能够允许用户绘制各种图形,如圆形、直线等。以下是对这个主题的详细解析: 首先,我们需要了解C#中的Graphics类,它...

    JAVA简易画图板

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

    MFC简单画图板

    "MFC简单画图板"是一个基于Microsoft Foundation Class (MFC)库开发的简易绘图应用程序。MFC是微软提供的一套面向对象的C++类库,它为Windows应用程序开发提供了便利,封装了Windows API,使得开发者能更高效地构建...

    openGL画图板实现简单画图功能

    总结,这个基于C++和OpenGL的画图板项目是一个很好的实践,它涵盖了OpenGL的基本概念、窗口管理、事件处理以及简单的图形绘制。通过学习和实现这样的项目,开发者可以深入理解OpenGL的工作流程,并为更复杂的3D图形...

    Java简易画图板

    【Java简易画图板】是一个基于Java编程语言开发的简单图形绘制工具,它为用户提供了一个基本的画布,用户可以通过各种绘图工具进行创作。这个程序包含了一系列基础的图形元素和编辑功能,如直线、铅笔、圆形和矩形,...

    画图板,window画图板

    2. 工具选择:画图板提供了多种画笔、线条、形状工具,如直线、曲线、矩形、椭圆等,通过切换工具,可以在同一画布上实现不同的动态效果。 3. 透明度调节:用户可以调整画笔或填充的透明度,创造出渐变或半透明的...

    Java 实现画图板

    综上所述,"Java 实现画图板"这个项目涵盖了Java GUI编程的基本元素,包括图形绘制、事件处理、用户交互以及可能的文件操作。通过实践这样的项目,开发者不仅可以掌握Java图形编程的基础,还能提升对用户界面设计的...

    简单画图板的设计

    6. **编程语言和框架**:实现画图板可以选用多种编程语言,如C#、Java、Python或JavaScript。通常会利用图形用户界面库,如Windows Forms、Qt、wxWidgets或HTML5的Canvas API,来简化UI的构建和图形绘制。 7. **...

    java画图板程序代码

    Java 画图板程序设计与实现 Java 画图板是使用 Java 语言编写的图形绘制程序,提供了基本的绘图功能,如画笔、直线、椭圆、矩形等,用户可以使用该程序绘制简单的图形。下面我们将对 Java 画图板程序进行详细的分析...

    java实现简易画图板源码

    8. **布局管理**: 画图板界面可能包含多个组件,如工具栏、颜色选择器等。我们需要使用布局管理器(如FlowLayout、GridLayout或BorderLayout)来排列这些组件。 9. **性能优化**: 为了提供流畅的用户体验,我们需要...

    Flash简易画图板(选中工具作图)

    本篇文章将深入探讨一个基于Flash开发的简易画图板项目,它具备选中工具作图、可擦除、颜色条选择以及线条粗细调整等功能,这些特性使得这个画图板极具实用性。通过源代码分析,我们可以学习到如何利用ActionScript...

    画图板_Vc_

    《VC++实现的简易画图板程序解析》 在计算机编程领域,开发一款类似Windows画图板的小程序是一项常见的实践项目,它可以帮助初学者更好地理解图形用户界面(GUI)编程和基本的图像处理技术。本篇文章将深入探讨一个...

Global site tag (gtag.js) - Google Analytics