Java 使用ObservableList中的对象填充ComboBox时出现问题
我试图用可观察列表中的对象填充一个组合框,但在组合框中它显示了一些其他内容 代码: 下面是它在组合框中的外观:Java 使用ObservableList中的对象填充ComboBox时出现问题,java,oop,javafx,combobox,javafx-8,Java,Oop,Javafx,Combobox,Javafx 8,我试图用可观察列表中的对象填充一个组合框,但在组合框中它显示了一些其他内容 代码: 下面是它在组合框中的外观: 有人能帮我吗?问题是我没有在Veturat类中重写toString方法。这是可行的,但有更好的解决方案: @FXML private ComboBox<Veturat> box; ObservableList<Veturat> lista = FXCollections.observableArrayList(); public void ad
有人能帮我吗?问题是我没有在Veturat类中重写toString方法。这是可行的,但有更好的解决方案:
@FXML
private ComboBox<Veturat> box;
ObservableList<Veturat> lista = FXCollections.observableArrayList();
public void addToComboBox() throws SQLException, ClassNotFoundException
{
box.getItems().clear();
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://**.***.**.***/*****";
String user = "******";
String pass = "***********";
connect = (Connection) DriverManager.getConnection(url, user, pass);
Statement statement;
String sql = "Select * from veturattable";
statement = connect.createStatement();
ResultSet rs = statement.executeQuery(sql);
while(rs.next())
{
int id = rs.getInt("id");
String vetura = rs.getString("vetura");
String modeli = rs.getString("modeli");
int km = rs.getInt("km");
double qmimi = rs.getDouble("qmimi");
String ngjyra = rs.getString("ngjyra");
String targa = rs.getString("targa");
veturat = new Veturat(id,vetura,modeli,km,qmimi,ngjyra,targa);
lista.add(veturat);
}
box.getItems().addAll(lista);
rs.close();
connect.close();
}