2011-07-11 3 views
4

getSelectedItem()をJComboBoxからintまたは他のものに変換するにはどうすればよいですか?文字列に変換しても機能しません。 Eclipseは「型の不一致:ObjectからStringに変換できません」またはintなどを示します。これを達成する方法は?getSelectedItem()をJComboBoxからintまたは他のものに変換する

+4

'Object'をプリミティブにキャストすることができない理由を理解できない場合は、Javaの基礎を理解するために時間を費やす必要があります。 – mre

+1

' getSelectedItem.toString() 'を試してください – Logan

答えて

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

Doesn ' Enumsでの作業 – Populus

+0

あなたの答えは私のために働いていました。 – humphrey

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()); 

ませキャストは必要ありません。