私は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、[なぜラムダを使用していない?](http://docs.oracle.com/javase/tutorial/javaを使用している場合/javaOO/lambdaexpressions.html) – Jeeter
<= Java 8を使用している場合は、 'Runnable'を実装するクラスを使用しないでください。 –
[Voidとno parameterの違いは何ですか?]の複製がありますか?(http://stackoverflow.com/questions/14030337/whats-the-difference-between-void-and-no-parameter) –