gpt4 book ai didi

java - 从数据库添加菜单按钮

转载 作者:行者123 更新时间:2023-12-02 11:05:48 24 4
gpt4 key购买 nike

我正在尝试从数据库中添加一个java菜单按钮。我在 PhpMyAdmin 中有包含名称的表。单击该按钮后,将显示一个列表,其中包含数据库中的所有名称。看来这行不通。有人能帮我解决这个问题吗?我尝试过不同的方法,但似乎并没有真正起作用。

try {
Class.forName("com.mysql.cj.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/bibliotheek?user=root");
Connection con = conn;

ResultSet rs = con.createStatement().executeQuery("SELECT naam from klanten");

while (rs.next()) {
UserModel usr = new UserModel();
usr.setNaam(rs.getString("naam"));
}

dropdownKlant.getItems().addAll(new MenuItem("naam"));

} catch (SQLException sqlf) {
System.out.println(sqlf.getMessage());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}

我的 FXML:

@FXML
private MenuButton dropdownKlant;

我的用户模型:

public class UserModel {

private int id;
private String naam;
private String achternaam;
private String wachtwoord;
private String woonplaats;
private String straatnaam;
private String straatnummer;


public UserModel(int id, String naam, String achternaam, String wachtwoord, String woonplaats, String straatnaam, String straatnummer) {
this.id = id;
this.naam = naam;
this.achternaam = achternaam;
this.wachtwoord = wachtwoord;

this.woonplaats = woonplaats;
this.straatnaam = straatnaam;
this.straatnummer = straatnummer;
}

public void setId(int id) {
this.id = id;
}

public void setNaam(String naam) {
this.naam = naam;
}

public void setAchternaam(String achternaam) {
this.achternaam = achternaam;
}

public void setWachtwoord(String wachtwoord) {
this.wachtwoord = wachtwoord;
}

public void setWoonplaats(String woonplaats) {
this.woonplaats = woonplaats;
}

public void setStraatnaam(String straatnaam) {
this.straatnaam = straatnaam;
}

public void setStraatnummer(String straatnummer) {
this.straatnummer = straatnummer;
}

public UserModel() {

}

public int getId() {
return id;
}

public String getNaam() {
return naam;
}

public String getAchternaam() {
return achternaam;
}

public String getWachtwoord() {
return wachtwoord;
}

public String getWoonplaats() {
return woonplaats;
}

public String getStraatnaam() {
return straatnaam;
}

public String getStraatnummer() {
return straatnummer;
}
}

最佳答案

您没有添加新创建的 MenuItemMenu 。创建一个临时变量以插入新创建的 MenuItem。您可能还想添加一个事件处理程序来处理菜单项上的单击事件,因为在下一次迭代中您将丢失对其的引用。

while (rs.next()) {
UserModel usr = new UserModel();
String naam = rs.getString("naam");
usr.setNaam(naam);

MenuItem temp = new MenuItem(naam);
dropdownKlant.getItems().addAll(temp);
}

或者,您可能希望将这些创建的 MenuItem 存储到单独的 List 中并稍后处理它们。

关于java - 从数据库添加菜单按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50969408/

24 4 0