2015-10-21 2 views
0

Я начинаю в java, и я хочу использовать combobox на двух таблицах (поставщик, шт.). Я загружаю combobox моего провайдера, но я бы хотел, чтобы я щелкнул продавцом, который я могу получить его ID и вставить его в задаче piece.my является код, чтобы получить идентификатор поставщика, выбранного в выпадающем списке, пожалуйста, помогите мне, это мой код:combobox java help восстановить ID для selectedItem

private void Fillcombo(){ 

String sql ="select * from fournisseur"; 
try{ 

    stm = conn.obtenirconnexion().createStatement(); 
    Rs = stm.executeQuery(sql); 
    while(Rs.next()){ 
      String f= Rs.getString("nomFournisseur"); 
      txt_f.addItem(f); 
    } 
}catch(Exception e){ 
    JOptionPane.showMessageDialog(null, e); 
} 
+0

что именно ваша проблема ? что вы ожидали получить и что вы на самом деле получаете? – Rhayene

ответ

0

Что вам нужно, чтобы быть в состоянии вынести описание/name о поставщике в combobox, но когда вы выбираете описание/имя в combobox, вы хотите получить объект Vendor.

JCombobox поставляется с этим естественным путем. Вы можете добавлять объекты, отличные от String, в качестве элементов в JCombobox, JCombobox будет использовать метод toString() объекта для его отображения, а JCombobox.getSeletecedItem() все равно предоставит вам полный объект.

Итак, что вы можете сделать: 1) Определите класс поставщика (вы можете сделать то же самое для своего кусочного класса). 2) Создайте объекты Vendor на основе данных, загруженных из базы данных. 3) Переопределите метод toString(). от поставщика к тексту, который вы хотите показать в JComboBox 4) добавить объекты поставщика в JComboBox 5) Делайте все, что нужно делать с выбранным Vendor

Пример:

import javax.swing.*; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 

public class Vendor { 
String name; 
int ID; 

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

public Vendor(String name, int ID) { 
    this.name = name; 
    this.ID = ID; 
} 

public static void main(String[] args) { 
    Vendor[] vendors = {new Vendor("Apple", 1) 
      , new Vendor("Microsoft", 2) 
      , new Vendor("Google", 3)}; 

    final JComboBox comboBox = new JComboBox(vendors); 

    JFrame jFrame = new JFrame(); 
    jFrame.add(comboBox); 
    jFrame.setVisible(true); 
    jFrame.pack(); 

    comboBox.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent e) { 
      Vendor selectedVendor = (Vendor) comboBox.getSelectedItem(); 
      System.out.println(selectedVendor.name + ", " + selectedVendor.ID); 
      // do whatever here you need to do with the ID of vendor 
     } 
    }); 
} 
} 
+0

поблагодарить г-на Бонда: я использую netbenas. Я хочу получить идентификатор, когда я выбираю поставщика в своем поле со списком; Мне нужен идентификатор для вставки в другой таблице. Если у меня может быть полный код примера, потому что я дебютировал в java, спасибо. Будьте терпимы, я говорю по-французски, мой английский беден, спасибо! – Diomanez

+0

@Diomanez добро пожаловать. Код, который я дал, представляет собой пример с полным запуском, вы можете заменить комментарий своей логикой, чтобы вставить идентификатор в указанную вами таблицу. – Bon

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