我试图将背景尺寸设置为窗口尺寸。但是,这很挑剔。我没有使用css文件格式。
这是实现窗口的主要部分。
public void start(Stage primaryStage) throws Exception {
GameLoopManager loop = GameLoopManager.instance();
Controller controller = new Controller(loop, primaryStage);
loop.start(new MenuState());
primaryStage.show();
primaryStage.setFullScreen(true);
}
这是实现背景和阶段的身体部位。
private UISubScene optionSubScene;
private UISubScene helpSubScene;
private UISubScene creditsSubScene;
private UISubScene buttonChooserScene;
private UISubScene sceneToHide;
List<UIButton> menuButtons;
List<ButtonPicker> buttonsList;
private BUTTON chosenButton;
public MenuViewManager(Stage mainStage) {
sound.backgroundMusic();
menuButtons = new ArrayList<>();
mainPane = new AnchorPane();
mainScene = new Scene(mainPane);
mainScene.setFill(null);
mainStage.setScene(mainScene);
super.mainStage = mainStage;
createSubScenes();
createButtons();
createBackground();
createLogo();
super.mainStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
public void handle(WindowEvent we) {
controller.stop();
}
});
// mainStage.show();
}
private void createBackground() {
Image backgroundImgae = new Image("main/resources/images/jxoPOUxa.gif",true);
BackgroundImage background = new BackgroundImage(backgroundImgae, BackgroundRepeat.NO_REPEAT,
BackgroundRepeat.NO_REPEAT, BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT);
mainPane.setBackground(new Background(background));
}
我厌倦了使用BackgroundSize.AUTO,但是我不能。我应该怎么做才能得到解决方案?
如果可以,我可以使用css格式怎么使用?但是我无法重写和修改很多代码,因为我的工作快完成了,我正在集成和调试。
如果要拉伸图像以填满整个图像,Region
则应使用:
// Side note: Are you sure having "main/resources" in the path is correct?
var image = new Image("main/resources/images/jxoPOUxa.gif", true);
var bgImage = new BackgroundImage(
image,
BackgroundRepeat.NO_REPEAT,
BackgroundRepeat.NO_REPEAT,
BackgroundPosition.DEFAULT,
new BackgroundSize(1.0, 1.0, true, true, false, false)
);
mainPain.setBackground(new Background(bgImage));
均值和的两个true
参数分别是成比例的而不是绝对的。在这种情况下,and
的范围应为,否则称为0%至100%。这两个参数分别是和。他们必须为和论据来。换句话说,这告诉JavaFX使图像填充的宽度和高度的100%。请注意,这将不会保持图像的纵横比(请参阅下文)。BackgroundSize``width``height``width``height``[0.0, 1.0]``false``contain``cover``false``width``height``Region
请参阅的文档以BackgroundSize
获取更多信息:
定义BackgroundImage相对于样式区域应填充的区域大小。有几个属性的值优先于其他属性。特别是有4个关键属性,
width
,height
,contain
,和cover
。宽度和高度都彼此独立,但是两者都与包含和覆盖相互作用。从CSS规范
cover
定义为:
- 在保留图像固有长宽比(如果有)的情况下,将图像缩放到最小尺寸,以使其宽度和高度都可以完全覆盖背景定位区域。
contain
定义为:
- 将图像缩放,同时保留其固有的宽高比(如果有),以最大尺寸进行缩放,以使其宽度和高度都可以适合背景定位区域。
宽度和高度均指定(使用绝对值或百分比)要使用的大小。仅当cover和contain为false时,这两个属性才适用。如果Cover和Contain均为true,则将使用cover。
宽度和高度也可以设置为
AUTO
,指示应该调整区域的大小以使用图像的固有大小,或者如果无法确定,则为100%。
我有下面的代码,它设置了一个特定大小的窗口。它还从外部URL加载图像。
我正在尝试构建一个包含6个窗格(作为父级添加到GridPane布局中)的简单Java项目。我必须在开始时设置窗口大小,并通过参考根布局的宽度和高度,设法将它们均匀地拆分。 但我想要他们调整大小,因为我改变了窗口的大小(使用鼠标,现在他们得到固定的大小)。 下面是我的代码:
如何使亲爱的ImGui创建的窗口完全适合“背景”?我的意思是当我们创建一个窗口时,它也在一些渲染场景或背景中。我想模仿Qt等其他框架创建的窗口,使其更像桌面应用程序,而不仅仅是在一些游戏中。
问题内容: 这看似微不足道,但是经过所有的研究和编码,我无法使其正常工作。条件是: 浏览器窗口大小未知。因此,请不要提出涉及绝对像素大小的解决方案。 图片的原始尺寸未知,可能适合浏览器窗口,也可能不适合浏览器窗口。 图像垂直和水平居中。 图像比例必须守恒。 图像必须在窗口中完整显示(不裁剪)。 我不希望滚动条出现(如果图像合适,它们也不应该出现。) 窗口尺寸更改时,图像会自动调整大小,以占据所有可
我有一个< code>JPanel到< code>JFrame中。我在< code>JPanel上加载了一张图片,但它只显示了图片的一部分:这是我所做的代码部分: 这就是它的样子: 完整的图片看起来像这样: 有没有办法将图片缩放到< code>JFrame的大小?预先感谢
问题内容: 如何自动缩放HTML5 元素以适合页面? 例如,我可以通过将和属性设置为100%来缩放,但是不会缩放吗? 问题答案: 我相信我已经找到了一个优雅的解决方案: JavaScript CSS 到目前为止,对我没有太大的负面性能影响。