我如何防止comboBox中的项目在Javafx中复制?

Emanuel_PresentInovator

我制作了一个可编辑的组合框.....,当您在其中键入内容时,您键入的内容都将进入列表底部。我遇到的问题是,当我单击组合框中已经存在的内容时,它不仅被选中,而且还作为新条目再次添加到组合框中,从而创建了关于如何防止这种情况的“重复”的任何想法?这就是我所拥有的。

import javafx.scene.*;
import javafx.scene.control.*;
import javafx.scene.layout.GridPane;
import javafx.geometry.*;
import javafx.stage.*;
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;

public class ComboBoxProblem extends Application {

Scene scene1;

ObservableList<String> randomStrings;





 public void start(Stage primaryStage)throws Exception{
    primaryStage.setTitle("ComboBox Problem!");
    primaryStage.setResizable(false);
    primaryStage.sizeToScene();

    GridPane gridPane = new GridPane();

    scene1 = new Scene(gridPane);

    ComboBox<String> box1 = new ComboBox<String>();

    randomStrings = FXCollections.observableArrayList(
            "Cool","Dude","BRO!","Weirdo","IDK"

   );   



   box1.setItems(randomStrings);

   box1.setEditable(true);

   box1.setValue(null);
   box1.setOnAction(event -> {
      String value =

       box1.valueProperty().getValue();


       if( value != String.valueOf(randomStrings)){


           randomStrings.addAll(box1.valueProperty().getValue());
           box1.setValue(null);
       }


   });
   gridPane.setAlignment(Pos.CENTER);
   gridPane.setConstraints(box1,0,0);



   gridPane.getChildren().addAll(box1);


   primaryStage.setScene(scene1);
   primaryStage.show();

  }




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

  }

  }
宇智波

只需在按钮的动作上添加另一个条件,即可检查字符串是否已存在于项目列表中。如果没有,请添加它。

!box1.getItems().contains(value)

该条件将添加到以下语句中。

if (!value.equals(String.valueOf(randomStrings)) &&
                                  !box1.getItems().contains(value)){
    randomStrings.addAll(value);
    box1.setValue(null);
}

正如@uluk正确指出的那样,您比较字符串的方式不正确,必须使用equals代替!=

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何防止在comboBox中的项目在javafx中重复?

来自分类Dev

如何防止事务在MySQL中复制?

来自分类Dev

如何从WPF中的combobox获取选中的项目?

来自分类Dev

JavaFX-清除我的侦听器中的ComboBox集,如何解决此问题?

来自分类Dev

如何防止列表中的空项目显示?

来自分类Dev

复制ArrayList中的项目

来自分类Dev

如何防止或中断终端中的意外复制/粘贴?

来自分类Dev

如何在comboBox javafx中设置默认值?

来自分类Dev

如何将JavaFX ComboBox中的选择转换为String

来自分类Dev

如何将ComboBox绑定到JavaFX中的列表?

来自分类Dev

如何将方法绑定到JavaFX中的combobox?

来自分类Dev

如何防止在JavaFX TableView中的列拖放时触发事件

来自分类Dev

如何遍历我拥有的所有comboBoxes控件并将每个comboBox的项目添加到列表中?

来自分类Dev

如何防止我的代码修改或复制

来自分类Dev

如何使用C#在ComboBox中添加额外的项目

来自分类Dev

如何在 JavaFx 中的 CheckBoxTreeView 中获取选中的项目

来自分类Dev

如何防止Android Studio在项目导航中自动折叠包?

来自分类Dev

如何防止从Windows 10的“开始”菜单中取消固定项目?

来自分类Dev

如何防止用户更改PayPal按钮中的项目名称?

来自分类Dev

如何防止删除(而不是创建)文件夹中的项目?

来自分类Dev

防止UICollectionView中的项目“包装”

来自分类Dev

防止在 gitlab 中创建项目?

来自分类Dev

防止在 OpenShift 中删除项目

来自分类Dev

如何停止在java组合框中复制项目

来自分类Dev

复制数组列表中的项目

来自分类Dev

我如何在WPF中的代码中复制资源引用?

来自分类Dev

如何在JavaFX的ListView中获得项目的位置?

来自分类Dev

如何在IntelliJ IDEA中创建JavaFX Maven项目?

来自分类Dev

在JavaFX中双击时如何编辑ListView项目?

Related 相关文章

  1. 1

    如何防止在comboBox中的项目在javafx中重复?

  2. 2

    如何防止事务在MySQL中复制?

  3. 3

    如何从WPF中的combobox获取选中的项目?

  4. 4

    JavaFX-清除我的侦听器中的ComboBox集,如何解决此问题?

  5. 5

    如何防止列表中的空项目显示?

  6. 6

    复制ArrayList中的项目

  7. 7

    如何防止或中断终端中的意外复制/粘贴?

  8. 8

    如何在comboBox javafx中设置默认值?

  9. 9

    如何将JavaFX ComboBox中的选择转换为String

  10. 10

    如何将ComboBox绑定到JavaFX中的列表?

  11. 11

    如何将方法绑定到JavaFX中的combobox?

  12. 12

    如何防止在JavaFX TableView中的列拖放时触发事件

  13. 13

    如何遍历我拥有的所有comboBoxes控件并将每个comboBox的项目添加到列表中?

  14. 14

    如何防止我的代码修改或复制

  15. 15

    如何使用C#在ComboBox中添加额外的项目

  16. 16

    如何在 JavaFx 中的 CheckBoxTreeView 中获取选中的项目

  17. 17

    如何防止Android Studio在项目导航中自动折叠包?

  18. 18

    如何防止从Windows 10的“开始”菜单中取消固定项目?

  19. 19

    如何防止用户更改PayPal按钮中的项目名称?

  20. 20

    如何防止删除(而不是创建)文件夹中的项目?

  21. 21

    防止UICollectionView中的项目“包装”

  22. 22

    防止在 gitlab 中创建项目?

  23. 23

    防止在 OpenShift 中删除项目

  24. 24

    如何停止在java组合框中复制项目

  25. 25

    复制数组列表中的项目

  26. 26

    我如何在WPF中的代码中复制资源引用?

  27. 27

    如何在JavaFX的ListView中获得项目的位置?

  28. 28

    如何在IntelliJ IDEA中创建JavaFX Maven项目?

  29. 29

    在JavaFX中双击时如何编辑ListView项目?

热门标签

归档