该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

先献上代码

import java.awt.Color;

import java.awt.Component;

import java.awt.Font;

import java.awt.Graphics;

import java.awt.Panel;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import java.util.ArrayList;

import java.util.List;

import javax.swing.JFrame;

import javax.swing.JPanel;

public class 能画画的画板 extends JFrame{

MyPanel mp = new MyPanel();

public 能画画的画板() {

this.add(mp);

mp.addMouseListener(new MyMouse());

mp.addMouseMotionListener(new MyMouse());

showMe();

}

class MyMouse extends MouseAdapter{

@Override

public void mousePressed(MouseEvent e) {

if (mp.mylist==null) {

mp.mylist = new ArrayList<>();

}

// System.out.println("压了一下。");

mp.mylist.add(new GetLocation(e.getX(), e.getY()));

mp.repaint();

}

@Override

public void mouseReleased(MouseEvent e) {

// System.out.println("松了一下。");

mp.mylist.add(new GetLocation(e.getX(), e.getY()));

mp.repaint();

}

@Override

public void mouseDragged(MouseEvent e) {

// System.out.println("拖了一下。");

mp.mylist.add(new GetLocation(e.getX(), e.getY()));

mp.setBackground(Color.red);

mp.repaint();

}

}

private void showMe() {

this.setBounds(100, 50, 500, 500);

this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

public static void main(String[] args) {

new 能画画的画板();

System.out.println();

}

class MyPanel extends Panel{

List< GetLocation> mylist = null;

@Override

public void paint(Graphics g) {

if (mylist!=null) {

GetLocation g0 = mylist.get(0);

for (int i = 1; i < mylist.size(); i++) {

GetLocation g1 = mylist.get(i);

g.drawLine(g0.x, g0.y, g1.x, g1.y);

g0=g1;

}

}

}

}

class GetLocation{

private int x,y;

public GetLocation(int x, int y) {

this.x = x;

this.y = y;

}

public int getX() {

return x;

}

public int getY() {

return y;

}

@Override

public String toString() {

return "GetLocation [x=" + x + ", y=" + y + "]";

}

}

}

看在这么辛苦弄格式的份上帮帮忙呗,好吧 好像忘记说问题了。。

问题就是 运行这段代码的时候,发现画出的 第二条线 和 第一条线

自动首尾相连了,怎么解决这个问题?

java g.drawline_菜鸟求教:关于Graphics g中的g.drawLine问题相关推荐

  1. java drawstring 多行,关于JAVA中的g.drawString()方法,该如何处理

    当前位置:我的异常网» J2SE » 关于JAVA中的g.drawString()方法,该如何处理 关于JAVA中的g.drawString()方法,该如何处理 www.myexceptions.ne ...

  2. 惠州 菜鸟机器人_菜鸟首款智能配送机器人小G曝光!以后快递都这么送了

    你能想象,打开门看见一个萌萌哒机器人为你送快递时的兴奋吗? 今日,菜鸟网络发布了一段视频,展示了旗下E.T.物流实验室研发的首款末端配送机器人小G. 简单来说,这是一款专门用于"快递最后一公 ...

  3. nvidia-smi 中的 G 和 C 类型是什么意思?

    nvidia-smi 中的 G 和 C 类型是什么意思? nvidia-smi 中的 G 和 C 类型是什么意思? nvidia-smi 中的 G 和 C 类型是什么意思? 问题: 我认为这是因为当我 ...

  4. go中的G.M.P以及Goroutine、Scheduler

    go中的G.M.P以及Goroutine.Scheduler 并发(并行),一直以来都是一个编程语言里的核心主题之一,也是被开发者关注最多的话题:Go语言作为一个出道以来就自带 『高并发』光环的富二代 ...

  5. 关于正则表达式 g,m 参数的总结,为了回答“正则表达式(/[^0-9]/g,'')中的/g是什么意思?”...

