然而,当我尝试在具有更大屏幕的工作站上运行时,JavaFX应用程序不会调整自身大小,并显示在屏幕的左上方当笔记本电脑/工作站屏幕大小不同时,我可以调整应用程序窗口的大小?
你可以设定一个比率。确定您想要的高宽比。然后获得屏幕的宽度和高度,并应用该比率。
import javafx.application.Application;
import javafx.geometry.Rectangle2D;
import javafx.scene.Scene;
import javafx.scene.layout.StackPane;
import javafx.stage.Screen;
import javafx.stage.Stage;
/**
*
* @author blj0011
*/
public class JavaFXApplication287 extends Application
{
@Override
public void start(Stage primaryStage)
{
double heightRatio = .25;
double widthRatio = .30;
Rectangle2D primaryScreenBounds = Screen.getPrimary().getVisualBounds();
double sceneHeight = primaryScreenBounds.getHeight() * heightRatio;
double sceneWidth = primaryScreenBounds.getWidth() * widthRatio;
StackPane root = new StackPane();
Scene scene = new Scene(root, sceneWidth, sceneHeight);
primaryStage.setTitle("Hello World!");
primaryStage.setScene(scene);
primaryStage.show();
}
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
launch(args);
}
}
启动JavaFX应用程序时,可以使用最大化
。这将使它“填充屏幕”,无论屏幕大小如何。如果你这样做的话,一定要使用一个能很好地调整屏幕大小的布局。Stage
窗口。设置最大化(真)
要获取阶段
,可以调用。在
场景中获取window()
,并将其投射到舞台上。下面是一个使用我在应用程序中有权访问的
节点的示例:
((阶段)节点。getScene()。getWindow())。设置最大化(真)
我正在尝试构建一个包含6个窗格(作为父级添加到GridPane布局中)的简单Java项目。我必须在开始时设置窗口大小,并通过参考根布局的宽度和高度,设法将它们均匀地拆分。 但我想要他们调整大小,因为我改变了窗口的大小(使用鼠标,现在他们得到固定的大小)。 下面是我的代码:
我使用的是最新版本的Java(FX)、macOS和IntelliJ IDEA CE的Mac电脑。问题是,当我调整JavaFX窗口的大小时,我的Mac会立即崩溃。只有当我按下电源按钮5秒钟后,MacBook才会重新启动。我创建了一个普通IntelliJ JavaFX项目,其中包含以下自动创建的文件: Hello控制器。java 我没有改变任何事情,开始了这个项目。一切正常,直到你尝试调整窗口大小,M
我正在尝试以编程方式添加ImageView,但不要在不同的屏幕上制作相同的大小。我尝试了许多比例代码,但没有任何好的结果。 屏幕:屏幕图像 这是我的代码:
我有下面的代码,它设置了一个特定大小的窗口。它还从外部URL加载图像。
我刚开始使用JFace/SWT进行GUI编程。在我使用普通SWT窗口(http://help.eclipse.org/indigo/index.jsp?topic=%2forg.eclipse.wb.ercp.doc.user%2fhtml%2fwizards%2fercp%2fapplication_window.html)之前,我第一次尝试了JFace应用程序窗口。 现在我要设置这个窗口的最小
我有一个JFrame,其中包含一个面板。我还向面板添加了。到目前为止,我所做的是在我的框架上使用来对调整窗口大小做出反应。 下面是我的代码片段: 当更改框架的大小时,的大小可以完全调整。但是当我最大化我的框架,图表面板不会改变它的大小!它保持在最大化之前的时刻。因此,当我再次“取消最大化”我的框架时,图表面板被最大化,这导致了问题,图表将不再适合图表面板。所有这些调整尺寸的事情似乎都“落后一步”.