我读AutoComplete ComboBox in JavaFX但最upvotes答案使用Lambda表达式。自动完成组合框JavaFX中没有Lambda表达式
在我的项目,我可以不使用它们,所以我想问一下,如果有人可以不lambda表达式提供的代码。
这里是代码的两个部分lambda表达式:
1)
comboBox.getEditor().focusedProperty().addListener(observable -> {
if (comboBox.getSelectionModel().getSelectedIndex() < 0) {
comboBox.getEditor().setText(null);
}
});
2)
comboBox.addEventHandler(KeyEvent.KEY_PRESSED, t -> comboBox.hide());
每个lambda表达式可被转换到一个anonymus类。但是没有被允许使用lambda表达式在JavaFX的** 8 **似乎是一个荒谬的约束,因为有使用Lambda表达式API中的类... – fabian
我使用的版本7.只想塔格它在JavaFX的8这样的人谁知道lamda表达看到这一点。 –
你应该能够确定如何通过查看这两种方法的文档编写非拉姆达实现:[Observable.addListener](http://docs.oracle.com/javase/8/javafx/api/javafx/豆/ Observable.html#的addListener-javafx.beans.InvalidationListener-)和[Node.addEventHandler](http://docs.oracle.com/javase/8/javafx/api/javafx/scene/Node.html#addEventHandler- javafx.event.EventType-javafx.event.EventHandler-)。假设你熟悉编写匿名类,那就是。 – VGR