Pertanyaan Anda agak tidak lengkap, tetapi tebakan saya adalah JComboBox Anda diisi dengan String. Jika demikian, kemungkinan akan lebih baik bagi Anda untuk mengisi JComboBox (atau lebih baik, modelnya) dengan objek kelas khusus yang menggabungkan ProductID Anda dengan ProductName. Agar kotak kombo menampilkan nama, Anda harus memberi kelas Anda metode toString() yang mengembalikan nama, atau memberi kotak kombo Anda perender sel yang menunjukkan nama.
Sunting
Misalnya buat kelas MyComboItem, beri dua kolom String yang Anda isi dari database Anda, beri toString()
metode yang menunjukkan nama produk, dan isi JComboBox Anda dengan item jenis ini:
class MyComboItem {
private String productId;
private String productName;
public MyComboItem(String productId, String productName) {
this.productId = productId;
this.productName = productName;
}
public String getProductId() {
return productId;
}
public String getProductName() {
return productName;
}
@Override
public String toString() {
return productName;
}
}
Edit 2
Yang dapat digunakan seperti ini:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
public class ComboItemTest {
public static void main(String[] args) {
DefaultComboBoxModel<MyComboItem> comboModel =
new DefaultComboBoxModel<MyComboItem>();
// note that here you would fill the model with data from your database ***
comboModel.addElement(new MyComboItem("x1234A", "Product 1"));
comboModel.addElement(new MyComboItem("x1235A", "Product 2"));
comboModel.addElement(new MyComboItem("x1236A", "Product 3"));
comboModel.addElement(new MyComboItem("x1237A", "Product 4"));
comboModel.addElement(new MyComboItem("x1238A", "Product 5"));
comboModel.addElement(new MyComboItem("x1239A", "Product 6"));
final JComboBox<MyComboItem> combobox = new JComboBox<MyComboItem>(comboModel);
combobox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
MyComboItem item = (MyComboItem) combobox.getSelectedItem();
if (item != null) {
System.out.printf("You've selected Product Name: %s, Product ID: %s%n",
item.getProductName(), item.getProductId());
}
}
});
JOptionPane.showMessageDialog(null, new JScrollPane(combobox));
}
}
Edit 3
Dalam kasus Anda, Anda akan mengisi model Anda dengan informasi dari ResultSet. Mungkin sesuatu seperti:
ResultSet result = statement.executeQuery();
while(result.next()){
String productName = result.getString(1);
String productId = result.getString(2); // ???? not sure if this is valid
MyComboItem comboItem = new MyComboItem(productId, productName);
comboModel.addElement(comboItem);
}