Java 如何将值从一个JFrame传递到另一个JFrame?

Java 如何将值从一个JFrame传递到另一个JFrame?,java,swing,jframe,jbutton,multiple-instances,Java,Swing,Jframe,Jbutton,Multiple Instances,我已经创建了两个jframe。 主框架包含文本区域。我的子框架包含一个下拉列表。 任务是传递我在下拉列表中选择的值,并显示在主框架的文本区域中 子框架中的代码: private void btnOKActionPerformed(java.awt.event.ActionEvent evt) { close(); room=cmbRoom.getSelectedItem().toString(); } 主框架中的代码: private void btnDisplay

我已经创建了两个jframe。 主框架包含文本区域。我的子框架包含一个下拉列表。 任务是传递我在下拉列表中选择的值,并显示在主框架的文本区域中

子框架中的代码:

private void btnOKActionPerformed(java.awt.event.ActionEvent evt) {
    close();      
    room=cmbRoom.getSelectedItem().toString();
}
主框架中的代码:

private void btnDisplayActionPerformed(java.awt.event.ActionEvent evt) {
    roomNo r=new roomNo();
    txtArea2.append("\nRoom Number: " + r.getroom());
}                                           

这可能不是完全正确的答案,但这会起作用

假设您有两个jframe,即Home.java和Second.java

Second.java的代码如下所示

public static String selection = "";//static variable to store seletced value from combobox
Home h = new Home();//instance of Home Jframe

/**
* return selected value (called from Home Jframe)
*/
public static String getSeletced() {
    return selection;
}

/**
* get selected value from comboBox event
*/
private void cmbLapActionPerformed(java.awt.event.ActionEvent evt) {                                       
    selection = cmbLap.getSelectedItem().toString();
    h.isSelected = true;//this is to control data duplication
}  
现在,对于Home.java文件,我们可以使用
formWindowGainedFocus
事件来更新
jTextArea
。java文件包含以下代码

public static boolean isSelected = false;//flag to check combo box is selected

private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {                                       
    System.out.println(isSelected);
    if (isSelected) {
        String text = new Second().getSeletced();
        System.out.println(text);
        txaData.append("Your Laptop: " + text + "\n");//appending data
        isSelected = false;//to prevent duplication
    }
}  

此方法可用于使用另一个jFrame中的数据更新jTextArea。

查看上面发布的代码是否有助于解决您的问题!将此作为参考这不应该是第二个答案,-1&标记。请参阅第二帧使用模态
JDialog
。老实说,大约每8小时就有一次。请以后搜索!“这大约每8小时出现一次。”只要根据你的问题标题,看看这个更具体的搜索的答案。
setLayout(null)Uggh。。使不良行为长期存在-1.
public static String selection = "";//static variable to store seletced value from combobox
Home h = new Home();//instance of Home Jframe

/**
* return selected value (called from Home Jframe)
*/
public static String getSeletced() {
    return selection;
}

/**
* get selected value from comboBox event
*/
private void cmbLapActionPerformed(java.awt.event.ActionEvent evt) {                                       
    selection = cmbLap.getSelectedItem().toString();
    h.isSelected = true;//this is to control data duplication
}  
public static boolean isSelected = false;//flag to check combo box is selected

private void formWindowGainedFocus(java.awt.event.WindowEvent evt) {                                       
    System.out.println(isSelected);
    if (isSelected) {
        String text = new Second().getSeletced();
        System.out.println(text);
        txaData.append("Your Laptop: " + text + "\n");//appending data
        isSelected = false;//to prevent duplication
    }
}