2013-04-03 45 views
0

只是一個小問題,我在NetBeans中設計視圖中創建一個JComboBox,並將其鏈接到另一個類從數據庫中調用數據時,有一個問題,總是會創建JComboBox中始終創建私營和公共

的JComboBox作爲一個私有方法,因此它的變量不會在其他類中看到,因此它將從數據庫中獲取數據。

只是一個小問題,有沒有一種方法可以通過簡單編碼創建JCombobox,然後在設計視圖中編輯它的位置?看來,當我編碼它,它不顯示,所以我可以編輯它的位置。

請如果我沒有解釋清楚告訴我,以便我可以告訴你一個代碼示例。 但現在這只是一個基本的問題,我不認爲我需要顯示代碼。

謝謝你的幫助。

+0

只是讓它在代碼公開。 –

+0

我不能,我只是拖放Jcombobox到我想要的位置,然後當我雙擊它創建「私人無效comboboxActionPerformed(java.awt.event.ActionEvent evt)」,它不能被編輯爲公衆 – ralph

+0

非netbean用戶不能幫助你沒有看到你不需要的私人方法,請告訴我們的代碼 –

回答

1

應該避免使領域,並認爲不應該能夠修改它們的應用程序的其他部分可見的UI組件。這些打開了您的應用程序,以預期流程的可能性進行修改。

相反,提供必要的手段要麼讓你的應用程序的其他部分提供你需要它,或者在使用監聽風格的界面(觀察者模式),知道什麼時候該數據已更改/加載和更新從ComboBox數據內部類本身

+0

@ralph:請參閱[*控制對類的成員的訪問*](http:// docs。 oracle.com/javase/tutorial/java/javaOO/accesscontrol.html)。 – trashgod

1

只是做一個公共的getter:

public JComboBox getComboBox() { 
    return comboBox1; 
} 
1

以下是如何使用Netbeans 7.3提供公共訪問JComboBox的方法。按照步驟1,2和3.請記住:Netbeans有可能實現任何功能!這是最棒的IDE! (我不爲Oracle工作:-))

不建議將它公開。最好使用像public JComboBox getMyCombo()這樣的訪問器,並將JComboBox保持爲私有,就像其他人在這裏所建議的一樣。原因是,你讓你的課更容易修改。另一個使用它的類不需要知道變量的實際名稱,只需知道它的公共方法。

你也可以避開了JComboBox組件,但只有選擇的項目或指標來代替,您可以在您的JComboBox聲明, 這取決於你在做什麼,在課堂上安排存取(吸氣)這些。

enter image description here