java - 使用数组数据填充 Java ComboBox

标签 java arrays if-statement combobox while-loop

在我个人学习 Java 的过程中,我遇到了另一个障碍。

到目前为止,我有 2 个数组,第一个是带有摄影胶片制造商列表的一维数组,第二个是具有以下外观的二维数组:

Film               Developer    Dilusion   35mm    120    Sheet    Temperature
Kodak T-Max 100,   Ilfosol S,   1+9,       10,     10,    ,        20C
Kodak T-Max 100,   Rodinal RO9, 1+25,      9,      9,     ,        20C
Kodak T-Max 100,   Rodinal RO9, 1+50,      13,     13,    ,        20C

(注意,不要使用上述时间来冲洗这些胶片,我刚刚为此示例输入了任何数据)

在我的 JFrame 上,我有一个 JComboBox 列表(胶片、显影剂、稀释度、胶片格式)。胶片盒由一维数组填充,我有以下代码试图在选择胶片时列出可能的开发人员。目前,此代码会导致无限循环,需要对我的笔记本电脑进行硬重置,因此肯定有问题。

private void filmComboBoxActionPerformed(java.awt.event.ActionEvent evt) {                                             
    // TODO add your handling code here:
    developerComboBox.removeAllItems();

    int count = 0;
    while (count <= rows) {
        if (myArray[0][count] == filmComboBox.getSelectedItem()) {
            developerComboBox.addItem(myArray[1][count]);
            count++;
        }
    }
}          

非常感谢有关我在这段代码中出错的地方的任何建议,一旦完成这部分,我将使用不同的字符串名称等重复代码...以在选择开发人员时填充稀释字段,然后电影格式字段

干杯 吉姆

最佳答案

while (count <= rows) {//Loop until count less than or equal to rows
        if (myArray[0][count] == filmComboBox.getSelectedItem()) {
         //If it Never Satisfied Count won't be incremented
            developerComboBox.addItem(myArray[1][count]);
            count++;//Never Incremented
        }
    }

您的 count 变量没有递增,并且您的循环变得无限大,将 count++ 放在 if block 之外,并使用 .equals 方法来比较 Strings Java。

现在你可能会问Why do I compare Strings with equals in java?

关于java - 使用数组数据填充 Java ComboBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24971498/

相关文章:

JAVA - 对象无法添加到对象数组 - NullPointerException

c - 为什么它的输出为 'bye' ?请讨论

python - IF == 不适用于 python 中的列表。不知道我做错了什么。数据的 print() 显示它们是相等的......我错过了什么?

java - 双数组遇到问题

java - Spring Bean Life Cycle中init和destroy bean方法的疑惑

javascript - 如何分隔数组中的两个值并使它们成为自己的值

javascript - 将两个 Javascript 组合在一起

php - 通过 PHP 在 Wordpress 站点中动态包含 CSS

java - 使用 JxBrowser HEAVYWEIGHT 时禁用 Swing 中的拖放

java - 时间戳转换问题