有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从数组中的标签中提取文本,以便设置事件setOnKeyPressed?

我将文本存储在数组中。我有10个标签,所以数组可以打印在标签上。为此,我编写了一个for循环来自动创建该列表的标签

我还有一个文本字段,用户可以在标签上键入任何单词。如果用户正确键入并按下空格键,则用户将获得分数。问题是,我的代码似乎无法将标签上的文本作为字符串读取。当我在列表外创建一个常规标签时,我的代码可以读取标签内的文本。我在if条件中使用toString方法更改了我的list.get(1).toString,但我的代码仍然不起作用。有什么建议吗
这是我的密码

ArrayList<String> words = new ArrayList<>();

words.add("fly"); words.add("see"); words.add("break")...etc

Random rand = new Random();
int i;

List<Label> li = new ArrayList<Label>();

for(i=0; i<=10; i++) {

    li.add(new Label(words.get(rand.nextInt(70))));
}

TextField text = new TextField();

text.setOnKeyPressed(e-> {

    if(e.getCode() == KeyCode.SPACE && text.getText().equals(li.get(1).toString())) {
    
            System.out.print("you get 1 points"); 
    }
        
});

root.getChildren().addAll(text, li.get(1), li.get(2), li.get(3), etc);

如果使用常规标签,而不是li的标签,这就是它的样子。得到(我) https://i.stack.imgur.com/LIEI6.png


共 (0) 个答案