帮忙解答 哦
我用以下代码 :
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class PanelPaint extends JPanel {
public PanelPaint() {
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
//Graphics2D g2 = (Graphics2D) g;
g.setColor(Color.blue);
for(int i = 0; i < 5; i++){
for(int j = 0; j < 7; j++){
g.drawRect(10 + 50*j, 10 + 50*i, 50, 50);
}
}
}
public static void main(String args[]) {
JFrame frm = new JFrame();
frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frm.setSize(383, 310);
frm.getContentPane().add(new PanelPaint());
frm.setVisible(true);
}
}
写出一窗口,由于不好传,我就不上传图片了 (不好意思哦);大家可以下载了去运行一下试试, 有5*7=35个方格,我想的是:
当用鼠标点击方格的时候,就是希望他有mouseclick()事件了,可以改变他的颜色。希望大家帮忙哦
------解决方案--------------------
那么你就应该定义一个 二维数组 保存相应方格的颜色。
在Panel添加MouseListener,在MouseClick的事件里判断点击的位置,比如你的每个格的长宽是一定的。
color[(int)mouseEvent.getX() / 宽度][(int)mouseEvent.getY() / 高度]; //当然要判断是否越界啊。