我正在创建一个程序,但我现在卡住了,我希望干旱板的瓷砖在突出显示时会发出另一种颜色,但我对 Actionlistners 不太好,有人可以帮我吗?
我使用了几个类文件,这是每个类文件的代码。
这是一项统一的工作,所以当我学习时,我不希望将代码提供给我,而是继续使用一些片段和有用的建议。类文件中的代码我认为由于错误而无法编译,因为我还不知道如何使用 actionlistners 或 mouselisteners。
总而言之,当我的鼠标悬停在游戏板上并且瓷砖改变颜色时,我需要一个动作监听器。
因为我只能发布 2 个链接,所以我将在这里给出 3 个最短的类文件。
编辑:为方便起见,我已经摆脱了链接。 编辑 2:如果这似乎是一个初学者的问题,我也很抱歉,因为我是初学者。 编辑 3我已经编辑了 Jframe 类以接受鼠标侦听器现在我需要帮助更改图块的颜色,如何从此类文件中更改颜色?
编辑 4好的,我将颜色变量编辑为公共我想如果这就是你的意思,我还添加了你的代码,但我不知道哪个类是我的鼠标监听器,我不知道如何以你的方式添加颜色大部头书。
编辑 5好的,我绑着让这个 SSCCE 不确定我是否能够做到,这是你的意思吗?如果是这样,可以帮助我吗?
import java.awt.*;
import java.util.ArrayList;
import javax.swing.*;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
public class Board extends JPanel
{
private void setupPieces(int numRows)
{
int numPieces = ((numRows * numRows) - (2 * numRows)) / 4;
for (int i = 0; i < numPieces; i++)
{
DraughtsPiece p = new DraughtsPiece(DraughtsPiece.LIGHT_PIECE_COLOUR);
lightPieces.add(p);
p = new DraughtsPiece(DraughtsPiece.DARK_PIECE_COLOUR);
darkPieces.add(p);
DraughtsPiece p = new DraughtsPiece(DraughtsPiece.LIGHT_PIECE_COLOUR);
lightPieces.add(p);
p = new DraughtsPiece(DraughtsPiece.DARK_PIECE_COLOUR);
P.addMouseListener(new <Board.class>);
darkPieces.add(p);
}
public void mouseEntered(MouseEvent m){
((DraughtsPiece) m.getSource()).color=<highlight color goes here>;
}
public void mouseExited(MouseEvent m){
((DraughtsPiece) m.getSource()).color=<normal color goes here>;
}
}
darkPieces.add(p);
}
}
}