【问题标题】:How to use a variable to declare a new JComboBox如何使用变量声明一个新的 JComboBox
【发布时间】:2023-04-04 13:02:01
【问题描述】:

我需要创建一个新的 JComboBox,但由于我将相同的 JFrame 用于三个不同的操作,我需要将 JComboBox 名称作为参数传递

这是我现在的代码:

    comboTipo=("Tienda."+tablaP+"Items");
    tipo = new JComboBox(comboTipo);

如果我打印 comboTipo,我可以阅读“Tienda.telasItems”或“Tienda.accesoriosItems”或“Tienda.aviosItems”。我希望将此文本用于组合框声明,因此我不必创建决策结构

如果需要更多信息,请告诉我。

【问题讨论】:

    标签: java swing parameters jcombobox comboboxmodel


    【解决方案1】:

    你不能直接在 Java 中通过字符串访问变量(不是没有反射,这在这里没有多大意义),你正在尝试做一些不允许的事情。

    你应该用不同的方法解决问题,例如你可以使用一个数组:

    Object[][] data = new Object[][]{Tienda.telasItems, Tienda.accesoriosItems, Tienda.aviosItems};
    JComboBox[] boxes = new JComboBox[3];
    
    for (int i = 0; i < boxes.length; ++i)
      boxes[i] = new JComboBox(data[i]);
    

    【讨论】:

    • 问题是我在 Tienda 类中声明了 telasItems Tienda 类调用了创建名为 VentanaPrincipal 的主窗口的类,而 VentanaPrincipal 类调用了声明 JComboBox 的特定类 Alta。我可以使用你写的代码吗? O 我应该尝试不同的东西吗?
    • @CMM777:所以通过 setter 方法将数据数组或集合传递到 GUI 类中。我看不出你在哪里卡住了,或者为什么你不能这样做。 1+ 给杰克的答案。
    • 已解决,谢谢 Jack 我添加了对象声明并将索引号作为参数发送 现在代码如下所示: Object[][] comboTipo = new Object[][]{Tienda.telasItems, Tienda.accesoriosItems, Tienda.aviosItems}; Tipo = 新的 JComboBox(comboTipo[i]);再次感谢,抱歉这个愚蠢的问题,我对 Java 很陌生
    猜你喜欢
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 2017-12-22
    相关资源
    最近更新 更多