1
mport 五子棋.GoListener;
import javax.swing.*;
import java.awt.*;
public class GoBangUI {
GoListener gol = new GoListener();
public void showUI(){
// // // //
JFrame jf = new JFrame("五子棋");
jf.setSize(800, 800); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setVisible(true); // 窗体加载监听器
jf.addMouseListener(gol);
// 获取Graphics 画笔
Graphics g = jf.getGraphics(); System.out.println ("Graphics g="+g);
// 初始化监听器对象中的g变量 为了在监听器中使用
gol.g = g; }
public static void main(String[] args){
GoBangUI gbu = new GoBangUI();
gbu.showUI();
2.
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class GoListener implements MouseListener {
final int X=50,Y=75,SIZE=40,ROWS=15,COLS=15;
public Graphics g;
int chessFlag = 1;
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("Clicked");
}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("Pressed");
int x =e.getX();
int y =e.getY();
System.out.println("X: " + x + "y: " + y);
int col = (x-X+SIZE/2);
}
@Override
public void mouseReleased(MouseEvent e) {
System.out.println("Relaesed");
}
@Override
public void mouseEntered(MouseEvent e) {
System.out.println("Entered");
g.setColor (Color.BLACK);
for(int i = 0; i < 16; i++){
g.drawLine (X,Y+i*SIZE,X+SIZE*COLS,Y+i*SIZE);
g.drawLine (X+i*SIZE,Y,X+i*SIZE,Y+SIZE*ROWS);
}
}
@Override
public void mouseExited(MouseEvent e) {
System.out.println("Exited");
}
}