所以這是我的問題。我有一個8 * 8的面板網格,全白色。然後,當點擊它們中的一個時,它應該變成隨機顏色。我現在唯一的問題是,我不知道如何查看用戶是否在特定面板中單擊鼠標。這裏是我到目前爲止的代碼(我打算以後實行隨機元) `如何知道某人是否點擊了特定的面板?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class GridOfPanels extends JPanel{
int x, y;
public GridOfPanels(){
JPanel content = new JPanel(new GridLayout(8,8));
for(int i = 0; i < 64; i++){
JPanel panel = new JPanel();
panel.setBackground(Color.white);
content.add(panel);
}
this.add(content);
}
public GridOfPanels(Color backColor){
setBackground(backColor);
addMouseListener(new PanelListener());
x = 200;
y = 200;
}
private class PanelListener extends MouseAdapter{
public void mousePressed(MouseEvent e){
x = e.getX();
y = e.getY();
repaint();
}
}
public static void main(String[] args){
JFrame theGUI = new JFrame();
theGUI.setTitle("Grid");
theGUI.setVisible(true);
theGUI.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
theGUI.setSize(400,400);
Rectangle z = new Rectangle(x, y, 50, 50);
}
}
`
考慮將JButton替換爲ActionListener。點擊或改變點燃時的BG顏色。 –