问题标签 [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.

0 投票
1 回答
346 浏览

java - JavaFX 对 BackgroundImage 应用效果

情况

我正在使用 BackgroundImage 为 JavaFX 区域设置背景,如下所示:

问题

我想以某种方式使背景变暗,以便白色字体保持可读性。

我试过的

我已经搜索了 Image、BackgroundImage 和 Background,但没有任何方法可以添加效果。我发现我可以直接向 Region 添加效果,但是当我添加 ColorAdjust 时,它会使所有内容变暗,而不仅仅是背景。

我真的不在乎它设置在哪一层,它甚至可以在 CSS 中,我只是想以某种方式使 BackgroundImage 变暗。

0 投票
1 回答
314 浏览

javafx - JavaFX - “无意义” (CSS) 阴影效果,大幅降低图形性能

Hello, People [...]

概括

  • 每当我在我的BorderPane或任何组件/控件/元素上使用阴影效果时,3D 图形性能(如下面的预览部分所示)变得太低了。

  • 令人困惑”的部分是,当效果应用于与我的选项卡、子场景甚至我的移动按钮无关的东西时,它甚至会降低性能,在某种程度上[...]

  • 我使用jdk-12.0.1

️ 预览

演示/预览 .GIF

⚠️ 重现问题

所需文件:

应用程序.java | 主.fxml | AnchorPane.css | MathUtils.java | SimpleFPSCamera.java

通用代码

(您也可以参考重新创建问题部分以获取更多信息)

AnchorPane.css

应用程序.java

到目前为止我尝试过的事情

(我尝试将它与所有组件一起使用但没有任何成功[这也可能是我对 javaFX 的了解很差,[以错误的方式使用它?]])

  • ...

奥特罗

任何想法?提前致谢,任何帮助将不胜感激,[...]
George。

0 投票
1 回答
250 浏览

javafx - 如何在 Javafx 中使用焦点和悬停伪类

问题是当焦点和悬停伪类一起使用时,然后当单击 ImageView 时,它不会执行焦点伪类工作,而是执行没有伪类的工作,如果我删除悬停伪类,那么它工作正常但是不专注时,我无法执行悬停效果。其中 l1 是我在上 Anchorpane 中的用户 ImageView

CSS 代码:

在此处输入图像描述

0 投票
1 回答
132 浏览

javafx - 如何分离边框和效果?

目前,我有一个带有以下 CSS 的按钮:

它看起来像这样:

在此处输入图像描述

我正在尝试为按钮添加内部阴影。我希望边框显示在此按钮的外部,这应该会导致如下所示:

在此处输入图像描述

我在 Swing 中做到了。但是,当我尝试应用我的内部阴影时,它会在我的边框顶部绘制,如图所示:

在此处输入图像描述

我尝试将边框插入设置为 -1(因为没有用于效果的 insets 属性),但这只是移动了效果:

在此处输入图像描述

我的问题是:我能做些什么来确保我可以看到外面的边界,但保持我的效果在里面?

编辑:我很确定这是 OpenJFX 中的一个错误,我已经提交了一个错误报告。以下是一些可用于重现问题的快速代码:

0 投票
1 回答
3041 浏览

java - 按钮悬停和按下效果 CSS Javafx

我是 CSS 新手,为按钮定义了以下 CSS 样式,应用了id和自定义样式,但没有悬停和按下效果。

替换#bevel-grey.button不会给我自定义效果,但适用于悬停和按下。我怎样才能让它与定义的自定义样式一起工作?

更新

主要代码,重现问题。

0 投票
1 回答
627 浏览

javafx - JavaFX以编程方式更改选定的选项卡关闭按钮背景

我正在尝试仅更改所选选项卡的关闭图标背景,问题是它在有一个选项卡时有效,但是当我添加更多时,直到我关闭第一个选项卡才会发生任何事情,这就是我所做的:

现在的问题是,当我选择另一个选项卡并尝试更改它的颜色时,没有任何反应,直到我关闭前一个更改的选项卡。

快速示例:
我有 2 个带有白色关闭按钮的选项卡,
我选择 tab1:颜色已更改,
我选择 tab2:没有任何反应,
我关闭 tab1 然后选择 tab2:tab2 的关闭按钮已更改。

所选选项卡是正确的,因为如果我为每个选项卡打印这两行:

这是结果:

javafx.scene.control.Tab@6d81182e <----tab1
TabPaneSkin$TabHeaderSkin$2@7d620380[styleClass=tab-close-button] <----tab1
//现在我切换到tab2
javafx.scene.control.Tab @416ca04a <----tab2
TabPaneSkin$TabHeaderSkin$2@7d620380[styleClass=tab-close-button] <----这个地址应该和第一个不一样。

PS:我不能在 CSS 中这样做,因为颜色应该动态变化,当我切换选项卡时,该行在侦听器内执行。

谢谢您的帮助!

0 投票
1 回答
240 浏览

javafx - JavaFX - 仅样式第一个和最后一个选项卡

有没有办法(CSS或Java)仅在动态 TabPane中设置第一个和最后一个选项卡的样式?

例子 :
例子

谢谢!

0 投票
0 回答
255 浏览

css - JavaFx:上下文菜单动态样式

我对上下文菜单有疑问。上下文菜单中的项目可以设置样式,但不能动态工作。我的意思是,例如,在初始化时,我向 中添加了一个样式类,MenuItem并通过一个事件将其删除,但样式仍然存在。如何解决?

这是一个简单的例子:

Controller.java

View.fxml

layout.css

我怎样才能设法添加/删除样式到我的MenuItem

0 投票
2 回答
493 浏览

css - 如何使单选按钮和复选框相对于系统分辨率更改大小?

我知道有很多解决方案可以帮助更改单选按钮或复选框的大小,但我需要一种方法来在我的 .css 文件或其他一些内联解决方案中使用 em 使大小相对。

我试图让我的控件在 720p、1080p 和 4K 中显示相同的大小。除了 RadioButton 和 CheckBox 之外的所有其他控件都可以通过将 em 用于任何选择器控件的大小。我将在下面为每个控件包含一些相关的代码片段。

RadioButton.css基本字体大小在另一个文件中定义

截图

4K 1080p 720p

当所有这些都被使用时,RadioButton 会随着分辨率从 4K -> 1080p -> 720p 变得越来越大。这让我认为控件的某些部分仍在使用其自己的内部硬尺寸。我知道通常你只是改变填充值来实现不同的大小,但是你可以看到填充值已经在这里用 em 设置了。

复选框.css

截图

4K 1080p 720p

这与 RadioButton 文件非常相似,其中所有值都使用 em 而不是硬值。作为标记一部分的 -fx-shape 是否会因为它是硬值而导致所有 em 值失败?

期待

我的最终目标是让单选按钮和复选框在不同的分辨率下完全(非常接近)保持相同的大小。

0 投票
1 回答
323 浏览

javafx - 如何在 JavaFx 中使用 CSS 设置 GridPane 的样式

我是 JavaFx 的新手。我有一个用 FXML 创建的 GridPane。我想将该 GridPane 样式设置为下图。我尝试了以下答案并尝试了更多 CSS 元素。但这些都没有帮助我做到这一点。

GridPane、VBox、VBox 的 JavaFX CSS 类

使用 CSS 在 GridPane 中居中子级

向 GridPane JavaFX 添加边框

而且我是否使用了错误的方法?我可以使用 GridPane 来实现这一点,还是 TableView 很容易做到这一点?

表格图像