我需要为JavaFX中的组添加背景颜色。我试图用CSS添加它,但由于某种原因,它不起作用。 CSS适用于所有其他布局管理者,但不适用于Group。我该怎么办?如何将背景颜色添加到JavaFX中的组布局?
回答
解决方案
替换您的Group
使用与Pane
事情会表现类似,除非你将获得使用CSS做的东西一样风格的窗格的背景的能力。
背景
如果你想风格的CSS父节点,使用的东西从Region派生:
地区是所有基于节点的JavaFX UI控件的基类,和所有布局容器。它是一个可调整大小的Parent节点,可以从CSS进行样式化。它可以有多个背景和边框。它旨在支持与JavaFX相关的尽可能多的背景和边框CSS3规范。
组A被设计成是一个非常轻量的父,这将产生最小处理和存储开销,因此它supports only very minimal CSS properties(并且不支持CSS背景)。另一方面,它提供了广泛的CSS样式功能。
A Pane是一个具体的Region子类,其行为最像一个组(例如,它不会执行隐式布局,而是手动布局窗格中的节点)。
替代的解决方案
此替代的解决方案允许将“背景”节点添加到组中。它在代码中工作,而不是CSS。
添加到组中的项目由绘画算法分层,从后到前。因此,添加一个彩色矩形作为组中的第一项,矩形将有效地形成组的背景。
其实,我在javaFx中说一切皆有可能,因为它们够酷。
所以假设你Group
是组和你想改变Background
ColorInput ci = new ColorInput(group.getLayoutX(),
group.getLayoutY(),
group.getLayoutBounds().getWidth(),
group.getLayoutBounds().getHeight(),
Color.WHITE);
group.setEffect(ci);
kabooommm !!!!我有一个白色的背景!
Color.RED); //i change the last part to red
group.setEffect(ci);
kaboomm! kabooom!我有红色背景
fyi:这会导致你一些关系问题。
希望它有帮助
这个'背景'似乎勾画了组中的所有其他对象... – Sman789
- 1. 将颜色背景和边框半径添加到布局
- 2. 散景布局的背景颜色
- 3. 如何用背景图像为背景颜色重新添加背景颜色?
- 4. 如何将颜色叠加层添加到背景图像?
- 5. 两种颜色的Android布局背景
- 6. 将背景图像和背景颜色对添加到元素
- 7. JavaFX舞台背景颜色?
- 8. 如何添加背景颜色到新添加的行angularjs
- 9. 背景颜色不添加
- 10. 如何为BarButton添加背景颜色
- 11. Android背景颜色XML布局
- 12. Android布局背景颜色变化
- 13. SAPUI5布局,背景颜色和图像
- 14. 如何将背景颜色添加到Android SwitchPreference?
- 15. 如何将纹理类型外观添加到背景颜色
- 16. 如何将背景颜色添加到HTML选项?
- 17. 添加PNG和颜色到背景
- 18. 如何更改android中的所有布局背景颜色
- 19. 将背景颜色添加到Extjs中的标签中
- 20. 如何为javafx中的所有窗格添加相同的背景颜色?
- 21. 如何在javafx中将背景颜色更改为imageView
- 22. 将背景颜色添加到KML文件中的多边形
- 23. 如何在xml布局中设置背景颜色?
- 24. 将颜色添加到颜色数组
- 25. 组背景颜色
- 26. JavaFX:在TextFlow中设置背景颜色
- 27. 在网页中添加背景颜色
- 28. 使用jQuery将背景颜色添加到输入文本中
- 29. 将行添加到表中并更改其背景颜色
- 30. 如何更改布局的背景颜色并永久保留该颜色
+1为背景! – ItachiUchiha
之前我曾考虑过您的备用解决方案,但我认为使用Pane可以更轻松地处理组件。非常感谢! – NovoBook