У меня есть Combobox, и я хочу заполнить его объектом.
Я пробовал, но я не мог этого сделать.
Swing java program:
String query="select ProductId,Productname from maintable";
PreparedStatement pstmt = null;
pstmt = con.prepareStatement(query);
ResultSet res=pstmt.executeQuery();
while(res.next())
{
String productName = res.getString(1);
String productId = res.getString(2);
comboitem comboval = new comboitem(productId, productName);
combo.addElement(comboval); // ERROR
}
Класс comboitem - это класс, с помощью которого создается объект.
public class comboitem
{
private String productId;
private String productName;
public comboitem (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;
}
}
Я использую CComboBox здесь. Можно ли перечислить объекты в CComboBox?
Вы отметили Java, поэтому я предполагаю, что вы имеете в виду JComboBox
а не C++ CComboBox
. При этом единственная ошибка, которую я вижу в результате этого вызова метода, опять же, предполагая, что combo
является JComboBox
заключается в том, что JComboBox
не имеет метода addElement
. Вероятно, вы хотите использовать DefaultComboBoxModel
который имеет метод addElement
. Поэтому вы должны сделать что-то вроде
MutableComboBoxModel<comboitem> model = new DefaultComboBoxModel<comboitem>();
while(res.next())
{
String productName = res.getString(1);
String productId = res.getString(2);
comboitem comboval = new comboitem(productId, productName);
model.addElement(comboval); // ERROR
}
combo.setModel(model);
Asides:
Следуйте правилам именования Java. Названия классов начинаются с заглавных букв и должны использовать CamelCasing.
Кажется, у вас есть две учетные записи, что совершенно неприемлемо, или вы и ваш одноклассник работают над одним и тем же. В любом случае, они отвечают датой @HovercraftFullOfEels было более чем подходящим. Если вы не поняли, вы должны задать больше вопросов. Или вы можете просто перейти к учебнику и посмотреть, как использовать Combo Boxes