gpt4 book ai didi

java - 检测鼠标单击 SELECTION Editable ComboBox JavaFX

转载 作者:行者123 更新时间:2023-11-29 08:41:27 25 4
gpt4 key购买 nike

这个问题一开始可能看起来很简单,但我已经遇到了几天的麻烦。

所以,我的问题是,当 ComboBox 选择打开并且鼠标点击选择选项时,我想检测鼠标点击和选择。

因此,它应该做的是检测选择上的鼠标点击并获取所选值:

enter image description here

PS:我的 ComboBox 的代码可以在这里看到: Select JavaFX Editable Combobox text on click

请随时提出其他问题。

最佳答案

只需使用一个单元工厂,并向单元注册一个处理程序:

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.control.ListCell;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class ComboBoxMouseClickOnCell extends Application {

@Override
public void start(Stage primaryStage) {
ComboBox<String> combo = new ComboBox<>();
combo.getItems().addAll("One", "Two", "Three");
combo.setCellFactory(lv -> {
ListCell<String> cell = new ListCell<String>() {
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
setText(empty ? null : item);
}
};
cell.setOnMousePressed(e -> {
if (! cell.isEmpty()) {
System.out.println("Click on "+cell.getItem());
}
});
return cell ;
});

Scene scene = new Scene(new StackPane(combo), 300, 180);
primaryStage.setScene(scene);
primaryStage.show();
}

public static void main(String[] args) {
launch(args);
}
}

关于java - 检测鼠标单击 SELECTION Editable ComboBox JavaFX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39875100/

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