0
美好的一天我对编码完全陌生。我正在构建一个除了其他库项目之外还使用组合框的应用程序。我面临的问题是,在尝试从Mysql Db填充组合框项目时,每次单击下拉菜单时项目值都会被复制。来自mysql的JavaFx组合框
我该如何防止这种情况发生?我明白我的方法本身可能是错误的。
@FXML
public void getStation() {
String sqlStationName = " select * from station ";
try {
conn = (Connection) DBConnection.connect();
PreparedStatement pstStn = conn.prepareStatement(sqlStationName);
ResultSet stnRS = pstStn.executeQuery(sqlStationName);
while (stnRS.next()) {
comboBoxStation.getItems().add(stnRS.getString("stationName"));
}
stnRS.close();
pstStn.close();
conn.close();
} catch (SQLException ex) {
System.err.println("ERR" + ex);
}
}
也许你可以尝试清除项目,然后再添加更多。但我不确定,如果你确实想要查询每一次点击,这似乎是一个微小的矫枉过正。 –
你如何使用'getStation'方法? '@ FXML'(尽管公共方法没有必要)看起来可能表明你将它用作fxml文件中的事件处理程序。请添加有关此方法如何用于问题的信息。 – fabian
感谢您的回复。@ el_chupacabra您的观察是正确的,我并不想每次点击都要查询,我只希望在用户点击组合框按钮时显示项目,然后在列表中重置或清除项目关闭了。 Fabian是的@FXML使用是一个新手的错误,该方法被称为鼠标点击。 –