我在使用MouseListener时遇到问题,以便更改面板的颜色,该面板是行和列中许多其他类似面板的颜色。这是我目前的进展:
import java.awt。*; …
可能有更好的方法来做你想要的,但一种方法是创建一个自定义 JPanel 类:
JPanel
import java.awt.Color; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JPanel; public class MyPanel extends JPanel implements MouseListener { public MyPanel() { addMouseListener(this); } @Override public void mouseClicked(MouseEvent e) { setBackground(Color.BLACK); } @Override public void mousePressed(MouseEvent e) { } @Override public void mouseReleased(MouseEvent e) { } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } }
然后而不是创建一个常规数组 JPanel S:
private JPanel[] panel = new JPanel[NUM];
您可以创建自定义数组 JPanel S:
private MyPanel[] panel = new MyPanel[NUM];
习俗 JPanel 都有自己的 MouseListener 因此,当单击一个时,它会自动更新。
MouseListener