簡體   English   中英

如何從Java中的另一個類訪問comboBox

[英]How to access a comboBox from another class in Java

comboBoxEnvIn Java是否可以在完全位於另一個類中時訪問comboBox?我想整體使用它,而不僅僅是傳遞它的值。

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

我正在嘗試訪問在我的名為comboBoxEnv的ExportImportWindow類中使用的comboBox

當前,我在主類中的代碼引用/使用了錯誤的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 );
}

我不確定如何才能訪問位於另一個類中的正確comboBox。 為了在我的主類中嘗試訪問它,我已經在代碼的頂部聲明了它。

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

我覺得我看過的所有文章都只是在問如何傳遞值,就像我想使用整個comboBox一樣,而不僅僅是它的值。 非常感謝任何可以分享其知識的人。 我確實可以訪問它,但這只能通過將其創建為無效的方法來實現。

您可以在ImpexWindow中定義getter(更好),也可以只使用class的字段,因為該字段是公共的(不建議這樣做)。

因此,在ExportImportWindow ,應保留對定義組合框的ImpexWindow的引用,並使用ImpexWindow's字段

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM