【发布时间】:2016-12-17 06:04:42
【问题描述】:
我正在用 Javafx 编写一个控制台,在这个控制台中我使用了超链接。由于超链接不仅仅是启动一个 URL,我想知道你是否可以传递一个 void 让它们运行。
这是我启动 URL 的超链接示例:
public void writeHyper(String name, String url) {
Hyperlink link = new Hyperlink(name);
link.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
try {
Desktop.getDesktop().browse(new URI(url));
} catch (IOException | URISyntaxException e1) {
e1.printStackTrace();
}
}
});
t.getChildren().add(link);
}
是否有可能按照这些思路做一些事情:
public void writeVoid(String name, Void v) {
Hyperlink link = new Hyperlink(name);
link.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent e) {
// runs the void
}
});
t.getChildren().add(link);
}
【问题讨论】:
-
如果您使用的是 Java 8,why not use a lambda?
-
如果您使用 Runnable 的类?
-
从我链接的副本中——“因为
Void类不能被实例化,唯一可以传递给带有Void类型参数的方法的值,例如handle(Void e),是null。”
标签: java hyperlink parameters void