2012-08-17 1 views
8

Swingでコンボボックスの整数値を取得する必要があります。Java Swingでコンボボックスの値を取得

combobox.getSelectedItem()とcombobox.getSelectedIndex()を試しましたが、int値を取得できませんでした。すべてのヘルプは高く評価され

CommonBean commonBean[]=new CommonBean[commonResponse.getCommonBean().length+1];   
     for(int i=0;i<commonResponse.getCommonBean().length;i++) 
     { 
      commonBean[i] = new CommonBean("--Please select a project--", 0); 
      commonBean[i+1] = new CommonBean(commonResponse.getCommonBean()[i].getProjectName(), commonResponse.getCommonBean()[i].getProjectId()); 
     } 

JComboBox combobox= new JComboBox(commonBean); 


public CommonBean(String projectName,int projectId) {  
     this.projectName = projectName; 
     this.projectId = projectId; 

    } 

以下は私のコードです。

+0

だから、どのように設定しましたか? – nullpotent

+1

問題を示す[SSCCE](http://sscce.org/)を投稿してください。 – tenorsax

+1

更新が不完全です。 'projectId'の型は何ですか? – trashgod

答えて

36

メソッドObject JComboBox.getSelectedItem()は、Objectタイプでラップされた値を返します。したがって、適切にキャストする必要があります。

構文:

YourType varName = (YourType)comboBox.getSelectedItem();` 
String value = comboBox.getSelectedItem().toString(); 
+0

上記を使用すると文字列値(つまり、ユーザーがコンボボックスに表示される名前)のみを取得しています。 – vijay

+0

これはうまくいきます。ありがとうAVD – vijay

+1

アップデートに基づいて、 'YourType'は' CommonBean'で、 'projectId'を得ることができます。 – trashgod

5

文字列が空の場合、comboBox.getSelectedItem().toString()NullPointerExceptionを与えるだろう。だから(String)で型キャストする方が良いです。

関連する問題