當我按JLabel
時,我得到一個mousePressed
事件調用,其中我想禁用JButton
。然而,沒有任何反應。爲什麼是這樣?java setEnable(false)不起作用
這裏是JLabel
mousePress
事件處理程序:
public void mousePressed(MouseEvent e) {
get_clickevent(false)
}
下面是獲得上mousePressed
調用該函數:
public void get_clckevent(final boolean value){
java.awt.EventQueue.invokeLater(new Runnable() {
boolean valu = value;
public void run() {
if (valu == false) {
btnSave.setEnabled(false); //here is button that does not disable.
}
}
});
runnable是否被調用?嘗試將其直接放入get__clcevent – 2011-03-02 00:25:14
因爲get_clckevent方法已在EDT上調用,所以此處不需要EventQueue.invokeLater。但是我可以從你的文章中得出結論,主要是你的錯誤不包含在你發佈的任何代碼中。如果您還沒有解決這個問題,請簡化您的代碼,創建一個[SSCCE](http://SSCCE.org)並將其發佈到此處。 – 2011-03-02 01:11:16
你確定你打電話正確嗎?您可以調用get_clickevent(),但在get_clckevent()中禁用按鈕;它可能是一個例子中的錯字。 – 2011-03-03 11:29:01