`
felixour
  • 浏览: 33054 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

Netjava project 简单画板的实现

阅读更多

从一开始接触计算机,我们就知道计算机的  开始菜单-程序-附件中有个画图工具。
在当时这个工具也是的确非常的好用,那么今天我们要做的是一个简单的画板。
这个画板能够实现画直线,画矩形,画圆角矩形,画圆,画三角形这五个功能。
这便是我用事件机制做出来的第一个程序。

 

首先我们分析一下如何实现这个画板。首先建立一个窗体,在窗体的北部添加5个按钮,
分别为Line,Rectangle,RoundRect,Round,Triangle
然后创建画布对象,用窗体类继承JFrame,并获取画布对象。

//设置窗体继承JFrame
public class DrawTable extends JFrame{

	//定义画图模式,默认为直线
	private String drawshape= "Line";
	
	public void initUI(){
		//设置窗体大小
		this.setSize(new Dimension(600, 500));
		//设置窗体的位置居中
		this.setLocationRelativeTo(null);
		//设置窗体的关闭按钮
		this.setDefaultCloseOperation(3);
		//设置窗体不可以调节大小
		this.setResizable(false);
		
		//建立北部面板
		JPanel panelnorth = new JPanel();
		//建立五个按钮对象
		JButton Line = new JButton("Line");
		JButton Rect = new JButton("Rectangle");
		JButton RectRound = new JButton("RoundRect");
		JButton Round = new JButton("Round");
		JButton Triangle = new JButton("Triangle");
		//将5个按钮添加到面板上
		panelnorth.add(Line);
		panelnorth.add(Rect);
		panelnorth.add(RectRound);
		panelnorth.add(Round);
		panelnorth.add(Triangle);
		//将面板添加到窗体的北部
		this.add(panelnorth,BorderLayout.NORTH);
		//建立画布面板
		JPanel drawpanel = new JPanel();
		//设置画布面板背景为白色
		drawpanel.setBackground(Color.WHITE);
		//将画布面板添加到窗体中央
		this.add(drawpanel,BorderLayout.CENTER);
		//设置窗体可见
		this.setVisible(true);
		//获取画布对象
		Graphics g = drawpanel.getGraphics();
		//实例化画布监听器对象
		DrawListener dl = new DrawListener(g,this);
		//在画布面板上添加监听器
		drawpanel.addMouseListener(dl);
	}
	//获取画布模式的方法
	public String getshape(){
		return drawshape;
	}
}

 

下面就是对按钮的监听,我们可以创建一个匿名内部类,来获取按钮的actioncommend

 

ActionListener al = new ActionListener(){
	public void actionPerformed(ActionEvent e) {
			//获取按钮对应的字符串
			drawshape = e.getActionCommand();
		}
	};
//在按钮上添加监听器
Line.addActionListener(al);
Rect.addActionListener(al);
RectRound.addActionListener(al);
Round.addActionListener(al);
Triangle.addActionListener(al);

 

创建好窗体以后,我们开始设置画布面板的监听器,即为上面的DrawListener

然后我们就要建立监听器,获取鼠标点的坐标,并且调用相应的方法。

 

//画线的方法
public void drawLine() {
	g.drawLine(x1, y1, x2, y2);
}
	
//画矩形的方法,先交换使得x1,y1最小,然后画矩形
public void drawRect() {
	if (x1 > x2) {
		int t = x1;
		x1 = x2;
		x2 = t;
	}
	if (y1 > y2) {
		int t = y1;
		y1 = y2;
		y2 = t;
	}
	g.drawRect(x1, y1, x2 - x1, y2 - y1);
}
//与画矩形的原理相同
public void drawRectRound() {
	if (x1 > x2) {
		int t = x1;
		x1 = x2;
		x2 = t;
	}
	if (y1 > y2) {
		int t = y1;
		y1 = y2;
		y2 = t;
	}
	g.drawRoundRect(x1, y1, x2 - x1, y2 - y1, 20, 20);
}
//画圆的方法
public void drawRound() {
	if (x1 > x2) {
		int t = x1;
		x1 = x2;
		x2 = t;
	}
	if (y1 > y2) {
		int t = y1;
		y1 = y2;
		y2 = t;
	}
	//获取半径
	int r = Math.min(x2 - x1, y2 - y1);
	g.drawOval(x1, y1, r, r);
}

//画三角形的方法,先判断,如果是true,就画线并把两个点存起来,下一次是false,就连接另外两条线段
public void drawtriangle() {
	if (bol) {
		drawLine();
		tx1 = x1;
		ty1 = y1;
		tx2 = x2;
		ty2 = y2;
		bol = false;
	} else {
		g.drawLine(tx1, ty1, x2, y2);
		g.drawLine(tx2, ty2, x2, y2);
		bol = true;
	}
}

 

 这样我们就能够在画布上画出直线,矩形等好看的图形啦~

1
0
分享到:
评论

相关推荐

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

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

    java简易小画板

    本代码是编写的一个java简易小画板 计算机图形学

    Java实现简单的画板

    在本文中,我们将深入探讨如何使用Java编程语言来实现一个简单的画板应用程序。这个程序允许用户在图形用户界面上绘制各种基本形状,如线条、矩形、圆形等,从而提供了一个基本的绘画环境。 首先,我们需要引入Java...

    javaGUI小画板

    Java GUI小画板是一个利用Java图形用户界面(GUI)技术开发的简单绘画应用程序。这个程序最初设计用于创新项目,特别是为了生成车牌字体并进行编辑。然而,随着项目的进展,这个方案最终被放弃。尽管如此,它依然...

    Java实现小画板程序

    Java实现小画板程序

    基于Java的简易几何画板的实现.pdf

    本文主要讲述了基于Java的简易几何画板的实现,通过简易几何画板的制作,简单介绍了Java图形编程方法。画板能够实现直线、曲线、长方形、正方形、椭圆和圆这些基本几何图形的绘制,并能够擦除和清除面板上已有的图形...

    java做的画板源代码

    在Java编程领域,一个"java做的画板源代码"项目通常是一个基于图形用户界面(GUI)的应用程序,它允许用户通过鼠标或触摸设备在屏幕上绘制图形和线条。这个项目不仅展示了Java的基础知识,还涉及了Java Swing或...

    java project.rar

    java project.rarjava project.rarjava project.rarjava project.rarjava project.rarjava project.rar

    java画板代码 可以画图形

    本篇文章将深入探讨如何使用Java实现画板功能,并通过代码示例来展示如何画出简单的几何图形。 首先,我们需要了解`java.awt.Graphics`类,它是Java AWT的核心绘图类。这个类提供了一系列的方法,如`drawLine()`, `...

    javaProject.zip

    【标题】"javaProject.zip" 是一个包含Java项目源代码的压缩文件,它通常用于存储开发者编写的Java应用程序或Web应用程序的所有相关文件。这个压缩包可能是为了方便分发、备份或者版本控制而创建的。 【描述】"java...

    java实现画板

    这个“java实现画板”的项目涵盖了多个核心知识点,包括图形绘制、事件处理、颜色选择以及文件操作。下面我们将逐一探讨这些知识点。 首先,图形绘制是这个项目的基石。Java提供了AWT(Abstract Window Toolkit)和...

    基于JAVA的画板程序

    通过这个“基于JAVA的画板程序”,学生可以深入理解Java GUI编程,事件驱动的编程范式,以及如何通过Java实现图形绘制和用户交互。同时,这也是一个很好的实践项目,帮助提升问题解决和软件工程能力。

    画板 java 程序

    【描述】:“java简单的画板程序 供大家学习和参考” 这个描述表明,该程序设计的目的是教学和实践,它可能包含了基本的绘图功能,如选择颜色、线条粗细,以及绘制直线、曲线、圆形等基本形状。在Java中,这些功能...

    Java 画板设计分析与实现[源码][附图]

    - 实现简单的游戏,如俄罗斯方块,使用画板绘制游戏画面。 - 设计绘图工具,让用户可以直接在画板上绘制图形或编辑图片。 - 创建数据可视化工具,将复杂的数据以图表的形式展示出来。 在实际开发中,你可能会...

    java课程设计大作业<画板图像编辑器>

    本项目名为“画板图像编辑器”,是一个基于Java实现的简易图像处理工具,旨在帮助初学者熟悉Java编程并实践GUI(图形用户界面)应用的开发。这个图像编辑器虽然功能相对简单,但包含了基本的图像操作,如截图和保存...

    画画_java画板_

    在Java中,我们可以利用Java的AWT(Abstract Window Toolkit)或Swing库来创建画板,实现图形的绘制。 首先,让我们详细了解一下Java AWT和Swing库。AWT是Java最早提供的图形用户界面(GUI)工具包,它提供了基本的...

    java画板程序

    Java画板程序是一种基于Java编程语言开发的图形用户界面(GUI)应用,它允许用户通过鼠标或触控设备在屏幕上绘制图形。这个程序通常会利用Java的AWT(Abstract Window Toolkit)或Swing库来创建图形组件,如画布、...

    Java_project1.zip

    Java_project1.zip 文件是一个包含Java编程语言实现的图书管理系统源代码的压缩包。这个系统通常用于图书馆或类似机构中,用于自动化管理图书的借阅、归还、查询等操作。在深入理解这个系统之前,我们需要了解Java...

    java共享画板

    用Java实现的共享画板实例 java socket编程

    用java编写的画板程序

    在Java编程语言中,开发一个画板程序是一项有趣且实用的...通过以上这些技术,一个Java画板程序可以实现丰富的图形操作功能,让用户自由地创作和编辑他们的作品。这样的程序对学习和理解Java GUI编程是非常有价值的。

Global site tag (gtag.js) - Google Analytics