-1

CComboBox を次のように宣言しました。

     final CCombo combobox= new CCombo(shell, SWT.BORDER);
     combobox.setBounds(30, 22, 88, 21);

     ResultSet result = statement.executeQuery();

クラス myCombo のオブジェクトをコンボボックスに追加したい

     while(result.next())
     {
          String ProName=result.getString(1);
          String ProId=result.getString(2);
          myCombo comboItem=new myCombo(ProId,ProName); //OBJECT comboItem
          combobox.addElement(comboItem); //ERROR The method addElement(myCombo)  
                                             is undefined for the type CCombo
      } 

コンボボックスのエラー。addElement (comboItem) .... しかし、addElement() は CCombo で既に定義されています。

これはクラス myCombo です

class myCombo{
               private String ProId;
               private String ProName;


               public myCombo(String ProId, String ProName) {
                   this.ProId=ProId;
                   this.ProName=ProName;

               }

               public String getProductName() {
                      return ProName;
                   }

               public String getProductId() {
                      return ProId;
                   }

                   @Override
               public String toString() {
                      return ProName;
               }
        }

選択したデータを取り戻す方法。
エラーをカントとして表示

combobox.addSelectionListener(new SelectionAdapter() {
            @Override
            public void widgetSelected(SelectionEvent e) {



    myCombo item = (myCombo) combo.getItem(getSelectionIndex()) ; //ERROR

                    if (item!=null) {
                       System.out.printf("You've selected Product Name: %s, Product ID: %s%n", 
                             item.getProductName(), item.getProductId());
                    }

            }
        });
4

1 に答える 1

2

使用している場合 org.eclipse.swt.custom.CComboは、メソッドがありません。オーバーライドaddElement(Object o)する必要があるメソッドがあります。add(String s) toString()

      myCombo comboItem=new myCombo(ProId,ProName); 
      combobox.add(comboItem.toString())

例えば

           @Override
           public String toString() {
                  return ProId+":"+ProName;
           }

選択を取得するには、

  combo.addSelectionListener(new SelectionAdapter() {
        @Override
        public void widgetSelected(SelectionEvent e) {
            System.out.print("Selected Value-");
            System.out.print(combo.getItem(combo.getSelectionIndex()));
        }
    });
于 2014-07-10T13:26:10.897 に答える