- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在我的应用程序中,我有一个具有特定样式的标签,这个标签有一个工具提示。现在我更改了我的代码,以便我的标签有一个类,并且我在 css 中定义了样式。 (效果很好)
但现在工具提示与标签具有相同的样式(在它具有标准的 javafx 8 样式之前)
CSS:
.my-Class {
-fx-text-fill:lightblue;
-fx-font-size: 11pt;
-fx-font-weight:bold;
-fx-font-style:italic;
}
这就是我创建标签的代码
Label label= new Label("i");
label.getStyleClass().add("my-Class ");
label.setTooltip(new Tooltip("xxx"));
在更改为 css 之前,工具提示是标准字体/大小/...现在字体是粗体和斜体(但不是蓝色)
为什么会这样?我怎样才能把它改回以前的样子(但使用 css 文件)
最佳答案
虽然IMO它没有提供明确的信息,请查看this link关于 CSS 继承:
CSS also provides for certain properties to be inherited by default, or to be inherited if the property value is 'inherit'. If a value is inherited, it is inherited from the computed value of the element's parent in the document tree. In JavaFX, inheritance is similar, except that instead of elements in the document tree, inheritance occurs from parent nodes in the scene graph.
因此,您的工具提示继承了其父级的一些 CSS 属性。你怎么知道它继承了什么样的属性?看看这些行(Java 8,不是简单的代码!):
Label label= new Label("i");
label.getStyleClass().add("my-Class");
Tooltip tooltip = new Tooltip(“xxx”);
label.setTooltip(tooltip);
List<CssMetaData< ? extends Styleable, ? >> cssProperties = ex2.getCssMetaData().stream().filter(t -> t.getProperty().equals("-fx-font")).findFirst().get().getSubProperties();
boolean inherits = cssProperties.stream().filter(t -> t.getProperty().equals("-fx-font-style")).findFirst().get().isInherits(); // Returns true
如果您检查 cssProperties 列表,您应该能够看到所有继承的相关字体属性 (inherits: true)。此列表至少应返回四种 css 样式,其中出现了 -fx-font-style 和 -fx-font-weight。
总而言之,如果你想让你的工具提示有一个规则的样式和大小,你必须给你的工具提示添加一个新的 CSS 样式:
.my-Tooltip {
-fx-font-size: 11pt;
-fx-font-weight: normal;
-fx-font-style: normal;
}
否则,它将始终继承其父项的样式。
关于javafx - 工具提示与标签具有相同的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32243345/
我的 friend 编写了一个程序,它比较随机排列的骰子面,以找到分布最均匀的面——尤其是当面不仅仅是序列时。 我将他的程序翻译成 haskell 是因为我一直在寻找一个理由来让别人知道 haskel
我需要对表单中的某些字段进行评论/提示。我的想法是在模型中描述它,就像attributeLabels一样。我该怎么做? 然后它会是理想的,如果 Gii 模型(和 Crud)生成器直接从 mysql 列
我们使用 FastReport 来生成报告。事实上,我们为访问源代码付费。 我们目前使用的是 FastReport 的最新稳定版本。虽然它对于我们的生产来说足够稳定,但每当我编译时,我都会看到以下内容
我需要创建一个对话框/提示,包括用于用户输入的文本框。我的问题是,确认对话框后如何获取文本?通常我会为此创建一个类,将文本保存在属性中。不过我想使用 XAML 设计对话框。因此,我必须以某种方式扩展
我想提示用户是否要执行操作(删除) - 用警报框说"is"或“否”,如果是,则运行删除脚本,如果否,则不执行任何操作 我不太了解 javascript,因此是否有人可以使用 javascript 获得
所以我正在编写一个简单的 JS 代码。我们刚刚开始学习函数。我需要创建一个名为“printStars”的函数。 我需要从用户那里获取一个号码,并根据该号码打印“*”。 这就是我所做的:
我在我的页面上添加了一个提示,但它在页面加载之前加载了。如何仅在整个页面可见时才显示消息? 这是我的提示: if (name == null || name == "") { txt == "No
我在我的页面上添加了一个提示,但它在页面加载之前加载了。如何仅在整个页面可见时才显示消息? 这是我的提示: if (name == null || name == "") { txt == "No
我正在自定义我的 zsh 提示,并发现以下内容来检查是否有任何后台作业: if [[ $(jobs | wc -l) -gt 0 ]]; then # has background job(s)
这个问题在这里已经有了答案: JavaScript object: access variable property by name as string [duplicate] (3 个答案) pa
我正在尝试用 javascript 制作一个简单的数学练习程序。在提示警报中给出不同的值,并将答案与用户输入进行比较。这是代码: Calculations generate(); functio
在这段代码中,尽管我使用了文本对齐属性在“编辑文本” View 的中心设置“提示”。但它无法正常工作。 最佳答案 尝试 关于android - 如何在编辑文本的中心对齐文本(提示),我们在Sta
我正在尝试让我的 EditText 显示一个提示,例如“请在此处输入答案”,当用户点击 EditText 以键入他们的答案时,文本应该消失并留空,以便他们在其中输入答案. 截至目前,这就是我的 .xm
我当前的 android 应用程序中有两个微调器,我想要一个默认值,例如 editText 的 android:hint 功能。有没有办法这样做,但不会将提示添加到填充微调器的字符串数组。例如从微调器
如果我的表单已完全填写,我如何提示“感谢您填写表单,“name”!” function submit_onclick() { if(confirm("Thanks for completing t
我刚刚了解了prompt()命令;我知道 Prompt() 命令以字符串的形式返回用户输入。我正在搞乱下面的程序,我输入了Per“Dead”Ohlin作为男性名字。为什么这有效并且没有引起任何问题?
void openUpNow(FILE *x, FILE *y) { x = fopen("xwhatever", "r"); y = fopen("ywhatever", "r");
我有一个作业正在处理,但我在使用 prompt() 方法时遇到了问题。我看到我可以做一个提示,但我需要几个并且有数量。 例如... 我创建了一个 HTML 表格,其中包含许多艺术家和包含 DVD、CD
我正在学习 Big Nerd Ranch 的 iOS Programming, 2nd Edition,我已经来到第 4 章挑战:标题。该练习暗示我感到困惑;它说我需要做一些我认为不需要做的事情。 到
抱歉,如果这是微不足道的,但我没有找到任何解决此问题的建议。我在 Ubuntu 上,我的 Yii 项目需要 PHPUnit。我已经安装了 PHPUnit 两次,方法是下载 phpunit.phar 并
我是一名优秀的程序员,十分优秀!