如何解决有没有一种方法可以隐藏JavaFX应用程序而不显示在系统托盘中而无需使用Swing?
假设我有一个扩展Application
类的类。 (这是我从另一篇文章中找到的Web浏览器实现的示例)
public class WebViewBrowser extends Application {
@Override
public void start(Stage stage) throws Exception {
stage.setScene(new Scene(new WebViewPane("http://google.com")));
stage.setFullScreen(true);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
class WebViewPane extends Pane {
final WebView view = new WebView();
final Button goButton = createGoButton(view.getEngine());
public WebViewPane(String initURL) {
view.getEngine().load(initURL);
getChildren().addAll(view,goButton);
initLayout();
}
private Button createGoButton(final WebEngine eng) {
Button go = new Button("Refresh");
go.setDefaultButton(true);
go.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
eng.reload();
}
});
return go;
}
private void initLayout() {
setMinSize(500,400);
setPrefSize(1024,768);
view.prefWidthProperty().bind(widthProperty());
view.prefHeightProperty().bind(heightProperty());
goButton.setLayoutX(10);
goButton.layoutYProperty().bind(heightProperty().subtract(20).subtract(goButton.heightProperty()));
}
}
我要解决的问题是JavaFX应用程序在运行时具有一个显示在系统任务栏中的图标。我将使用此应用程序覆盖正在运行的另一个程序。因此,如果正在显示系统任务栏中的图标,那将显得不专业。我已经看到了here上的Stack Overflow帖子,但是我通常希望避免将Swing添加到我的程序中,因为试图使这两个GUI API相互匹配会很麻烦。我从帖子中的答案中得知,JavaFX 8和更高版本中可能会出现这种情况。有谁知道一种仅使用JavaFX而不使用Swing来隐藏此JavaFX应用程序以使其不在系统托盘中显示的方法?谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。