是否可以模擬點擊按鈕,類似於doClick(),但只是圖形模擬它,不會產生任何ActionEvent的。如果知道我可以擴展課程,請用簡單的if語句做我自己的doClick。但它有其他可能嗎?JButton .doClick()沒有做任何事情?
我想要這個,因爲我有一個按鈕,用戶可以按下,但有時計算機(它在遊戲中)「按下」按鈕。所有的邏輯都是在另一個線程中完成的,我只是想爲用戶顯示它。
是否可以模擬點擊按鈕,類似於doClick(),但只是圖形模擬它,不會產生任何ActionEvent的。如果知道我可以擴展課程,請用簡單的if語句做我自己的doClick。但它有其他可能嗎?JButton .doClick()沒有做任何事情?
我想要這個,因爲我有一個按鈕,用戶可以按下,但有時計算機(它在遊戲中)「按下」按鈕。所有的邏輯都是在另一個線程中完成的,我只是想爲用戶顯示它。
如果您深入瞭解您使用的外觀和感覺的細節,您可能會看到它如何檢測並將按鈕繪製在「向下」狀態,然後模擬該按鈕?
或者你可以擴展/實現ButtonModel和混亂的setPressed/isPressed狀態?
如果你想點擊按鈕試試這個:
try
{
robot = new Robot();
robot.mouseMove(0,500);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}catch(Exception e){}
但也許你會喜歡簡單地禁用按鈕,當用戶不應該點擊
Button.setEnabled(false);
您可以設置是否啓用,所以使用「buttonName.setEnabled(false);」
我認爲最簡單的解決方案是檢查
ActionListener
中的模型。
我沒有看到區分兩者的方法;該模型對於誰調用它的方法而言是無知的。相反,您可以保存所有偵聽器,調用doClick()
,並還原偵聽器。它看起來像你將不得不檢查行動,更改和項目監聽器。
我認爲最簡單的解決方案是檢查actionlistener中的模型,檢測它是手動印刷機還是電腦印刷機。但即時通訊仍然有趣,如果有任何解決方案只是點擊按鈕上的按鈕。 – joxxe 2012-03-26 20:44:33