在前面我们实现了画一条直线,那么如何画曲线呢?如何让画笔如同手中的铅笔一样想怎样画就怎样画?那么今天就来实现画铅笔线。
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图形化用户界面毕业设计的外文英文文献翻译.doc
### Java图形用户界面实习报告知识点解析 #### 实验目的概览 本次实习旨在深化学生对Java图形用户界面的理解与应用,具体目标包括: 1. **掌握GUI基本组件**:了解并熟练使用Java Swing或SWT库中的基础组件,如按钮...
Java图形化界面(GUI,Graphical User Interface)是开发者与用户进行交互的一种方式,尤其在桌面应用程序中,GUI使得用户能够通过视觉元素如按钮、文本框、菜单等进行操作。在Java中,我们可以使用Java Swing或...
一个小程序,不过还行,适合初学者看,特别是大一的刚学的人
利用java图形化界面和网络编程相结合实现的--文件上传。 运行步骤: (1)分别运行工程两个包中的两个.java文件(UploadClient.java和UploadServer.java)分别会弹出“上传客服端”和“上传服务器”两个窗口。 ...
这个系统提供了用户友好的图形用户界面(GUI),使得用户能够方便地进行个人信息管理和通讯录的操作。以下是对该系统核心知识点的详细解释: 1. **Java GUI框架**:Java提供多种GUI库,如Swing和JavaFX,用于创建...
"java 图形用户界面设计" Java 图形用户界面设计是 Java 编程语言中的一种重要组件,用于创建图形用户界面(GUI)。在 Java 中,有多种方式来设计 GUI,包括使用 AWT、Swing 和 SWT/JFace 等开发工具集。下面将...
通过NETBEANS,开发者可以利用其丰富的组件库和可视化设计工具,创建出友好的用户界面,使得用户可以方便地模拟各种场景,观察银行家算法如何处理不同的资源请求,从而深入理解该算法的工作原理。 综上所述,JAVA...
《JAVA图形用户界面设计与实例》是陈家兴等作者在2004年出版的一本关于Java GUI设计的书籍。该书很可能涉及到使用Java编程语言开发图形用户界面(Graphical User Interface,简称GUI)的知识点,以及通过实例来加深...
Java图形用户界面(GUI,Graphical User Interface)是Java编程语言中用于创建互动式、可视化应用的核心组件。GUI允许用户通过鼠标和键盘等输入设备与程序进行交互,提供了丰富的控件和布局管理器来构建复杂的窗口...
Java图形化界面(GUI)是通过Java Swing库实现的,Swing提供了丰富的组件和工具来构建用户友好的应用程序。在这个图书管理系统中,Swing被用来创建各种交互式控件,如文本框、按钮、列表视图等,用于输入、显示和...
Java Swing框架是Java标准库中的一个关键部分,用于构建丰富的图形用户界面(GUI)。它提供了大量的组件和工具,使得开发者可以创建出具有专业外观和功能的桌面应用程序。Swing是建立在AWT(Abstract Window Toolkit...
Java 图形用户界面设计 PPT 大学课件 Java 图形用户界面设计 PPT 大学课件 Java 图形用户界面设计 PPT 大学课件 Java 图形用户界面设计 PPT 大学课件
在Java中,有两种主要的图形用户界面(GUI)库:Abstract Window Toolkit(AWT)和Swing。这两个库提供了丰富的组件集合,用于构建功能丰富的交互式应用。 AWT是Java早期提供的GUI库,它是Java平台的基础,直接与...
jdbc连接数据库和Java swing图形化界面完成一个商品管理系统.zip”的压缩包中,包含了使用Java编程语言,结合JDBC(Java Database Connectivity)接口与MySQL数据库,以及利用Java Swing构建图形用户界面(GUI)来...
JAVA 编程图形用户界面 JAVA 编程图形用户界面是 Java 语言中的一种重要应用,主要用于创建图形用户界面(GUI)。图形用户界面是用户与计算机之间交互的桥梁,提供了直观、friendly 的操作方式。JAVA 编程图形用户...
### Java图形用户界面设计 #### 一、图形用户界面(GUI)概述 在现代软件开发领域,图形用户界面(Graphical User Interface, GUI)是人机交互的重要方式之一。通过直观的图形界面,用户可以轻松地操作软件应用。...
应用AWT组件开发图形用户界面程序 Java事件处理 图形用户界面AWT组件学习 应用Swing组件开发图形用户界面 Applet应用程序与图形用户界面介绍
在Java中,Swing库提供了丰富的组件和工具,使开发者能够构建功能强大的GUI(图形用户界面)。Swing是Java Foundation Classes (JFC) 的一部分,它是Sun Microsystems(现已被Oracle收购)为Java平台设计的高级用户...