2014-10-30 76 views
0

comboBoxEnvIn Java是否有可能訪問一個組合框,當它完全坐在不同的類中時?我想將它作爲一個整體使用,而不僅僅是傳遞它的值。如何從Java中的另一個類訪問組合框

我有兩個類 - 每個都有一個GUI。我有我的main.java(主)類和我ExportImportWindow.java

我試圖訪問我在叫comboBoxEnv

ExportImportWindow類使用下拉框中目前我在我的主類的代碼是指/使用錯誤的comboBox稱爲comboBox。

它導致寫入文件的信息成爲不正確的信息。

從主我的代碼是這樣的:

if (comboBox.getSelectedItem() == null){ 

JOptionPane.showMessageDialog(null, "Please choose an ei"); 
} 

else { 

String env = comboBox.getSelectedItem().toString(); 

ExportImportWindow frm = new ExportImportWindow("Export",env,xmlFile , null, me); 

frm.setVisible(true); 
} 

我不清楚,我怎麼能訪問到正確的組合框它坐落在其他類像這樣。我已經在我的代碼的頂部宣佈它試圖在我的主類中訪問它。

public final JComboBox comboBoxEnv ; 

public ExportImportWindow(final String mode, final String env,String FromFile,String ToFile, final Main main){ 

comboBoxEnv = new JComboBox(); 

//other code to populate comboBoxEnv 
} 

這是我現在有後,我的最後一次嘗試沒有成功:

ExportImportWindow exportImport = new ExportImportWindow(//not sure what to pass through); 
    exportImport.comboBoxEnv; // trying to access the method the ComboBoxEnv sits in 

我覺得一切我看是簡單地詢問如何傳遞價值的物品是否因爲我想用整個組合框,而不只是它的價值觀。非常感謝任何能夠分享他們的知識的人。我確實可以訪問它,但只是將它創建爲一種無法使用的方法。

回答

1

你可以在你的ImpexWindow(更好)中定義getter,或者只是使用類的字段,因爲該字段是公共的(不推薦的方式)。

因此,在您ExportImportWindow你應該保持到ImpexWindow參考,其中被定義組合框,並使用ImpexWindow's

+0

我道歉 - 我重新命名Impex公司項目回ExportImportWindow,因爲我意識到這是造成混亂,因爲我由於我以前的編輯沒有保存,所以同時使用。你介意再看一眼嗎?現在我已經把它清理乾淨了? Thankyou在回答這個問題時也很感激 – user3373261 2014-10-30 12:45:20

+0

exportImport.comboBoxEnv; ? – StanislavL 2014-10-30 12:47:26

+0

我更新了它,包括 - 我曾試過,並沒有看到你的評論。它仍然不允許我這樣做 - 它要求賦值運算符表達式來完成表達式 - 我明白這意味着什麼,但我不知道要將它分配給...謝謝你最後的回覆! – user3373261 2014-10-30 13:28:42