-1
我編寫下面的代碼,並想在另一個類中調用mousepress方法,但是我得到錯誤來爲我調用它的位置定義參數mouseevent,但是當我定義變量mouseevent e
時,出現NullPointerException
錯誤。如何在另一個類中調用帶有參數鼠標事件e的方法?
請幫幫我。
public void mousePressed(MouseEvent e , int tankid) {
System.out.println("insert which tanks you want to move");
JButton clicked = (JButton)e.getSource();
System.out.println(clicked.getAlignmentX()+"mmmmmmmmmmm");
for(int x = 0; x<board.r; x++)
{
for(int y = 0;y<board.cc;y++)
{
if(clicked == board.squares[x][y])
{
ImageIcon icon = new ImageIcon("C:/Users/win_10/Desktop/tanks/tank1.png");
board.squares[troops[tankid].getPosition().x][troops[tankid].getPosition().y].setIcon(null);
board.squares[x][y].setIcon(icon);
map.mapboard[troops[tankid].getPosition().x][troops[tankid].getPosition().y].setBackground(null);
troops[i].getPosition().x = x;
troops[i].getPosition().x = y;
map.mapboard[troops[tankid].getPosition().x][troops[tankid].getPosition().x].add(new JLabel(name));
SwingUtilities.updateComponentTreeUI(map.getContentPane());
System.out.println(x + " "+ y);
}
}
}
}
我可能會誤解你的語言,但我認爲_listener_應該調用鼠標單擊處理程序方法,而不是直接調用。 –
取決於你需要多少幫助,你可能會考慮改善這個問題。首先解釋你想要做什麼*和**爲什麼***,然後考慮創建併發佈一個有效的[mcve],一個小而完整的程序,只有必要的代碼來演示你的問題,我們可以複製,粘貼,編譯和運行而不需要修改。 。請注意,這是以代碼格式發佈的代碼,而不是作爲非現場資源的鏈接。 –
此外,請通過[旅遊],[幫助]和[如何提出一個很好的問題](http://stackoverflow.com/help/how-to-ask)部分來了解該網站的工作原理和幫助您改善當前和未來的問題,這可以幫助您獲得更好的答案。 –