JavaFX Combobox无法从第一次和第二次点击更改为点击值

时间:2017-04-20 22:32:30

标签: java javafx combobox

我有一个名为ComboBox的{​​{1}},其中填充了verreGcombo类型的项目,我遇到的问题是,当我想从中选择一个值时,它始终无法在第一次和第二次点击时更改其值,有时更多,所以我总是必须使用箭头导航和选择项目或单击三次以上来选择项目。这个问题不会出现在其他ComboBox上(项目编号不超过5),这是我的代码:

Verre

1 个答案:

答案 0 :(得分:1)

您必须向Comboboxs添加一个EventFilter并聆听鼠标点击,这样您就可以在用户使用鼠标单击某个项目时更改该值。以下是您必须添加的代码来解决问题。

verreGcombo.addEventFilter(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
    public void handle(MouseEvent e) {
        Verre verreG = verreGcombo.getSelectionModel().getSelectedItem();

           if (verreG != null) {

                verreGprixT.setText(setFloat(verreG.getArticle().getPrixVenteTTC()));
                verreGPrixHR = verreG.getArticle().getPrixVenteTTC();
                verreGRemise = (verreGPrixHR * verreG.getArticle().getRemise()) / 100;
                verreGPrix = verreGPrixHR - verreGRemise;
                indice.setText(setFloat(verreG.getIndice()));
                verreGfield.setText(verreG.getMatiere() + " " + verreG.getType());

            } else {
                verreGprixT.setText(setFloat(0));
                verreGPrixHR = 0;
                verreGRemise = 0;
                verreGPrix = 0;
                indice.setText(setFloat(0));
                verreGfield.setText("");
        }
    };
});

我希望此代码解决您的问题。