listview - 对 ListView<> 中的项目进行排序

标签 listview javafx-2 javafx

我有一个简单的代码,可以将列表中的项目“注册”到文本中,正在运行

  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();
        } 
      }
    });

我只是想更改作为寄存器推送的房子,例如,当添加一个项目(项目 5)时,它会转到列表的底部。

sample

我要第一个

谁有解决办法?

最佳答案

您可以将项目添加到 ListView 中的任何位置:

listView.getItems().add(0, "item at first position");

关于listview - 对 ListView<> 中的项目进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15499066/

相关文章:

android - IntentService 将某些内容返回到 ResultReceiver 后如何更新 Android 中的 ListView

android - 为什么我的 Android 应用程序一直告诉我我需要定义一个已经定义的 ListView id?

javafx-2 - 如何创建弹出菜单

java - RotateTransition 当前角度 javafx2

java - 如何在 JavaFX 中将可见性绑定(bind)到 Controller

Android ActionBar/ActionBarSherlock 多项选择微调器

android - 通过 ArrayAdapter 过滤多行 ListView

button - TextField 为空时如何禁用按钮?

尽管指定了 USE_COMPUTED_SIZE,JavaFX 和 Scene Builder 仍会剪辑场景边缘

JavaFX - 屏幕关闭时的绘图组件