当前位置: 首页 > 知识库问答 >
问题:

Swing-使用另一帧中的jComboBox

逑兴安
2023-03-14
String variable = jComboMainMenu1.getSelectedItem().toString;

编辑:

**我得到的错误是combox对JFrame是私有的。没有办法改变,因为netbeans不允许我这样做?

表示//变量声明-不修改。

    new CustomerForm().setVisible(true);
    setVisible(false);

    String car = jComboBox1.getSelectedItem().toString();

}                                        


// Variables declaration - do not modify                                                 <-- can't be changed either.
private javax.swing.JButton jButton1;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JComboBox jComboBox2;
private javax.swing.JComboBox jComboBox3;
private javax.swing.JComboBox jComboBox4;
private javax.swing.JComboBox jComboBox5;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JTextField jTextField1;
// End of variables declaration                   

共有1个答案

楚钊
2023-03-14

编辑:调整到组合框

如果希望从客户表单中访问主表单的组合框,可以传递对该组合框的引用;例如在创建customer表单时。(将主窗体链接到客户窗体的另一种方法是将操作侦听器添加到主窗体中的组合框中,该组合框调用客户窗体中的一个方法,该方法获取作为参数传递的选定项。)

例如(使用Java8):

import java.awt.BorderLayout;
import javax.swing.*;

public class MainMenu {
    private CustomerForm customerForm;

    public static void main(String[] arguments) {
        SwingUtilities.invokeLater(() -> new MainMenu().createAndShowGui());
    }

    private void createAndShowGui() {
        JFrame frame = new JFrame("Stack Overflow");
        frame.setBounds(100, 100, 800, 600);
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);

        JPanel panel = new JPanel(new BorderLayout());
        String[] comboBoxItems = {"one", "two", "three"};
        JComboBox<String> jComboBox1 = new JComboBox<>(comboBoxItems);
        panel.add(jComboBox1, BorderLayout.NORTH);
        JButton button = new JButton("Do it!");
        panel.add(button, BorderLayout.SOUTH);
        frame.getContentPane().add(panel);

        Database database = new Database();
        customerForm = new CustomerForm(database, jComboBox1);

        button.addActionListener(actionEvent -> customerForm.doSomething());

        frame.setVisible(true);
    }
}


class CustomerForm {
    private Database database;
    private JComboBox<String> comboBox;

    public CustomerForm(Database database, JComboBox<String> comboBox) {
        this.database = database;
        this.comboBox = comboBox;
    }

    public void doSomething() {
        System.out.println();
        System.out.println("CustomerForm.doSomething");
        System.out.println("database: " + database);

        System.out.println("comboBox.getSelectedItem().toString(): "
                           + comboBox.getSelectedItem().toString());
    }
}


class Database {
}
 类似资料:
  • 我有两个大型数据帧[a],一个具有由id[b]标识的所有事件id列表。我想根据 [b] 中的 id 筛选 [a] 使用 spark 2.0.0 中的 stat.bloom筛选实现 然而,我在数据集API中看不到任何将布隆过滤器加入数据框的操作[a] 根据 df2 中的值筛选“df1”的最佳方法是什么? 谢谢!

  • 我得到了一个具有多个列和行的数据帧df1。简单的例子: 我想创建一个空的数据框df2,然后再添加新的列和计算结果。 此时,我的代码如下所示: …添加两个新列: 有没有更好/更安全/更快的方法?是否可以创建一个空数据帧df2,并且只从df1复制索引?

  • 我有2个数据帧在apache火花。 df 1有显示编号和说明。。。数据看起来像 不显示描述a这是米奇b唐纳德来了c玛丽和乔治回家d玛丽和乔治进城 第二个数据帧有字符 人物 乔治 唐纳德 玛丽 米妮 我需要搜索节目描述,找出哪个节目的特征是哪个角色... 最终输出应该如下所示 乔治|c,d 唐纳德|b 玛丽|c. d 米妮|不显示 这些数据集经过精心设计,非常简单,但它表达了我试图实现的搜索功能。我

  • 我有数据,其中因子标签已提供在单独的文件。因此,当我读到里面的东西时,我得到的数据如下所示: 和包含factor_x标签的单独数据帧,如下所示: 我正在寻找一种有效的方法来更新数据帧'data'中的factor_x_labels'中的标签。 我一直试图使用forcats包中的fct_recode或dplyr中的recode,但遇到了麻烦,因为(例如)现有的和更新的标签需要作为字符串粘贴,但需要用=

  • 我如何从X2刷新和重新加载x1中面板p1的组件。 想知道有没有人能帮我解决这个问题。谢谢你,很抱歉问题中的文字太多了。

  • 我有两个数据帧。我需要用第二列中的平均值更新第一列中的一列,并按索引分组。这里是示例df1(col1是索引) df2(col1是索引) 我需要df2的col2(a=2,d=3)的平均值,并且只更新col3=X的行的df1 我试过这个 只有在我不使用loc的情况下,它才有效。 我试图得到的结果是df1(col1是索引)