假设我有一个类扩展了 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应用程序在运行时在系统托盘中显示了一个图标。我将使用这个应用程序覆盖在另一个正在运行的程序之上。因此,如果显示系统托盘中的图标,则看起来不专业。我在这里看到过这个堆栈溢出的帖子,但是我希望避免在我的程序中添加swing,因为要使这两个gui-api相互匹配会很麻烦。我在帖子中听到一个答案,在javafx8和更高版本中这是可能的。有人知道如何隐藏这个javafx应用程序,不让它只使用javafx而不使用swing显示在系统托盘中吗?谢谢。
图片:
暂无答案!
目前还没有任何答案,快来回答吧!