1
我在尝试使用同一方法获取mousePressed()鼠标事件和Java paint()图形时出现问题(我试图简化为代码尽可能多[Java 7+])。Java:如何将两个事件放在同一个方法中
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.lang.Math.*;
public class JFrameClick extends JFrame implements MouseListener {
public static void main(String args[]) {
//Main method in here
}
public void paint(Graphics g){
//handle Java 2 graphics
}
public void mousePressed(MouseEvent e) {
//Handle mouse press
}
//Other methods here
}
我该如何去得到paint函数在每次mousePressed()方法执行时触发。我在这里试过这段代码,它不起作用。
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.lang.Math.*;
public class JFrameClick extends JFrame implements MouseListener {
public static void main(String args[]) {
//Main method in here
}
public void paint(Graphics g, MouseEvent e){
mousePressed(e);
//handle Java 2 graphics
}
public void mousePressed(MouseEvent e) {
//Handle mouse press
}
//Other methods here
}
//This doesn't work vice versa either
谢谢。
在mousePressed中调用'repaint()'? – csmckelvey
谢谢,重绘工作! – CosineWaves
另外,作为一个附注,我认为通常的做法是重写'paintComponent'方法而不是'paint'。另外,不要忘记在你重写的任何方法中调用'super.repaint()'。 – csmckelvey