- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直在寻找答案和所有内容,但找不到解决我的问题的方法。我希望在创建新圆圈时可以删除上一个圆圈(通过鼠标单击创建)?
提前非常感谢您。 :)
package javaapplication1;
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;
public class CercuriRandom extends Applet implements MouseListener{
int x,y,z,r,v,a;
Thread t;
Color culoare;
Random rand;
@Override
public void init(){
t=new Thread();
rand= new Random();
culoare=new Color(r, v, a);
addMouseListener(this);
}
@Override
public void update(Graphics g){
g.setColor(culoare);
g.fillRoundRect(x, y, z, z, z, z);
try {
Thread.sleep(25);
} catch (InterruptedException e) { }
//repaint();
}
@Override
public void mouseClicked(MouseEvent me) {
if (me.getButton()==MouseEvent.BUTTON1) {
r=rand.nextInt(256);
v=rand.nextInt(256);
a=rand.nextInt(256);
culoare=new Color(r,v,a);
x=rand.nextInt(getWidth());
y=rand.nextInt(getWidth());
z=rand.nextInt(100);
repaint();
}
}
@Override
public void mousePressed(MouseEvent me) {
}
@Override
public void mouseReleased(MouseEvent me) {
}
@Override
public void mouseEntered(MouseEvent me) {
}
@Override
public void mouseExited(MouseEvent me) {
}
}
我将在这里留下创建圆圈所需的代码。我一直在寻找答案和所有内容,但找不到解决我的问题的方法。我希望在创建新圆圈时可以删除上一个圆圈(通过鼠标单击创建)?
提前非常感谢您。 :)
最佳答案
您可以通过将最后绘制的圆的值存储为类变量来引用圆:
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.util.Random;
public class CercuriRandom extends Applet implements MouseListener {
int x, y, z, r, v, a;
// class attributes that store the last circle that was drawn
int lastX, lastY, lastZ;
Thread t;
Color culoare;
Random rand;
@Override
public void init() {
t = new Thread();
rand = new Random();
culoare = new Color(r, v, a);
addMouseListener(this);
}
@Override
public void update(Graphics g){
// clear the last drawn rectangle (before painting the new one)
g.clearRect(lastX, lastY, lastZ, lastZ);
g.setColor(culoare);
g.fillRoundRect(x, y, z, z, z, z);
// store the last values in order to delete them on next draw
lastX = x;
lastY = y;
lastZ = z;
try {
Thread.sleep(25);
} catch (InterruptedException e) { }
//repaint();
}
@Override
public void mouseClicked(MouseEvent me) {
if (me.getButton() == MouseEvent.BUTTON1) {
r = rand.nextInt(256);
v = rand.nextInt(256);
a = rand.nextInt(256);
culoare = new Color(r, v, a);
x = rand.nextInt(getWidth());
y = rand.nextInt(getWidth());
z = rand.nextInt(100);
repaint();
}
}
@Override
public void mousePressed(MouseEvent me) {
}
@Override
public void mouseReleased(MouseEvent me) {
}
@Override
public void mouseEntered(MouseEvent me) {
}
@Override
public void mouseExited(MouseEvent me) {
}
}
关于java - 如何删除刚刚通过鼠标单击创建的对象? (创建另一个时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51193785/
实现信息技术的自主可控,可以说是金融行业最紧迫、最重要的推进战略了。 人民银行、银保监会等主管部门密集出台文件,指导金融行业核心领域自主可控技术应用。 拿数据库来说,自主可控这事儿业内也
在methods中创建方法showtime,传入要跟当前时间要对比的时间 ?
其实这个没什么技术含量,当然就直接贴代码,不废话了, 但是在其实开发中还是蛮有用的,譬如论坛帖子,围脖等都有相关应用 复制代码代码如下: function tranTim
今天,杭州人的朋友圈都被这场晚会刷屏了 分散在全球的阿里人都回到杭州,为阿里巴巴送上20周岁的生日祝福。 阿里巴巴20周年年会,被称作“有史以来杭州规模最大的年会”,没有
在很多场合为了显示出信息的及时性,一般会将时间显示成“刚刚”,“5分钟前”,“3小时前”等,而不是直接将时间打印出来。比如微博,SNS类应用就最长用到这个功能。而一般存储在数据库中的时间格式为 Un
我是一名优秀的程序员,十分优秀!