java中 MouseEvent有关的 问题 50
我做了一个项目,发现了一个问题,所以做了一下的一个小测验就是检测MousePressMouseReleaseMouseClick之间的关系以及他们和Repaint()的关...
我做了 一个项目,发现了 一个问题,所以做了一下的一个 小测验
就是检测MousePress MouseRelease MouseClick之间的关系 以及他们和
Repaint()的关系;
发现 2个问题:
1,不管repaint()写在那里,总是再事件最后才会repaint();
2,MouseReleased中的repaint()没有执行;
(不用怀疑本人的电脑配置:酷睿双核E8300,2GB内存)
请各位大虾帮忙解决
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
public class MouseEvent_repaint extends JFrame implements MouseListener{
int eventNum=0;
int pic=0;
MouseEvent_repaint(){
this.setSize(100,100);
this.addMouseListener(this);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MouseEvent_repaint();
}
public void paint(Graphics g) {
System.out.println(pic);
g.clearRect(0,0,100,100);
if(eventNum==1) {
g.drawString("1",10,40);
System.out.println("mousePressed>>>>>>repaint()");
}
if(eventNum==2) {
System.out.println("mouseReleased>>>>>>repaint()");
g.drawString("2",20,40);
}
if(eventNum==3) {
System.out.println("mouseClicked>>>>>>repaint()");
g.drawString("3",30,40);
}
}
public void mouseClicked(MouseEvent arg0) {
System.out.println("mouseClicked_start");
eventNum=3;
repaint();
pic=3;
System.out.println("mouseClicked_end");
}
public void mousePressed(MouseEvent arg0) {
System.out.println("mousePressed_start");
eventNum=1;
repaint();
pic=1;
System.out.println("mousePressed_end");
}
public void mouseReleased(MouseEvent arg0) {
System.out.println("mouseRealeased_start");
eventNum=2;
repaint();
pic=2;
System.out.println("mouseRealeased_end");
}
public void mouseEntered(MouseEvent arg0) {
// TODO 自动生成方法存根
}
public void mouseExited(MouseEvent arg0) {
// TODO 自动生成方法存根
}
}
我拜托 roserouge - 魔法师 四级 6-29 15:51
你 还能看请我的提问啊
我想知道的 是 为什么 和repaint()的位置没有关系
还有为什么 MouseReleased 里面没有repaint();
我是很菜
你 专业 你来回答啊 ,你 不知道 还能别瞎掺和 展开
就是检测MousePress MouseRelease MouseClick之间的关系 以及他们和
Repaint()的关系;
发现 2个问题:
1,不管repaint()写在那里,总是再事件最后才会repaint();
2,MouseReleased中的repaint()没有执行;
(不用怀疑本人的电脑配置:酷睿双核E8300,2GB内存)
请各位大虾帮忙解决
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JFrame;
public class MouseEvent_repaint extends JFrame implements MouseListener{
int eventNum=0;
int pic=0;
MouseEvent_repaint(){
this.setSize(100,100);
this.addMouseListener(this);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MouseEvent_repaint();
}
public void paint(Graphics g) {
System.out.println(pic);
g.clearRect(0,0,100,100);
if(eventNum==1) {
g.drawString("1",10,40);
System.out.println("mousePressed>>>>>>repaint()");
}
if(eventNum==2) {
System.out.println("mouseReleased>>>>>>repaint()");
g.drawString("2",20,40);
}
if(eventNum==3) {
System.out.println("mouseClicked>>>>>>repaint()");
g.drawString("3",30,40);
}
}
public void mouseClicked(MouseEvent arg0) {
System.out.println("mouseClicked_start");
eventNum=3;
repaint();
pic=3;
System.out.println("mouseClicked_end");
}
public void mousePressed(MouseEvent arg0) {
System.out.println("mousePressed_start");
eventNum=1;
repaint();
pic=1;
System.out.println("mousePressed_end");
}
public void mouseReleased(MouseEvent arg0) {
System.out.println("mouseRealeased_start");
eventNum=2;
repaint();
pic=2;
System.out.println("mouseRealeased_end");
}
public void mouseEntered(MouseEvent arg0) {
// TODO 自动生成方法存根
}
public void mouseExited(MouseEvent arg0) {
// TODO 自动生成方法存根
}
}
我拜托 roserouge - 魔法师 四级 6-29 15:51
你 还能看请我的提问啊
我想知道的 是 为什么 和repaint()的位置没有关系
还有为什么 MouseReleased 里面没有repaint();
我是很菜
你 专业 你来回答啊 ,你 不知道 还能别瞎掺和 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询