2013-11-27 3 views
0

Первоначально JComboBox заполняются некоторыми строками значений как «Текстура», «Продукты» и т.д. И они приписаны с характером как «T», «Р», так что таблица будет выглядеть следующим образомКак получить правильное значение подкатегории?

CREATE TABLE Category ( 
    CategoryID INTEGER GENERATED ALWAYS AS IDENTITY 
       (START WITH 1, INCREMENT BY 1) , 
    CategoryCode VARCHAR(1) NOT NULL, 
    CategoryName VARCHAR(80) NOT NULL 


); 

INSERT INTO Category (CategoryCode, CategoryName) VALUES('T','Textures'); 
INSERT INTO Category (CategoryCode, CategoryName) VALUES('D','Diamonds'); 
INSERT INTO Category (CategoryCode, CategoryName) VALUES('P','Products'); 

Когда они извлекаются из JComboBox, я что-то вроде этого

cbSCategory.addItemListener(new ItemListener() { 

      @Override 
      public void itemStateChanged(ItemEvent e) { 
       // sid = cbSCategory.getSelectedIndex(); 
       try { 
        setProductCol(); 
       } catch (SQLException ex) { 
        JOptionPane.showMessageDialog(null, "Error"); 
        Logger.getLogger(ProductPanel2.class.getName()).log(Level.SEVERE, null, ex); 
       } 

      } 
     }); 

Теперь я не могу иметь индекс и символьное представление атрибута Как получить значение атрибута правильно ? Благодаря Джек

+0

((JComboBox) e.getSource()). GetSelectedItem() возвращает выбранный элемент. – wxyz

ответ

1

Вы можете создать класс Java для представления категории, и держать в JComboBox

public class Category { 
    int id; 
    String code; 
    String name; 
} 

Override ToString() метод, чтобы вернуть «имя» поле и место списка Категория объектов в JComboBox.

При выборе вы можете выбрать выбранный элемент и прочитать id или code.

+0

Спасибо, это круто – user3024062

+0

Привет, что делать, если мне нужно вернуть символ вместо строки для toString()? Обратите внимание, что символ не строка – user3024062

+0

вы можете использовать myCharVariable + "" – StanislavL

Смежные вопросы