**已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
7小时前关闭。
Improve this question
我正在使用JavaFX开发一个多平台桌面应用程序,我正在使用Windows 10和NetBeans 8.2以及JavaFX 18。在Windows中,我的应用程序运行良好。当我尝试在Linux上运行它时,它根本无法加载我的CSS样式。我尝试更改按钮文本样式,但它没有更改,始终设置默认字体。我在单击主题2/后创建了两个主题按钮主题1和主题2theme 1按钮字体不变。
---呼叫主题
if (themeKeyValue == 0) {
scene.getStylesheets().add(theme1Url);
scene.getStylesheets().remove(theme3Url);
if (!scene.getStylesheets().contains(theme1Url)) {
scene.getStylesheets().add(theme1Url);
}
} else {
scene.getStylesheets().remove(theme1Url);
if (!scene.getStylesheets().contains(theme3Url)) {
scene.getStylesheets().add(theme3Url);
}
}
我尝试了这些步骤:
步骤1:〉〉〉〉此步骤在非Linux的Windows上运行
.
button-toolbar{
-fx-font-family: 'Microsoft Sans Serif';
-fx-font-size:180pt;
-fx-background-repeat: no-repeat;
-fx-background-position: left;
-fx-background-color: transparent;
-fx-text-fill: white;
-fx-background-size: 17;
-fx-padding:3 10 3 20;
-fx-setStrokeWidth: 132.0;
}
步骤2〉〉无法在Linux上运行
@font-face {
src: url(“styles.font/micross.ttf”);
}
.button-toolbar{
-fx-font-family: 'Microsoft Sans Serif';
-fx-font-size:180pt;
-fx-background-repeat: no-repeat;
-fx-background-position: left;
-fx-background-color: transparent;
-fx-text-fill: white;
-fx-background-size: 17;
-fx-padding:3 10 3 20;
-fx-setStrokeWidth: 132.0;
}
步骤3 [不起作用]
@font-face{
font-family : 'Microsoft Sans Serif';
src: url("../font/micross.ttf");
src: local('Microsoft Sans Serif'), local('Microsoft Sans Serif-Regular'), url("../font/micross.ttf") format('ttf');
}
.button-toolbar{
-fx-font-family: 'Microsoft Sans Serif';
-fx-font-size:180pt;
-fx-background-repeat: no-repeat;
-fx-background-position: left;
-fx-background-color: transparent;
-fx-text-fill: white;
-fx-background-size: 17;
-fx-padding:3 10 3 20;
-fx-setStrokeWidth: 132.0;
}
指导我为什么这些样式不能在Linux中加载?
1条答案
按热度按时间v9tzhpje1#
使用自定义字体
如果需要使用另一台计算机上可能未安装的唯一字体,则可以在
JavaFX
应用程序中包括TrueType
字体(.ttf
)或OpenType(.otf
)。要包括
TrueType
或OpenType
字体作为定制字体,请按下列步骤操作:1.在项目文件夹中创建resources/fonts文件夹。
1.将字体文件复制到项目的fonts子文件夹中。
1.在源代码中,加载自定义字体,如Example 39-9所示。
示例39-9
text.setFont(Font.loadFont("file:resources/fonts/isadoracyr.ttf", 120));
这段代码为Figure 39-2中的文本提供了字体。查看此处了解完整详细信息
cssref函数
文本设置
它为我工作
或
label.setFont(Font.loadFont(new FileInputStream("src/main/resources/Rochester-Regular.ttf"), 80));