package drawLine;
/**
* @author FlyingFire
* @date:2011-6-1 下午04:44:47
* @summary:画板窗口最小化以后,所有的直线全部消失
*/
public class DrawUI extends javax.swing.JFrame{
java.awt.Graphics g;
UIListener listener;
public void showUI(){
this.setTitle("简易画板");
this.setSize(600,500);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(3);
this.setVisible(true);
g=this.getGraphics();
listener=new UIListener(g);
this.addMouseListener(listener);
}
public void paint(){
System.out.println("listener");
for(int i=0;i<listener.list.size();i++){
g.drawLine(listener.list.get(i).x1,listener.list.get(i).y1,listener.list.get(i).x2,listener.list.get(i).y2);
}
}
public static void main(String a[]){
DrawUI dui=new DrawUI();
dui.showUI();
dui.paint();
}
}
*********************************************************
package drawLine;
public class LinePointers {
public int x1;
public int y1;
public int x2;
public int y2;
public LinePointers(int x1,int y1,int x2,int y2){
this.x1=x1;
this.y1=y1;
this.x2=x2;
this.y2=y2;
}
}
****************************************************
package drawLine;
import java.awt.event.MouseEvent;
public class UIListener extends java.awt.event.MouseAdapter{
java.util.ArrayList<LinePointers> list=new java.util.ArrayList<LinePointers>();
private java.awt.Graphics g;
private int x1,y1,x2,y2;
private int countClick=1;
public UIListener(java.awt.Graphics g){
this.g=g;
}
public void mouseClicked(MouseEvent e) {
System.out.println("监听了");
if(countClick==1){
x1=e.getX();
y1=e.getY();
countClick++;
System.out.println(x1+"x1------y1"+y1);
}
else{
x2=e.getX();
y2=e.getY();
System.out.println(x2+"x2------y2"+y2);
g.drawLine(x1, y1, x2, y2);
countClick=1;
LinePointers twoPoints=new LinePointers(x1,y1,x2,y2);
list.add(twoPoints);
}
}
}
分享到:
相关推荐
通过以上步骤,你可以创建一个基本的C#画板应用,允许用户在界面上画直线。随着需求的增加,你可以添加更多的功能,如支持多颜色、线宽调整、橡皮擦等。记住,C#的图形绘制是基于GDI+的,所以一定要善用System....
可能包括但不限于颜色选择器、画笔粗细调整、填充工具、橡皮擦、直线和曲线绘制、形状模板(如圆形、矩形、星形等)、文字添加以及图层管理等功能。这些工具使得用户不仅可以进行基本的线条和形状绘制,还能进行更...
这个程序为用户提供了一个简单的画板界面,允许用户进行基本的绘画操作,比如绘制直线、曲线、矩形、椭圆等图形,并能进行颜色选择、画笔粗细调整等。开发者通过该程序展示了如何在C#环境下构建一个图形用户界面...
使用python做的一个简易画板,能够实现画点、画直线、画多边形、画椭圆等功能,其中包含了对Tkinter的操作以及对于GUI的操作,希望对python初学者能够有所帮助
在本文中,我们将深入探讨如何使用Qt框架来编写一个简易的画板程序。Qt是一个功能强大的C++库,广泛用于创建跨平台的图形用户界面(GUI)应用,包括绘图和多媒体应用程序。初学者可以通过这个项目了解到Qt的基本用法...
易语言简易画板源码,简易画板,公用接口_寻找文件扩展,公用接口_复制目录,公用接口_数组到表格,公用接口_生成编号,公用接口_生成密码,公用接口_时间到文本,公用接口_数据到十六进制文本,公用接口_十六进制文本到数据,...
一个简易画板的实现 有简单的画图,画图形,改颜色功能
4. **交互设计**:为了让用户能够轻松地画出直线,"简易画板"必须有一个良好的交互设计。它可能包括开始和结束点的选择,以及线条的粗细和透明度调整等功能。 5. **存储与保存**:用户在画板上创作的内容需要被保存...
QT做的简易画板是一款基于Qt框架开发的图形用户界面应用,它允许用户通过鼠标操作进行基本的绘图活动。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动和嵌入式设备上,支持多种操作系统,如Windows、Linux...
本代码是编写的一个java简易小画板 计算机图形学
【MFC简易画板】是基于Microsoft Foundation Class (MFC) 库开发的一款简单图形编辑器,它利用VC++开发工具实现,旨在提供类似于Windows操作系统自带的“画图”程序的功能。这款应用允许用户进行基本的绘图操作,如...
在这个简易画板应用中,我们可能创建一个`Form`对象作为主窗口,并在其中添加一个无边框的`PictureBox`控件,用于显示画布。通过设置`PictureBox`的`SizeMode`属性为`StretchImage`,可以让其完全填充窗体空间。 ...
这个“mfc简易画板程序”是针对初学者的一个示例项目,旨在帮助他们理解和实践MFC框架的基本用法。 在MFC中,一个应用程序通常包含多个类,这些类对应于Windows的消息处理机制。例如,CWinApp类代表应用程序本身,...
如果需要在画板上画在特定背景上,可以在`MyCanvas`类的构造函数中加载背景图片,然后在`onDraw()`方法中先绘制背景图片,再进行用户绘制。 8. **性能优化**: 为了提高绘图性能,可以在`onDraw()`方法中使用`...
在Android开发中,创建一个简易画板应用是一个常见的练习,它可以帮助开发者深入理解自定义View的概念和绘图机制。这个源码项目就是基于这样的目的,使用了Android的自定义View来构建一个基本的画板功能,让用户可以...
易语言源码易语言简易画板源码.rar 易语言源码易语言简易画板源码.rar 易语言源码易语言简易画板源码.rar 易语言源码易语言简易画板源码.rar 易语言源码易语言简易画板源码.rar 易语言源码易语言简易画板源码....
本项目"matlab简易画板GUI程序"是一个基本的图形画板应用,用户可以在这个画板上进行简单的绘图操作,如绘制点、线、矩形和椭圆,同时支持选择颜色和线条粗细。遗憾的是,目前该程序尚未实现添加文本框的功能。 ...
【基于C#的简易画板】是一个使用Visual Studio 2010开发的简单图形编辑器,主要功能是让用户能够绘制基本图形、擦除内容以及在导入的图像上进行绘图。这个项目对于初学者来说,是理解C#图形编程和Windows应用程序...
【Pygame小作品】简易画板是一款基于Python的图形用户界面应用,利用Pygame库创建了一个功能丰富的电子画板。Pygame是Python编程语言中一个用于开发2D游戏和多媒体应用的库,它包含了多种模块,如窗口管理器、事件...
在Android开发中,创建一个简易画板(PaintOnTouchEvent)是一项常见的需求,它涉及到自定义View、触摸事件处理以及用户交互的设计。这个项目的核心在于如何有效地处理OnTouchEvent,以实现用户在屏幕上绘制图形的...