/**
* 有选择的画图板的实现,
*/
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) {
}
}
截图结果:
点击画直线:
点击画圆:
相关推荐
3. **QWidget与QGraphicsView/QGraphicsScene**:在实现画图板时,通常会使用QWidget作为基础的用户界面元素,然后可能结合QGraphicsView和QGraphicsScene来创建一个可缩放、可滚动的画布。QGraphicsView负责显示...
在Java编程语言中,实现一个简单的Windows画图板是一个经典的练习,它可以帮助初学者更好地理解图形用户界面(GUI)的设计以及事件处理机制。这个项目通常会涉及到Java的Swing库,这是一个用于创建桌面应用程序的GUI...
在本项目中,"VC++实现简单的画图板程序"是一个基础级别的计算机图形学应用,主要目的是让初学者了解如何使用Microsoft Visual C++ (VC++) 编程环境来创建一个功能丰富的图形用户界面(GUI)应用程序。这个程序允许...
在本文中,我们将深入探讨如何使用Java编程语言实现一个简易的画图板应用程序。这个程序允许用户绘制各种形状,如直线、圆、曲线、喷枪图案、直角矩形和圆角矩形,并且配备橡皮擦功能以擦除已绘制的内容。下面,我们...
在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库来创建一个简易的画图板应用程序。MFC 是微软为Windows平台提供的一种C++类库,它简化了Windows API的使用,使得开发Windows应用程序更加高效...
这个"android简单的画图板实现代码"就是一个适合初学者的示例项目,旨在帮助开发者了解如何在Android环境中实现画图功能。我们将深入探讨这个项目中的关键知识点。 首先,我们需要了解Android图形绘制的基础。在...
本项目“画图板(C#实现)”是一个利用C#编写的简单图形绘制工具,用户可以通过它来绘制基本的几何形状,如直线、圆和矩形,满足日常简单的绘图需求。 【描述】: 这个C#画图板项目的核心功能包括: 1. **直线...
通过反编译或查看源码,我们可以看到类的组织结构,以及如何将上述步骤结合在一起实现画图板功能。 7. **工具使用**: - 开发过程中,IDE(集成开发环境)如Eclipse或IntelliJ IDEA可以帮助我们编写和调试代码。...
在C#编程环境中,我们可以利用Windows Forms或者WPF框架来创建一个简单的画图板应用。这个画图板能够允许用户绘制各种图形,如圆形、直线等。以下是对这个主题的详细解析: 首先,我们需要了解C#中的Graphics类,它...
【JAVA简易画图板】是一个基于Java编程语言开发的简单绘图应用程序,它为用户提供了一个基本的图形界面,用户可以通过这个界面进行简单的绘画操作。这个程序包含了一些基本的绘图功能,如绘制形状、使用铅笔工具以及...
"MFC简单画图板"是一个基于Microsoft Foundation Class (MFC)库开发的简易绘图应用程序。MFC是微软提供的一套面向对象的C++类库,它为Windows应用程序开发提供了便利,封装了Windows API,使得开发者能更高效地构建...
总结,这个基于C++和OpenGL的画图板项目是一个很好的实践,它涵盖了OpenGL的基本概念、窗口管理、事件处理以及简单的图形绘制。通过学习和实现这样的项目,开发者可以深入理解OpenGL的工作流程,并为更复杂的3D图形...
【Java简易画图板】是一个基于Java编程语言开发的简单图形绘制工具,它为用户提供了一个基本的画布,用户可以通过各种绘图工具进行创作。这个程序包含了一系列基础的图形元素和编辑功能,如直线、铅笔、圆形和矩形,...
2. 工具选择:画图板提供了多种画笔、线条、形状工具,如直线、曲线、矩形、椭圆等,通过切换工具,可以在同一画布上实现不同的动态效果。 3. 透明度调节:用户可以调整画笔或填充的透明度,创造出渐变或半透明的...
综上所述,"Java 实现画图板"这个项目涵盖了Java GUI编程的基本元素,包括图形绘制、事件处理、用户交互以及可能的文件操作。通过实践这样的项目,开发者不仅可以掌握Java图形编程的基础,还能提升对用户界面设计的...
6. **编程语言和框架**:实现画图板可以选用多种编程语言,如C#、Java、Python或JavaScript。通常会利用图形用户界面库,如Windows Forms、Qt、wxWidgets或HTML5的Canvas API,来简化UI的构建和图形绘制。 7. **...
Java 画图板程序设计与实现 Java 画图板是使用 Java 语言编写的图形绘制程序,提供了基本的绘图功能,如画笔、直线、椭圆、矩形等,用户可以使用该程序绘制简单的图形。下面我们将对 Java 画图板程序进行详细的分析...
8. **布局管理**: 画图板界面可能包含多个组件,如工具栏、颜色选择器等。我们需要使用布局管理器(如FlowLayout、GridLayout或BorderLayout)来排列这些组件。 9. **性能优化**: 为了提供流畅的用户体验,我们需要...
本篇文章将深入探讨一个基于Flash开发的简易画图板项目,它具备选中工具作图、可擦除、颜色条选择以及线条粗细调整等功能,这些特性使得这个画图板极具实用性。通过源代码分析,我们可以学习到如何利用ActionScript...
《VC++实现的简易画图板程序解析》 在计算机编程领域,开发一款类似Windows画图板的小程序是一项常见的实践项目,它可以帮助初学者更好地理解图形用户界面(GUI)编程和基本的图像处理技术。本篇文章将深入探讨一个...