[英]How do I display elements vertically using Java FX?
我有一个Message类的hashSet,带有一个有效的toString()方法。 正确创建了“刷新”按钮,但是其实现存在问题。 注意:
//Menu is an ObservableList<String>
//Mymail contains the hashset
//refresh() is a method that adds a random message to the hashset
//GetMessages() returns the hashSet
//the toString() method below is hashset's toString()
refresh.setOnAction(e -> {
menu.setAll(myMail.refresh().getMessages().toString());
});
导致在窗口中打印以下内容:
为了使消息垂直显示,我应该怎么做:
"Message One Text"
"Message Two Text"
"Message Three Text"
根据我们的猜测,这应该可以解决问题:
refresh.setOnAction(e -> menu.setAll(myMail.refresh().getMessages()));
由于menu
是一个Collection
,可以/应该作为一个Collection
添加,因此每个元素都会相应添加。
编辑:第二次尝试:
refresh.setOnAction(e -> myMail.refresh().getMessages().stream().map(Message::toString).forEach(menu::add));
您可以addAll
所有的ObservableList:
refresh.setOnAction(e -> menu.addAll(myMail.refresh().getMessages()));
并在Message中使用toString
,以将消息转换为String,而不是在Mymail
中使用它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.