Listview 对列表视图中的项目进行排序<&燃气轮机;
我有一个简单的代码“注册”的项目从一个列表到一个文本,正在工作Listview 对列表视图中的项目进行排序<&燃气轮机;,listview,javafx-2,javafx,Listview,Javafx 2,Javafx,我有一个简单的代码“注册”的项目从一个列表到一个文本,正在工作 final private KeyCombination ENTER = new KeyCodeCombination(KeyCode.ENTER); final private KeyCombination ESC = new KeyCodeCombination(KeyCode.ESCAPE); final ListView<String> listview
final private KeyCombination ENTER = new KeyCodeCombination(KeyCode.ENTER);
final private KeyCombination ESC = new KeyCodeCombination(KeyCode.ESCAPE);
final ListView<String> listview = new ListView<>();
final TextArea textArea = new TextArea();
textArea.setPrefRowCount(4);
textArea.addEventFilter(KeyEvent.KEY_PRESSED, new EventHandler<KeyEvent>() {
public void handle(KeyEvent event) {
if (ENTER.match(event)) {
if (!textArea.getText().trim().isEmpty()) {
String selectedItem = listview.getSelectionModel().getSelectedItem();
if (selectedItem != null) {
if (!selectedItem.equals(textArea.getText())) {
listview.getItems().set(listview.getSelectionModel().getSelectedIndex(), textArea.getText());
listview.getSelectionModel().clearSelection();
textArea.setText("");
textArea.clear();
}
} else { // create a new item
listview.getItems().add(textArea.getText());
textArea.setText("");
textArea.clear();
}
event.consume();
}
} else if (ESC.match(event)) { // cancel edit
textArea.clear();
listview.getSelectionModel().clearSelection();
}
}
});
final private KeyCombination ENTER=新的keycodecompbination(KeyCode.ENTER);
最终私钥组合ESC=新的KeyCodeCombination(KeyCode.ESCAPE);
最终ListView ListView=新建ListView();
最终TextArea TextArea=新TextArea();
textArea.setPrefRowCount(4);
textArea.addEventFilter(按下KeyEvent.KEY_,新建EventHandler()){
公共无效句柄(KeyEvent事件){
如果(输入.match(事件)){
如果(!textArea.getText().trim().isEmpty()){
字符串selectedItem=listview.getSelectionModel().getSelectedItem();
如果(selectedItem!=null){
如果(!selectedItem.equals(textArea.getText()){
listview.getItems().set(listview.getSelectionModel().getSelectedIndex(),textArea.getText());
listview.getSelectionModel().clearSelection();
textArea.setText(“”);
textArea.clear();
}
}else{//创建一个新项
添加(textArea.getText());
textArea.setText(“”);
textArea.clear();
}
event.consume();
}
}else if(ESC.match(event)){//取消编辑
textArea.clear();
listview.getSelectionModel().clearSelection();
}
}
});
我只是想更改作为寄存器推送的房子,例如,当它添加一个项目(项目5)时,它将进入列表的底部
我希望这是第一次
任何人都有解决方案吗?您可以在
列表视图中的任何位置添加项目
:
listView.getItems().add(0, "item at first position");
这应该会有所帮助。没有帮助,还有别的吗?