java - JavaFX CSS 未部署
问题描述
我有个问题。在我的 JavaFX 项目中,我在MainApplication
类中创建了以下方法:
private VBox createMenuButton(String menuItemName) {
final Background focusBackground = new Background( new BackgroundFill(Color.rgb(255,177,86), CornerRadii.EMPTY, Insets.EMPTY ));
final Background unfocusBackground = new Background( new BackgroundFill(Color.rgb(226,129,15), CornerRadii.EMPTY, Insets.EMPTY ));
// Vertical box
VBox btnMenu = new VBox();
btnMenu.setId("btnMenu");
btnMenu.setAlignment(Pos.BASELINE_LEFT);
btnMenu.setSpacing(10);
btnMenu.setMinHeight(30);
btnMenu.setMinWidth(160);
// Label
Label lblMenuButton = new Label(menuItemName);
lblMenuButton.setFont(new Font("Roboto", 20));
lblMenuButton.setTextFill(Color.WHITE);
// White underline
Rectangle underline = new Rectangle ();
underline.setHeight(1);
underline.setWidth(160);
underline.setFill(Color.WHITE);
btnMenu.getChildren().addAll(lblMenuButton, underline);
return btnMenu;
}
这将创建一个VBox
带有Label
内部和该标签下方的白线。然后我想让它在你悬停在它上面时改变颜色,所以我做了以下简单的 CSS (menu.css):
#btnMenu:hover {
background-color: #ffb156;
}
那是整个css文件,所以对我来说看起来不错。最后,我像这样导入 css 文件:
scene.getStylesheets().add(MainApplication.class.getResource("stylesheets/menu.css").toExternalForm());
但这给了我一个NullPointerException
. 这是完整的项目树:
如您所见,CSS 文件夹和文件不在target
要部署的文件夹中,所以出了点问题。我不知道如何找到有关该错误的更多详细信息,但在谷歌搜索后它可能是一个解析错误。问题是我的css看起来并没有错,也不多,所以可以直接看到错误。
有人能告诉我为什么我的css没有被部署吗?
解决方案
Maven 定义了一个“标准目录布局”,其中包括:
- 生产 Java 源文件下
src/main/java
- 生产资源下降
src/main/resources
默认情况下,基本上任何不以.java
该src/main/java
目录结尾的文件都会被忽略。您可以使用 POM 文件中的某些配置更改此行为,但我会坚持 Maven 约定,除非您需要这样做(或者只是真的不同意它们并且任何其他团队成员同意您)。请注意,Gradle 对源和资源采用了相同的约定。
如果你希望你的 CSS 文件包含在输出中,同时也将它保存在你现在拥有的同一个包中,那么你应该将文件移动到src/main/resources/practicumopdracht/stylesheets/menu.css
.
推荐阅读
- javascript - I am creating a like and dislike button, but it toggles the like count for ALL posts on the page, instead of the post being liked
- json - 如何替换 BigQuery 中 JSON 中特定键的数据?
- amazon-web-services - 如何使用非对称密钥加密 aws ec2 卷?
- matplotlib - 有没有办法改变 maplotlib IndexLocator 中的偏移量?
- swift - SwiftUI WebView ( WKWebView ) 自动高度
- c# - Nhibernate CommitAsync 是否等待所有异步 CRUD 操作?
- python - SQL Python如何扩展浮点数组
- ruby-on-rails - 从 image/docx/xlsx/csv 文件生成 PDF 文件并存储到 s3 rails 6.0
- python - 类型错误:detect_vcs() 缺少 1 个必需的位置参数:运行 `devpi upload --formats bdist_wheel` 时的 'ui'
- installation - 在 CentOS7 上安装 pgadmin3