gpt4 book ai didi

java - 为什么它要经过两次 if 并在第二次返回 null?

转载 作者:行者123 更新时间:2023-11-30 08:42:26 24 4
gpt4 key购买 nike

对于我的应用程序,我使用数据库并且需要在数据库中添加和删除项目。我有一个方法,当您从列表中选择一个项目时,我可以让一个按钮可见,这个按钮可以让您删除该项目。我已经使用了 2 次,但对于以下代码,它不起作用。当我调试它时,我注意到它通过我的 if 两次,第二次它说它没有选择任何东西,所以它返回 null。

   private void lstGenresValueChanged(javax.swing.event.ListSelectionEvent evt) {                                       

Object geselecteerdeObject = lstGenres.getSelectedValue();
Genre geselecteerdGenre = (Genre) geselecteerdeObject;
if (geselecteerdeObject != null) {

txtGenreNaam.setText(geselecteerdGenre.getGenreNaam());
System.out.println(geselecteerdGenre.getGenreNaam());
ophalenGenresLijst();

}
if (lstGenres.isSelectionEmpty()) {
btnVerwijderen.setEnabled(false);
btnWijzigen.setEnabled(false);
} else {
btnVerwijderen.setEnabled(true);
btnWijzigen.setEnabled(true);
}


}

我也试着把它放在我的 if 中,但它没有改变任何东西

if (lstPersonen.getSelectedIndices().length == 0) {

但是在这里它确实有效

Object geselecteerdeObject = lstFilms.getSelectedValue();
Film geselecteerdeFilm = (Film) geselecteerdeObject;
if (geselecteerdeObject != null) {
String filmIdAlsString = Integer.toString(geselecteerdeFilm.getFilmId());
txtFilmNaam.setText(geselecteerdeFilm.getFilmNaam());
txtFilmJaar.setText(geselecteerdeFilm.getFilmJaar() + "");
txtAantalMinuten.setText(geselecteerdeFilm.getAantalMinuten() + "");
txtIMDbScore.setText(geselecteerdeFilm.getIMDbScore() + "");
updateGenreLijst(geselecteerdeFilm.getFilmId());
updateActeurLijst(geselecteerdeFilm.getFilmId());
updateRegisseurLijst(geselecteerdeFilm.getFilmId());
}

if (lstFilms.isSelectionEmpty()) {
btnVerwijderen.setEnabled(false);
btnWijzigen.setEnabled(false);
} else {
btnVerwijderen.setEnabled(true);
btnWijzigen.setEnabled(true);
}

最佳答案

我的猜测是,如果您取消注释 ophalenGenresLijst() 调用,它将起作用。似乎此调用正在影响您在上面更改了值的监听器代码的列表。也许这里调用了错误的方法?

关于java - 为什么它要经过两次 if 并在第二次返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34565818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com