`
lj_gzy2014
  • 浏览: 18253 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

java图形化用户界面

    博客分类:
  • java
 
阅读更多

          在前面我们实现了画一条直线,那么如何画曲线呢?如何让画笔如同手中的铅笔一样想怎样画就怎样画?那么今天就来实现画铅笔线。

package PaintBoard;

import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;

import javax.swing.JFrame;

public class MyPanint extends JFrame {

	public void showUI(){
		
		this.setSize(400, 400);
		this.setLocationRelativeTo(null);
		this.setDefaultCloseOperation(3);
		this.setTitle("简易画图板");
		
		this.setVisible(true);	
		Graphics g=this.getGraphics();
		Listener1 lisn1=new Listener1(g);
		this.addMouseMotionListener(lisn1);
		this.addMouseListener(lisn1);
	}
	
//	public void paint(Graphics g){
//		super.paint(g);
//	}
	public static void main(String[] args) {
		MyPanint mp=new MyPanint();
		mp.showUI();

	}
}

 

package PaintBoard;

import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.util.ArrayList;

public class Listener1 implements MouseListener,MouseMotionListener{
      int x1,y1,x2,y2;
      int x,y;
     ArrayList<Position> list1=new ArrayList<>();
     ArrayList<Position> list2=new ArrayList<>();
     private  Graphics g;
	 public Listener1(Graphics g) {
		this.g = g;
	}
	public void mouseClicked(MouseEvent e) {
		
		
	}

	
	public void mousePressed(MouseEvent e) {
		
		
	}

	
	public void mouseReleased(MouseEvent e) {
		 x2=e.getX();
		 y2=e.getY();
		 Position pos=new Position(x2, y2);
		 list1.add(pos);
		
	}

	
	public void mouseEntered(MouseEvent e) {
		
		
	}

	
	public void mouseExited(MouseEvent e) {
		
		
	}

	public void mouseDragged(MouseEvent e) {
		x=e.getX();
		y=e.getY();
		Position ps=new Position(x, y);
		list2.add(ps);
		System.out.println(""+list2.size());
		for(int i=1;i<list2.size();i++){
			
			Position pos1=list2.get(i-1);
			Position pos2=list2.get(i);
         if(Math.abs(pos1.getX()-pos2.getX())>10||Math.abs(pos1.getY()-pos2.getY())>10){
        	 continue;
         }else{
        	 g.setColor(Color.RED);
			g.drawLine(pos1.getX()	,pos1.getY(),pos2.getX(), pos2.getY());
			}
		}
		
	}
	
	public void mouseMoved(MouseEvent e) {
//		 x1=e.getX();
//		 y1=e.getY();
//		 System.out.println(""+x1);
		
	}

}

 

package PaintBoard;

public class Position {
	int x,y;

	public int getX() {
		return x;
	}

	public void setX(int x) {
		this.x = x;
	}

	public int getY() {
		return y;
	}

	public void setY(int y) {
		this.y = y;
	}

	public Position(int x, int y) {
		this.x = x;
		this.y = y;
	}
}

 

       铅笔线实现的思想就是将鼠标拖拽移动的点的坐标存在链表里面,然后遍历链表,将线条画出来。

画图板就写到这里,只是写了比较典型的一些功能,其余的大多比较的简单,有兴趣的同学可以试着做出电脑上面画图板的效果。

分享到:
评论

相关推荐

    java图形化用户界面实现加法运算

    利用java完成图形化用户界面实现加法运算,第一个加第二个当点击等号时在第三个文本框中显示相加之和

    java图形化用户界面毕业设计的外文英文文献翻译.doc

    java图形化用户界面毕业设计的外文英文文献翻译.doc

    Java图形用户界面实习报告

    ### Java图形用户界面实习报告知识点解析 #### 实验目的概览 本次实习旨在深化学生对Java图形用户界面的理解与应用,具体目标包括: 1. **掌握GUI基本组件**:了解并熟练使用Java Swing或SWT库中的基础组件,如按钮...

    Java图形化界面实现图书管理系统.zip

    Java图形化界面(GUI,Graphical User Interface)是开发者与用户进行交互的一种方式,尤其在桌面应用程序中,GUI使得用户能够通过视觉元素如按钮、文本框、菜单等进行操作。在Java中,我们可以使用Java Swing或...

    图形化用户界面小程序

    一个小程序,不过还行,适合初学者看,特别是大一的刚学的人

    java图形化实现文件上传

    利用java图形化界面和网络编程相结合实现的--文件上传。 运行步骤: (1)分别运行工程两个包中的两个.java文件(UploadClient.java和UploadServer.java)分别会弹出“上传客服端”和“上传服务器”两个窗口。 ...

    java图形化界面实现的个人通讯录管理系统

    这个系统提供了用户友好的图形用户界面(GUI),使得用户能够方便地进行个人信息管理和通讯录的操作。以下是对该系统核心知识点的详细解释: 1. **Java GUI框架**:Java提供多种GUI库,如Swing和JavaFX,用于创建...

    java 图形用户界面设计

    "java 图形用户界面设计" Java 图形用户界面设计是 Java 编程语言中的一种重要组件,用于创建图形用户界面(GUI)。在 Java 中,有多种方式来设计 GUI,包括使用 AWT、Swing 和 SWT/JFace 等开发工具集。下面将...

    JAVA图形化界面银行家算法

    通过NETBEANS,开发者可以利用其丰富的组件库和可视化设计工具,创建出友好的用户界面,使得用户可以方便地模拟各种场景,观察银行家算法如何处理不同的资源请求,从而深入理解该算法的工作原理。 综上所述,JAVA...

    JAVA图形用户界面设计与实例 陈家兴等 2004年.pdf

    《JAVA图形用户界面设计与实例》是陈家兴等作者在2004年出版的一本关于Java GUI设计的书籍。该书很可能涉及到使用Java编程语言开发图形用户界面(Graphical User Interface,简称GUI)的知识点,以及通过实例来加深...

    java图形用户界面

    Java图形用户界面(GUI,Graphical User Interface)是Java编程语言中用于创建互动式、可视化应用的核心组件。GUI允许用户通过鼠标和键盘等输入设备与程序进行交互,提供了丰富的控件和布局管理器来构建复杂的窗口...

    基于Java图形化界面的图书管理系统

    Java图形化界面(GUI)是通过Java Swing库实现的,Swing提供了丰富的组件和工具来构建用户友好的应用程序。在这个图书管理系统中,Swing被用来创建各种交互式控件,如文本框、按钮、列表视图等,用于输入、显示和...

    java 图形化界面 swing框架

    Java Swing框架是Java标准库中的一个关键部分,用于构建丰富的图形用户界面(GUI)。它提供了大量的组件和工具,使得开发者可以创建出具有专业外观和功能的桌面应用程序。Swing是建立在AWT(Abstract Window Toolkit...

    Java图形用户界面设计 PPT 大学课件

    Java 图形用户界面设计 PPT 大学课件 Java 图形用户界面设计 PPT 大学课件 Java 图形用户界面设计 PPT 大学课件 Java 图形用户界面设计 PPT 大学课件

    java图形化界面编程资料.zip

    在Java中,有两种主要的图形用户界面(GUI)库:Abstract Window Toolkit(AWT)和Swing。这两个库提供了丰富的组件集合,用于构建功能丰富的交互式应用。 AWT是Java早期提供的GUI库,它是Java平台的基础,直接与...

    使用java,jdbc连接数据库和Java swing图形化界面完成一个商品管理系统.zip

    jdbc连接数据库和Java swing图形化界面完成一个商品管理系统.zip”的压缩包中,包含了使用Java编程语言,结合JDBC(Java Database Connectivity)接口与MySQL数据库,以及利用Java Swing构建图形用户界面(GUI)来...

    JAVA编程图形用户界面[整理].pdf

    JAVA 编程图形用户界面 JAVA 编程图形用户界面是 Java 语言中的一种重要应用,主要用于创建图形用户界面(GUI)。图形用户界面是用户与计算机之间交互的桥梁,提供了直观、friendly 的操作方式。JAVA 编程图形用户...

    Java图形用户界面设计

    ### Java图形用户界面设计 #### 一、图形用户界面(GUI)概述 在现代软件开发领域,图形用户界面(Graphical User Interface, GUI)是人机交互的重要方式之一。通过直观的图形界面,用户可以轻松地操作软件应用。...

    Java语言的图形用户界面开发技术

    应用AWT组件开发图形用户界面程序 Java事件处理 图形用户界面AWT组件学习 应用Swing组件开发图形用户界面 Applet应用程序与图形用户界面介绍

    java图形化界面编程.zip

    在Java中,Swing库提供了丰富的组件和工具,使开发者能够构建功能强大的GUI(图形用户界面)。Swing是Java Foundation Classes (JFC) 的一部分,它是Sun Microsystems(现已被Oracle收购)为Java平台设计的高级用户...

Global site tag (gtag.js) - Google Analytics