GUI 用paint方法画圆点问题

问题描述

我用Frame建立一个窗口在里面画圆点,先用ArrayList容器装Point可以画出很多个,后来用变量代替就只能画一个我很纳闷这是为什么?代码如下注释部分是先用ArrayList容器的代码。importjava.awt.*;importjava.awt.event.*;importjava.util.*;publicclassMyMouseAdapter{publicstaticvoidmain(String[]args){MyFramemf=newMyFrame("Test");}}classMyFrameextendsFrame{//ArrayListpoints=null;Pointp;MyFrame(Strings){super(s);//points=newArrayList();setBounds(300,300,400,500);setVisible(true);addMouseListener(newMonitor());}publicvoidpaint(Graphicsg){//Iteratori=points.iterator();//while(i.hasNext())//{//Pointp=(Point)i.next();//g.setColor(Color.BLUE);//g.fillOval(p.x,p.y,10,10);//}g.setColor(Color.BLUE);g.fillOval(p.x,p.y,10,10);}//publicvoidaddPoint(Pointp)//{//points.add(p);//}}classMonitorextendsMouseAdapter{publicvoidmouseReleased(MouseEvente){MyFramemf=(MyFrame)e.getSource();//mf.addPoint(newPoint(e.getX(),e.getY()));mf.p=newPoint(e.getX(),e.getY());mf.repaint();}}

解决方案

解决方案二:
该回复于2014-09-22 08:43:40被版主删除

时间: 2024-11-27 02:55:49

GUI 用paint方法画圆点问题的相关文章

javase-请大神帮忙看下,为什么MyPanel中的Paint方法没有被调用

问题描述 请大神帮忙看下,为什么MyPanel中的Paint方法没有被调用 package javademo; import javax.swing.*; import java.awt.*; public class DrawDemo extends JFrame{ MyPanel mp = null; public static void main(String []args){ DrawDemo drawdemo = new DrawDemo(); } public DrawDemo(){

android-Android的drawcircle方法画出的圆超出屏幕范围之后会有重叠的矩形,怎么解决?

问题描述 Android的drawcircle方法画出的圆超出屏幕范围之后会有重叠的矩形,怎么解决? 在canvas上画一个半透明的圆,发现圆超出屏幕范围之后,会出现一个重叠的矩形,用什么解决的办法么? Paint mPaint = new Paint(); mPaint.setColor(0x64D3E6F6); mPaint.setStyle(Paint.Style.FILL); canvas.drawCircle(x,y,radius,mPaint); 计算两个矩形重叠面积"> 解决

关于java重写paint方法,求大神帮忙

问题描述 关于java重写paint方法,求大神帮忙 我能理解第一段模版函数,然后通过继承和重写方法,代入,为什么第二段代码,不需要带入父类方法,自己就跑起来了了,好像只要把paint重写了,系统自动跑, 还有中间通过屏幕监听的控制关闭的代码看不懂,为什么要这样写,老师说是匿名内部类,求大神讲解 解决方案 4444LJKHJHJHK'HJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJJJJJJJJJJJ 解决方案二: 问题1:重新pa

Win7系统关闭GUI引导的方法

今天系统之家小编就为大家介绍一下Win7系统关闭GUI引导的方法. 让我们先打开开始菜单-附件-运行. 在运行中输入 msconfig,打开配置界面. 切换到"引导"分类下,将"无GUI引导"勾选,确定退出即可!

关闭Windows7系统GUI引导的方法

  今天为大家介绍Win7系统关闭GUI引导的方法,GUI引导 = 系统启动画面,通过关闭GUI引导我们可以达到加快系统启动速度的目的. 操作步骤 先打开开始菜单-附件-运行. 在运行中输入 msconfig,打开配置界面. 切换到"引导"分类下,将"无GUI引导"勾选,确定退出即可!

在Linux下开发GUI程序的方法

在Linux下开发GUI程序的方法有很多,比如Gnome桌面使用GTK+作为默认的图形界面库,KDE桌面使用Qt作为默认的图形界面库,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的Swing/AWT组件也可以用于开发Linux下的GUI应用. 本文将依次介绍GTK+.Qt.wxWidgets和Swing/AWT,对其进行对比分析. 1. GTK+ 平台支持 虽然GTK+最初是为X Window系统开发的,但是目前已经发展成为一个跨平台的图形界面API,其支持的平台包括: Li

如何把在panel中用DrawLine()方法画的直线变成图片格式

问题描述 各为朋友:我现在想在panel中用DrawLine()方法画两条直线,然后用什么办法能把刚才画的直线变成图片格式,方便以后调用.希望各位能给我点思路.谢谢 解决方案 解决方案二:直接在panel上放个bmp,画在bmp上面,然后保存解决方案三:panel.CreateGraghics解决方案四:引用1楼q309079549的回复: 直接在panel上放个bmp,画在bmp上面,然后保存 附代码:Bitmapbm=newBitmap(this.Width,this.Height);Pen

服务器-android 在图片上画圆点,已经X,Y坐标,画出来却有偏差,

问题描述 android 在图片上画圆点,已经X,Y坐标,画出来却有偏差, 红色是正确的位置,蓝色是根据服务器传过来的X,Y,在图片上draw出来的. 解决方案 Log分别输出下蓝点和红点的坐标,看看是不是一样的 解决方案二: 你是相对于屏幕取点坐标,还是相对于图片取点坐标?如果相对于屏幕,需要减去状态栏的Y坐标. 解决方案三: 首先你明白getX和getRawX是有差别的

在paint方法中,画出自定义的控件

问题描述 using(Penpen=newPen(Color.Red){{System.Windows.Forms.ControlPaint.DrawButton(g,bound,ButtonState.Normal);}采用DrawButton可以画出vs自带的控件,不知道有没有办法画出一个自定义的控件 解决方案 解决方案二:可以让自定义控件自己来画,但并没有对应的ControlPaint.Draw...方法.如果是自定义控件,可以先建立一个实例,然后用这个实例本身来自己绘制.