同步组合盒Java秋千
我想在Java swing 中创建同步组合框。当我选择其中一个省时,Kabupaten(区)组合框将包含所选省的所有地区。但是有一个问题。区组合盒仅选择省份组合框的第一个条目,当我在省份组合框中选择另一个条目时不会更改。为了获得完全同步的组合框,我需要做什么? tia。
public void getProvince() {
DBConnection dBConnection = new DBConnection();
dBConnection.connection();
Statement statement = null;
try {
statement = dBConnection.con.createStatement();
String sql = "SELECT * FROM provinsi";
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
String provinceName = rs.getString("nama");
String provinceId = rs.getString("id");
provinsiCombo.addItem(provinceId);
}
dBConnection.con.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Gagal Terhubung");
}
}
public void getKabupaten() {
DBConnection dBConnection = new DBConnection();
dBConnection.connection();
Statement statement = null;
try {
statement = dBConnection.con.createStatement();
String sql = "SELECT * FROM kabupaten WHERE id_prov = '"
+ provinsiCombo.getSelectedItem()
+ "'";
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
String kabupaten = rs.getString("nama");
kabupatenCombo.addItem(kabupaten);
}
dBConnection.con.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Gagal Terhubung");
}
}
I want to create synchronized combo box in Java Swing. When I choose one of the provinces, the kabupaten (district) combo box will contain all the districts of the selected province. But there's a problem. The district combo box only selects first entry of province combo box and doesn't change when I select another entry in province combo box. What I need to do in order to get fully synchronized combo box? TIA.
public void getProvince() {
DBConnection dBConnection = new DBConnection();
dBConnection.connection();
Statement statement = null;
try {
statement = dBConnection.con.createStatement();
String sql = "SELECT * FROM provinsi";
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
String provinceName = rs.getString("nama");
String provinceId = rs.getString("id");
provinsiCombo.addItem(provinceId);
}
dBConnection.con.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Gagal Terhubung");
}
}
public void getKabupaten() {
DBConnection dBConnection = new DBConnection();
dBConnection.connection();
Statement statement = null;
try {
statement = dBConnection.con.createStatement();
String sql = "SELECT * FROM kabupaten WHERE id_prov = '"
+ provinsiCombo.getSelectedItem()
+ "'";
ResultSet rs = statement.executeQuery(sql);
while (rs.next()) {
String kabupaten = rs.getString("nama");
kabupatenCombo.addItem(kabupaten);
}
dBConnection.con.close();
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Gagal Terhubung");
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果要根据省份组合框的价值动态加载值到District Combobox,则需要使用侦听器。示例如下。最好将加载值从数据库移动到分开类,并在您的应用程序中使用加载值。
更新的代码:
If you want to load values dynamically to district combobox based on the value of provinces combo box, you need to use listeners. Example is mentioned below. Better to move loading values from DB to separate class and used the loaded values in your application.
Updated code: