【问题标题】:JavaFX: Store TextField in HashMapJavaFX:在 HashMap 中存储 TextField
【发布时间】:2017-10-15 14:55:19
【问题描述】:

尝试像这样将 TextField 存储在 HashMap 中:

TextField textfield;
Map<String, TextField> map = new HashMap<String, TextField>();
        for(int row = 0; row < RowLim; row++) {
            for(int col = 0; col < ColLim; col++) {
                String name = row+""+col;
                map.put(name,textfield = new TextField());
            }
        }

这是一个数独求解器,旨在教我一些有关 JavaFX 的知识。每个文本字段都显示在网格窗格中,并且应该有一个与其在我的地图中的位置相对应的键。但是,当我在任何文本字段中进行一些输入并打印它时,我得到一个空值。我认为我对文本字段的工作方式没有正确的想法,但真的看不到任何其他解决方案,所以我被卡住了。我在打印时使用 textfield.getText() 方法。

【问题讨论】:

    标签: javafx hashmap textfield


    【解决方案1】:

    我最终通过添加一个新的 HashMap 来解决它,该 HashMap 检索每个 textfield.getText() 值并将其存储为字符串。添加 try-catch 语句以排除所有空语句。它工作得很好。这是我的代码:

    Map<String, String> numbermap = new HashMap<String, String>();
            for(Map.Entry<String,TextField> me : map.entrySet()) {
                numbermap.put(me.getKey(),me.getValue().getText());
            }
            try {
                for(Map.Entry<String,String> me : numbermap.entrySet()) {
                    //Code to use inputvalues from each textfield...
                }
    
            } catch (NullPointerException e) {
                System.out.println("Gives null");
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-30
      • 1970-01-01
      相关资源
      最近更新 更多