package com.doki;
import java.io.IOException;
import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Scene;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;
public class MainRpg extends Application {
private Stage stage;
private BorderPane fenetre;
@Override
public void start(Stage stage) {
this.stage = stage;
this.stage.setTitle("Xar'Saroth");
initFenetre();
showMenu();
}
/**
* Initializes the root layout.
*/
public void initFenetre() {
try {
// Load root layout from fxml file.
FXMLLoader loader = new FXMLLoader();
loader.setLocation(MainRpg.class.getResource("view/Fenetre.fxml"));
fenetre = (BorderPane) loader.load();
// Show the scene containing the root layout.
Scene scene = new Scene(fenetre);
stage.setScene(scene);
stage.show();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Shows the person overview inside the root layout.
*/
public void showMenu() {
try {
// Load person overview.
FXMLLoader loader = new FXMLLoader();
loader.setLocation(MainRpg.class.getResource("view/Menu.fxml"));
AnchorPane personOverview = (AnchorPane) loader.load();
// Set person overview into the center of root layout.
fenetre.setCenter(personOverview);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Returns the main stage.
* @return
*/
public Stage getStage() {
return stage;
}
public static void main(String[] args) {
launch(args);
}
}
和我的场景代码:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ButtonBar?>
<?import javafx.scene.image.Image?>
<?import javafx.scene.image.ImageView?>
<?import javafx.scene.layout.AnchorPane?>
<AnchorPane prefHeight="600.0" prefWidth="900.0" xmlns="http://javafx.com/javafx/9.0.1" xmlns:fx="http://javafx.com/fxml/1">
<children>
<ImageView fitHeight="600.0" fitWidth="900.0" pickOnBounds="true" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<image>
<Image url="@../menuImage.jpg" />
</image>
</ImageView>
<ImageView fitHeight="186.0" fitWidth="489.0" layoutX="206.0" layoutY="343.0" pickOnBounds="true" preserveRatio="true" AnchorPane.bottomAnchor="150.0">
<image>
<Image url="@../xarSaroth.png" />
</image>
</ImageView>
<ButtonBar layoutX="295.0" layoutY="518.0" prefHeight="40.0" prefWidth="281.0" AnchorPane.bottomAnchor="50.0">
<buttons>
<Button mnemonicParsing="false" prefHeight="25.0" text="Continuer" />
<Button mnemonicParsing="false" prefHeight="25.0" prefWidth="134.0" text="Nouvelle Partie" />
</buttons>
</ButtonBar>
</children>
</AnchorPane>
我读过这样的帖子:
为什么我的背景图像不是用FXML显示的
java.io.FileNotFoundException: C:\Users\Stagiaire ACI\Desktop\Java\XarSaroth\bin\com\doki\menuImage.jpg (Le fichier spécifié est introuvable)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.connect(Unknown Source)
at sun.net.www.protocol.file.FileURLConnection.getInputStream(Unknown Source)
at java.net.URL.openStream(Unknown Source)
at com.sun.javafx.iio.common.ImageTools.createInputStream(ImageTools.java:486)
at com.sun.javafx.iio.ImageStorage.loadAll(ImageStorage.java:311)
at com.sun.javafx.tk.quantum.PrismImageLoader2.loadAll(PrismImageLoader2.java:127)
at com.sun.javafx.tk.quantum.PrismImageLoader2.<init>(PrismImageLoader2.java:71)
at com.sun.javafx.tk.quantum.QuantumToolkit.loadImage(QuantumToolkit.java:720)
at javafx.scene.image.Image.loadImage(Image.java:1065)
at javafx.scene.image.Image.initialize(Image.java:807)
at javafx.scene.image.Image.<init>(Image.java:695)
at com.sun.javafx.fxml.builder.JavaFXImageBuilder.build(JavaFXImageBuilder.java:47)
at com.sun.javafx.fxml.builder.JavaFXImageBuilder.build(JavaFXImageBuilder.java:37)
at javafx.fxml.FXMLLoader$ValueElement.processEndElement(FXMLLoader.java:763)
at javafx.fxml.FXMLLoader.processEndElement(FXMLLoader.java:2823)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2532)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2409)
at com.doki.MainRpg.showMenu(MainRpg.java:56)
at com.doki.MainRpg.start(MainRpg.java:24)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
at java.lang.Thread.run(Unknown Source)
好的,我认为当您在imageView中为图像的url路径编写代码时,不应该参考IDE的文件树结构,而应该参考编译目录的文件树结构。
例如,这里是错误的代码。我已经将“图像”文件夹标记为IDEA中的资源文件夹。图片将在您在场景构建器中预览时显示,但在运行程序时不显示。
错误的例子
因此在这种情况下,您可以将代码更改为:
<image>
<Image url="@../desk.jpg" />
</image>
它将工作,尽管它不能预览在场景构建器。
而且下面的代码也起作用,因为“ballgame”是根目录:
<image>
<Image url="@/desk.jpg" />
</image>
问题内容: 这是一个非常简单的程序,我已尽力而为,但JPanel并未提供背景图片。我只希望面板上有一个简单的背景图像。 这是我的代码: 提前致谢 问题答案: 更换 与
我不熟悉Java图形(一般来说是计算机图形)和堆栈溢出,所以请帮助我解决问题,帮助我更好地表达我的问题。 目前,我正在尝试在JavaGUI中的原始图像旁边显示BufferedImage。这是我的代码: “put”功能如下: 但是,生成的GUI如下所示 因此,图像可以工作,但BuffereImage不能。我假设它可以工作,因为BuffereImage是Image的一个子类……知道吗?如果需要其他代码
这是我之前一个问题的后续问题。我正在制作一个java游戏,它基本上是一个带有角色图像的JFrame,一些由fillRect()组成的healthbars,它们都位于背景图像之上。问题是健康栏和角色出现了,但背景图像没有出现。 下面是Game类的简化版本,其中包含main()和render()方法: 以下是BackGroundImage课程: 我关心的是render()方法重用“g”图形对象,将所有
我创建了一个动态web项目,以便通过Servlet显示JSP(我不能使用任何类似Spring的框架…)。默认情况下,我构建的类放在Build/classes中,因此在我将输出文件夹更改为WebContent/WEB-INF/classes后,我的应用程序运行良好。之后,我将该项目转换为Maven项目。(我不记得我上次使用servlet/JSP时需要更改输出文件夹,那是3年前!)。 无论如何,现在我
我想在JavaFX的ImageView中显示图像。图像应该从SQLite数据库中获取,并在场景加载时显示。我使用以下代码片段从数据库获取代码,并在之前创建的ImageView中显示它。但是图像没有按预期显示。我做错了吗?P. S.我测试了改变路径在两个和当读取文件从目录到。但似乎没有什么奏效。但是当我手动将一个图像文件放在src目录中并尝试读取它时,它就像一个魅力。但是我想展示一张从数据库中提取的
我试图从docker容器中使用OpenCV imshow GUI。我使用nvidia-docker启动容器,因为该容器包含GPU版本的Tensorflow 我试图显示的图像是使用MatplotLib显示的。我该如何纠正这一点呢?谢谢