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) 个答案