2014-01-14 25 views
2

我正在學習java,我正在使用Netbeans IDE。 Netbeans接口提供了將組件的屬性綁定到另一個組件的屬性的選項。例如,您可以將Jbutton的「啓用」屬性設置爲其他組件的啓用屬性。這樣,當一個按鈕(的jButton1)變得不啓用您可以設置其他按鈕(將jButton2)成爲未啓用過,而無需使用淨豆綁定

jbutton2.setEnabled(false) 

聲明第二個按鈕。使用

jbutton1.setEnabled(false) 

就夠了。綁定的另一個按鈕(jbutton2)也會被禁用。

我的第一個問題是,是否像上述推薦情況下的整個綁定用法?使用組件屬性的綁定是否存在任何可能的問題?

我的第二個問題是,組件的屬性可以設置爲綁定到變量?例如,當一個名爲「usercanpressbuttons」的布爾變量具有「false」值時,我可能有15個按鈕必須被禁用。這可以做到嗎?

第三個問題是,這種綁定可以通過編碼來完成,而不是使用netbeans接口嗎?

回答

0

1.你可以。我已經完成了。但我不會推薦它。很容易失去對綁定值的跟蹤,因爲在編輯器中看不到它們。如果有其他人需要檢查,更新或更正表格,他/她很可能不會注意到綁定。最後,我上次用它,有時綁定剛停止工作。也許是我的代碼中的其他東西,但我無法查明原因。

2 - 是的,你可以。事實上,這是最有吸引力的綁定使用。您可以將表單中的每個控件與變量/對象成員/ etc綁定。並顯示它。但是

3-如果你想通過編碼,最好使用監聽器和自定義方法。這會讓你完全控制事件。只需要一種方法來禁用按鈕,如:

public void setButtons(boolean value){ 
button.setEnabled(value); 
button1.setEnabled(value); 
button2.setEnabled(value); 
button3.setEnabled(value); 
} 

並在設置usercanpressbuttons變量時調用它。

+0

謝謝。關於question3:我明白我可以通過使用像你說的方法來做到這一點。但我們真的可以通過代碼綁定嗎?或綁定控件是一個唯一的Netbeans的東西,在標準的Java之外? – geo

+1

作爲一個概念,它在幾個工具中實現。 NetBeans中的一個被稱爲JSR 295. Eclipse也爲它提供了支持,當然我們可以使用綁定。但是用matisse編輯器(netbeans的gui designer)生成的代碼是一個「netbeans」的東西。 –