Преобразование getSelectedItem () из JComboBox в int или любую другую вещь - PullRequest
4 голосов
/ 11 июля 2011

Как преобразовать getSelectedItem () из JComboBox в int или любую другую вещь?Даже преобразование в строку не работает.Eclipse говорит: «Несоответствие типов: невозможно преобразовать из Object в String» или int или что-то еще.Есть ли способ добиться этого?

Ответы [ 5 ]

5 голосов
/ 11 июля 2011

Здесь все отлично работает с объектами.

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

class TestCombo {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                Integer[] numbers = {1,2,3};
                String[] names = {"Ben", "Jill", "Peter"};
                JComboBox numberCombo = new JComboBox(numbers);
                JComboBox nameCombo = new JComboBox(names);
                JPanel p = new JPanel(new GridLayout(0,1,3,3));
                p.add(numberCombo);
                p.add(nameCombo);

                JOptionPane.showMessageDialog(null, p);

                Integer chosenNumber = (Integer)numberCombo.getSelectedItem();
                System.out.println("Chosen Number: " + chosenNumber);
                String chosenName = (String)nameCombo.getSelectedItem();
                System.out.println("Chosen Name: " + chosenName);
            }
        });
    }
}

Типичный вывод:

Chosen Number: 2
Chosen Name: Peter
Press any key to continue . . .

Я полностью согласен с комментарием LBFF.Вы должны вернуться к основам.

3 голосов
/ 11 июля 2011

Ответ на самом деле зависит от того, какие предметы вы поместили в JComboBox для начала.Все, что вы вложите в него (например, с addItem() или insertItemAt()), - это то, что вы можете из него извлечь.

0 голосов
/ 16 октября 2016
String value = comboBox.getSelectedItem(comboBox.getSelectedIndex());

Броски не требуются.

0 голосов
/ 28 декабря 2013
//compiled in netbeans

import java.awt.GridLayout;<br>
import javax.swing.JComboBox;<br>
import javax.swing.JOptionPane;<br>
import javax.swing.JPanel;<br>
import javax.swing.SwingUtilities;<br>

class TestCombo {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                Integer[] numbers = {1,2,3};
                String[] names = {"Ben", "Jill", "Peter"};
                JComboBox numberCombo = new JComboBox(numbers);
                JComboBox nameCombo = new JComboBox(names);
                JPanel p = new JPanel(new GridLayout(0,1,3,3));
                p.add(numberCombo);
                p.add(nameCombo);

                JOptionPane.showMessageDialog(null, p);

                Integer chosenNumber = (Integer)numberCombo.getSelectedItem();
                System.out.println("Chosen Number: " + chosenNumber);
                String chosenName = (String)nameCombo.getSelectedItem();
                System.out.println("Chosen Name: " + chosenName);
            }
        });
    }
}
0 голосов
/ 11 июля 2011

Вы можете привести его к (String).

String value = (String) comboBox.getSelectedItem();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...