问题标签 [javafx-css]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - JavaFX 助记符解析创建额外空间
在创建 JavaFX 应用程序并在 FXML 文件中启用助记符解析时,您应该能够在javafx.scene.control.Menu的标签字符串中使用“_”字符来允许解析为 Alt 代码(在 Windows 上)。这可行,但在显示舞台时,菜单的宽度似乎有一个额外的空间,正如2014 年的这个错误报告中所证实的那样。
我的问题如下:有人知道解决此问题的任何解决方法吗?想过计算文本本身的大小,然后手动设置Menu的宽度,但是JavaFX的Menu似乎没有setWidth()、widthProperty()或其他手动设置大小的方法。
我也想过在菜单中使文本居中,但找不到任何方法通过 Java 代码、Scene Builder 或 JavaFX 的 CSS 来实现。
这是该问题的屏幕截图:
编辑:
经过一番使用,我发现您可以在 CSS 中执行以下操作:
这会将 JavaFX 菜单的标签对齐到居中,但额外的空间仍然存在。它足以满足我的强迫症,但还有更好的方法来处理这个问题吗?
javafx - JavaFX 平行四边形 CSS
如何使用 JavaFX CSS 创建平行四边形按钮?
例如:平行四边形
css - JavaFX 形状 CSS 属性
我想知道如何实现参考指南中描述的 Shape Class 的属性?
例子:
我有一个自定义复选框 css:
但是形状的线条太细了,所以我想改变一下。
所以我尝试实施-fx-stroke-width
但没有任何效果。
javafx - 如何让 JavaFX-CSS 工作?
所以,我无法让 CSS 样式在我的 JavaFX 项目中工作。
我添加了一个外部样式表:
...链接到同一文件夹中的文件 Style.css:
但是,当我运行程序时不会发生任何变化。按钮保持不变,背景保持不变。我尝试为按钮分配独特的类并以这种方式对其进行样式设置,但这无济于事。
如何让样式真正起作用?如何将外部 CSS 文件添加到 JavaFX 项目?
java - 更改 JavaFX TreeTableView 的选择颜色
我在 FX、CSS 和 TreeTableView 方面遇到了一些麻烦。我有包含蓝色超链接的单元格。现在,如果选择了单元格,背景将变为蓝色,因此链接实际上是不可见的。我现在想使用样式表更改选定单元格的背景颜色。
对于 TreeView,以下工作正常:
所以类似地我试过:
但这没有任何效果。令人惊讶的是,尽管我能够通过以下方式更改一般背景颜色:
单元格现在都是黄色的,但这似乎覆盖了默认选择模式,因为现在甚至选定的行都有黄色背景。
对我来说,状态选择器似乎不适用于 TreeTableView 单元格,但我不知道如何以另一种方式实现这一目标。
我还使用 JavaFX 文档中的示例 15-2进行了尝试,得到了同样令人不满意的结果。
我无法在网上找到任何解决方案,因为所有问题似乎都与 TreeViews 或 TableViews 相关,而不是组合的 TreeTableView。因此,任何指向正确文档的提示或链接都会非常有帮助!
提前致谢!
PS:我知道可以通过更改超链接的颜色来解决问题,但是必须有一种方法可以更改单元格的颜色,对吗?
java - 窗格形状修改
好的,长话短说,我正在尝试创建一种聊天/消息系统,需要一点帮助。我正在尝试在我的容器上创建一个箭头,如下图所示。图像是从 ControlsFX 和它们的 PopOver 窗口中取出的。我不能使用他们的弹出窗口小部件,因为它的行为与我使用它的目的有点不同。
我继续创建了我自己的小聊天窗口弹出窗口,它将自己定位在我定义的父对象上,但我真的希望它有一个指向该对象的箭头。箭头也总是面朝下,应该在弹出窗口的左下角。
还应该注意的是,弹出窗口不是一个窗口,它是一个简单的 VBox,填充了文本行。如果需要,我当然可以将其包装在窗格中。谁能想出正确的方法来创建这个箭头?我的 VBox 背景也作为渐变,因此箭头不能像通过 getChildren().add 与“相同颜色”一样放在底部,因为这样渐变就会关闭。它必须(以某种方式)成为容器的一部分。
==================================================== ========================== 编辑:
好吧,所以我今天大部分时间都在学习 SVG 路径,这并不太复杂,但有点乏味。我最终选择的路径是:
现在唯一的问题是箭头尾部的高度随着窗格的大小而增长。例如,如果我在框中有很多文本,则窗格的高度会增加(当然)并且箭头也会变长。这种行为并不是完全破坏交易的行为,但这并不是我真正想要的。我希望路径中的大写 Ls 确保箭头的点无论如何都保持不变,但它不起作用。对此有什么想法吗?