我正在創建一個程序,並在此刻卡住了,我希望乾旱板的瓦片在突出顯示時發出另一種顏色,但是如果ActionListner不是很好,有人可以幫我嗎?Java - 如何使用鼠標偵聽器高亮顯示正方形。 (使用jframe)
我使用幾個類文件,這裏是每個文件的代碼。
這是uni工作,因爲我正在學習我不想給我的代碼,而是一些片段和有用的建議繼續下去。類文件中的代碼是我認爲由於錯誤而無法編譯的,因爲我不知道如何使用actionlistners或mouselisteners。
總結一下,我需要一個actionlistener,當我的鼠標懸停在遊戲板上時,瓷磚會改變顏色。
因爲我只能發佈2個鏈接我會給這裏3個最短的類文件。
編輯:爲了方便我擺脫了鏈接。 編輯2:我也很抱歉,如果這似乎是一個begginer的問題,以及即時通訊問,因爲我是一個初學者。 編輯3我編輯了Jframe類來接受鼠標監聽器,現在我需要幫助改變瓷磚的顏色,我如何從這個類文件中獲取顏色?
EDIT 4確定我編輯的顏色可變的公共我認爲,如果多數民衆贊成你的意思,也是我加入你的代碼,但我不知道哪個班是我的MouseListener,我不知道如何添加顏色的你已經把它陳述給我。
編輯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);
}
}
}
爲了更快提供更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –
事情是我不知道什麼,我需要的程序功能和做的位即時要求....如果我可以這樣學習,我通常會從演講中得到示例代碼,所以我可以參考(我的學習方式),或者通過從互聯網上學習來觀看演講代碼im不是很好(atm),特別是當我看到的大多數教程都必須過濾所有內容以獲得1個片段並且通常不工作或過時時。而這個SSCCE讓我更難解釋發生了什麼事情。 (無論如何) –
*「如何使用鼠標監聽器突出顯示代碼」*需要大約20-30行代碼,而不是上面提到的「文本牆」。投票結束。 –