    为了解答"正则表达式(/[^0-9]/g,'')中的"/g"是什么意思?"这个问题,也为了能够便于大家对正则表达式有一个更为综合和深刻的认识,我将一些关键点和容 ...

  6. [转]关于正则表达式 g,m 参数的总结,为了回答“正则表达式(/[^0-9]/g,'')中的/g是什么意思?”...

    为了解答"正则表达式(/[^0-9]/g,'')中的"/g"是什么意思?"这个问题,也为了能够便于大家对正则表达式有一个更为综合和深刻的认识,我将一些关键点和容 ...

  7. linux命令chmod如果当前用户属于多个组,那这个命令中的g指的是哪个组?按什么规则?

    linux命令chmod如果当前用户属于多个组,那这个命令中的g指的是哪个组?按什么规则? 比如这种命令 chmod u=rwx,g=rw,o=r /home/test1 主用户组,即id命令显示的g ...

  8. Java集合从菜鸟到大神演变

    转载自 Java集合从菜鸟到大神演变 先来看一张集合概况图,这里从上到下列举了几个最经常用的集合 1.集合接口 java.util.Collection 是一个集合接口.它提供了对集合对象进行基本操作 ...

  9. 正则表达式中/i,/g,/ig,/gi,/m的区别和含义

    正则表达式中/i,/g,/ig,/gi,/m的区别和含义 /i (忽略大小写) /g (全文查找出现的所有匹配字符) /m (多行查找) /gi(全文查找.忽略大小写) /ig(全文查找.忽略大小写 ...

  10. Java毕设项目菜鸟驿站快递分发系统计算机(附源码+系统+数据库+LW)

    Java毕设项目菜鸟驿站快递分发系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...

最新文章

  1. node开启子线程_真Node多线程
  2. 30行代码消费腾讯人工智能开放平台提供的自然语言处理API
  3. 十大编程算法助程序员走上高手之路
  4. Matplotlib实例教程(四)水平条形图
  5. Spring(19)——Profile(二)
  6. 盘一盘推荐系统里值得一读的那些论文
  7. 容器学习 之 docker存储(十五)
  8. C++(STL):11---vector源码剖析
  9. 【IntelliJ IDEA】添加一个新的tomcat,tomcat启动无法访问欢迎页面,空白页,404
  10. oracle中with的用法及用处
  11. java用NIO实现文件传输_Java Nio 实现文件的传输
  12. sys.dm_exec_query_stats的total_worker_time的单位是微秒还是毫秒
  13. 5.有2个数组,第一个数组内容为:[黑龙江省,浙江省,江西省,广东省,福建省], 第二个数组为:[哈尔滨,杭州,南昌,广州,福州], 将第一个数组元素作为key,第二个
  14. extract($_POST[])
  15. 蓝桥杯集训之STL和algorithm
  16. nodejs读取服务器json文件,如何使用Node.js读取JSON文件
  17. 电脑小技巧:怎么取消电脑开机密码
  18. Vi命令的10个常用的用法
  19. HTML5小游戏源码收藏
  20. 数据仓库架构以及多维数据模型的设计

热门文章

  1. 基于人体姿态识别的AI健身系统(浅谈
  2. 问题求解RK3288调ALC5640芯片遇到的问题,前部分硬件问题,后部分如见驱动问题。
  3. 矩阵乘法np.dot()及np.multipy()区别
  4. php引物,做PCR,如何选取引物?请大家指导
  5. 杰奇reader.php源码,最新杰奇CMS Jieqi V2.4 静思文学源码全解密开源版完整源码分享,附带关关采集杰奇V3.5版程序...
  6. 小米adb驱动_腾讯口袋阅、小米多看等电子阅读器如何安装第三方软件!
  7. 计算机应用基础知识竞赛题,计算机基础知识题库
  8. CTex下载地址和方法
  9. centos 安装rarlinux
  10. bin文件用cad打开_bin文件如何打开 XP系统中的打开的技巧