gpt4 book ai didi

java - 为什么在尝试将 css 与 javafx 结合使用时会出现 InvocationTargetException?

转载 作者:行者123 更新时间:2023-11-28 04:44:11 25 4
gpt4 key购买 nike

我是 javafx 的新手,我正在尝试将我的类连接到我的 CSS 文件,但是当我使用时:

scene.getStylesheets().add("Viper.css");

我收到以下警告:

Dec 08, 2016 9:12:54 PM com.sun.javafx.css.StyleManager loadStylesheetUnPrivileged
WARNING: Resource "Viper.css" not found.

但是当我使用时:

scene.getStylesheets().add(getClass().getResource("/resources/CSS/Viper.css").toExternalForm());

我得到一个 InvocationTargetException

这是我的整个类(class),我确信文件路径是正确的。我正在使用 NetBeans IDE。

package com.GUI;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
import javafx.stage.Stage;


public class window extends Application{


@Override
public void start(Stage primaryStage) {

primaryStage.setTitle("OmegaBrain");

//Create Panes
Pane titlePane = new Pane();


GridPane grid = new GridPane();
grid.setAlignment(Pos.CENTER);
grid.setHgap(10);
grid.setVgap(10);
grid.setPadding(new Insets(25, 25, 25, 25));

Text sceneTitle = new Text("Welcome To OmegaBrain");
sceneTitle.setFont(Font.font("Helvetica", FontWeight.NORMAL, 20));
grid.add(sceneTitle, 0, 0, 4, 1);



Scene scene = new Scene(grid, 300, 275);
scene.getStylesheets().add("/resources/CSS/Viper.css");


primaryStage.setScene(scene);
primaryStage.show();


Button play = new Button("Play");
grid.add(play, 1, 1);

Button leaderboard = new Button("Leaderboard");
grid.add(leaderboard, 2, 1);

Button faq = new Button("FAQs");
grid.add(faq, 3, 1);

Button exit = new Button("Exit");
grid.add(exit, 4, 1);


play.setOnAction((ActionEvent e) -> {
System.out.println("The play button was clicked!");
});



}


public static void main(String[]args){
launch(args);
}



}

最佳答案

假设您的应用程序是使用此层次结构构建的:

应用程序
->源文件
-->com/GUI/window.java
-->资源/CSS/Viper.css

那么这段代码应该可以工作了:

scene.getStylesheets().add(getClass().getResource("/resources/CSS/Viper.css").toExternalForm());
// or
scene.getStylesheets().add("/resources/CSS/Viper.css");

关于java - 为什么在尝试将 css 与 javafx 结合使用时会出现 InvocationTargetException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41049022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com