java五子棋鼠标事件问题
来源:百度知道 编辑:UC知道 时间:2024/06/17 15:13:05
共两个文件
MyFrame.java
import javax.swing.JFrame;
public class MyFrame extends JFrame {
public MyPanel panel;
public MyFrame(){
super();
panel = new MyPanel(this);
getContentPane().add(panel);
setSize(515, 515);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
MyFrame frame = new MyFrame();
}
}
MyPanel.java
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.JPanel;
public class MyPanel extends JPanel {
int xPos;
int yPos;
int inaccuracy;
private MyFrame frame;
boolean turn = false;
public static int[] location = new int[16];
static {
for (int
MyFrame.java
import javax.swing.JFrame;
public class MyFrame extends JFrame {
public MyPanel panel;
public MyFrame(){
super();
panel = new MyPanel(this);
getContentPane().add(panel);
setSize(515, 515);
setVisible(true);
setResizable(false);
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
MyFrame frame = new MyFrame();
}
}
MyPanel.java
import java.awt.Color;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.JPanel;
public class MyPanel extends JPanel {
int xPos;
int yPos;
int inaccuracy;
private MyFrame frame;
boolean turn = false;
public static int[] location = new int[16];
static {
for (int
已经帮楼主解决了这个问题。。
把楼主说的那段程序改成这样就行了。。不要用 repaint() 直接用楼主写的
paint() 方法就行了。。。祝你好运!
this.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
MyPanel.this.mouseAction(e);
//System.out.println(e);
//processMouseEvent(e);
//repaint();
paint();
}
});
把 MyPanel.java
的初始值设置如下:
int xPos=-10;
int yPos=-10;
原因是因为在程序刚运行的时候生成了一个
-15,-15,25,25
这样的一个圆,但在界面中只看到了 一半。。
现在就不会生成了。。。
public void mouseAction(MouseEvent e) {
paint();
xPos = chessPos(e.getX());
yPos = chessPos(e.getY());
System.out.println(xPos+", "+yPos);
}
你看清楚了,调用了,不是没有调用 。。。
你的要求还真多呀。。
不能这么搞,知道不。。。一个又一个的。。
你再这样,我真无语啦。。。