我有一个装满物品的组合框。
每当我删除其中一个项目时,该值将被删除但不会删除 组合框内的空白区域?
我该如何解决这个问题?
这是javafx:)
如果我的组合框内有10个项目并删除它们,我将有10个空格..
@FXML
public void toevoegenPloeg(ActionEvent event) throws ApplicationException, DBException {
//verbinding met transactielaag
PloegTrans pt = new PloegTrans();
lblCorrect.setText("");
lblError.setText("");
//kijken of er een niveau geselecteerd is (must)
if(cboNiveau.getSelectionModel().getSelectedItem() != null){
taPloegen.setVisible(true);
//niveau ophalen uit combobox
String niveau = cboNiveau.getSelectionModel().getSelectedItem().name();
//verbinding met db klasses
PloegDB pdb = new PloegDB();
PersoonDB pb = new PersoonDB();
//ploegnaam berekenen
Integer aantal = pdb.zoekAantalPloegenPerNiveau(niveau);
//als aantal groter is dan " Z " dan error geven
if (aantal+1 < 27) {
String ploegnaam = niveau + getLetter(aantal+1);;
try{
//indien geen trainer geselectteerd dan ploeg maken zonder trainer
if(cboTrainer.getSelectionModel().getSelectedItem() == null) {
//gegevens setten
PloegBag pr = new PloegBag();
pr.setNaam(ploegnaam);
pr.setNiveau(niveau);
int ploegID = pt.toevoegenPloegZonderTrainer(pr);
pr.setId(ploegID);
lblCorrect.setText("ploeg werd aangemaakt");
//toevoegen gegevens en combobox op leeg zetten
taPloegen.getItems().add(pr);
cboNiveau.getSelectionModel().select(null);
iniTabel();
}
// anders gaan we een ploeg maken met een trainer
else {
//trainerid berkenenen
Integer trainerId = cboTrainer.getSelectionModel().getSelectedItem().getId();
PloegBag pr = new PloegBag();
PersoonBag pa = cboTrainer.getSelectionModel().getSelectedItem();
//setters voor het persoonbag
pr.setNaam(ploegnaam);
pr.setNiveau(niveau);
pr.setTrainer_id(trainerId);
int ploegID = pt.toevoegenPloeg(pr);
pr.setId(ploegID);
lblCorrect.setText("Ploeg werd aangemaakt");
//toevoegen aan tableview en comboboxes leegmaken
taPloegen.getItems().add(pr);
cboNiveau.getSelectionModel().select(null);
cboTrainer.getSelectionModel().select(null);
//trainer heeft nu een ploeg dus erwijderen wehem uit de combobox
cboTrainer.getItems().remove(pa);
iniTabel();
}
} catch (DBException ae){
lblError.setText("Onherstelbare fout: " + ae.getMessage());
}
catch (ApplicationException ae){
lblError.setText(ae.getMessage());
}
} else {
lblError.setText("Ploegenniveau zit vol");
}
} else {
lblError.setText("Geen niveau geselecteerd");
}
}
private void iniComboTrainer(){
PersoonDB pdb = new PersoonDB();
try{
ArrayList<PersoonBag> persoonlijst = pdb.zoekAlleOpenTrainers();
for(PersoonBag pb : persoonlijst){
cboTrainer.getItems().add(pb);
}
} catch (ApplicationException ae) {
lblError.setText(ae.getMessage());
} catch (DBException ae) {
lblError.setText("onherstelbare fout: " + ae.getMessage());
}
}
编辑:我仍然发现了这个问题..我尝试了所有选项..这就是我删除项目时的意思,空白区域仍然存在。
编辑:每当我换到另一个页面然后返回时,空格就消失了......但是当我在同一页面上时
答案 0 :(得分:1)
您可以在删除项目后立即尝试这样做。
comboBox.setVisibleRowCount(comboBox.getVisibleRowCount()-1);`