getSelectedItem()をJComboBoxからintまたは他のものに変換するにはどうすればよいですか?文字列に変換しても機能しません。 Eclipseは「型の不一致:ObjectからStringに変換できません」またはintなどを示します。これを達成する方法は?getSelectedItem()をJComboBoxからintまたは他のものに変換する
4
A
答えて
0
(String)
にキャストすることができます。
String value = (String) comboBox.getSelectedItem();
3
答えは実際にはJComboBox
にどのような種類のアイテムを配置したかによって異なります。あなたがそれに入れたもの(例えば、addItem()
またはinsertItemAt()
)は、あなたがそれを得ることができるものです。
5
ここではオブジェクトでうまく動作します。
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によってコメントと強く同意します。あなたは基本に戻る必要があります。
0
//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
String value = comboBox.getSelectedItem(comboBox.getSelectedIndex());
ませキャストは必要ありません。
'Object'をプリミティブにキャストすることができない理由を理解できない場合は、Javaの基礎を理解するために時間を費やす必要があります。 – mre
' getSelectedItem.toString() 'を試してください – Logan