2013-10-10 68 views
0

我想有JButton在一些類被啓用/禁用時一些方法返回true/false(方法返回類的部件 - 型boolean)相關聯/殘疾人的JButton啓用與一些方法

我不不知道該怎麼做。我是否應該編寫指令while(true) { ... }並檢查哪種方法返回例如每秒1?這是個好主意嗎?

請幫

+1

JButton.setEnabled(foo());其中foo()是返回true/false的方法。或者在foo()之前返回true/false JButton.setEnabled(true/false); – initramfs

+1

'while(true){...}'是一個非常糟糕的主意(實際上不會工作)。 – Maroun

回答

1

enter image description here

從Java SE 7文件,

Methods inherited from class javax.swing.AbstractButton 

如果你把你方法中的代碼,那麼只要它運行時,它會啓用/相應的禁用按鈕。

+0

+1的海量照片。通常情況下,人們建立了一個鏈接,這將它帶到了一個全新的水平。 – initramfs

+1

@CPUTerminator謝謝,我儘可能地把它弄清楚,並認爲大圖是這次走的路。 – Levenal

0
final JButton btnNewButton = new JButton("New button"); 
btnNewButton.addActionListener(new ActionListener() { 
    public void actionPerformed(ActionEvent arg0) { 
     btnNewButton.setEnabled(buttonState()); 
    } 
}); 

boolean buttonState() { 
    return false; 
} 
1

我應該寫指令,而(真){...}和檢查什麼方法 返回例如每秒1次?這是個好主意嗎?

這是個壞主意,它會完全凍結你的應用程序! 如果您想要定期檢查布爾方法的值,請使用Timer。

但是,如果在對象A中定義了布爾方法,並且知道何時修改了A,那麼您應該將按鈕作爲偵聽器添加到A,這樣當A被修改時,它可以觸發Button中的回調,該按鈕應該現在啓用或禁用。

相關問題