java - 如何更改从 Scene Builder 制作的按钮的颜色?
问题描述
我在 SceneBuilder 上制作了几个按钮(每个按钮代表一个城市)。我需要根据每个城市的房屋数量来设置它们的颜色。较深表示更多属性,较浅表示较少(红色)。
我在场景构建器上为每个按钮分配了一个 fx:id 并在我的代码中调用它,但我不确定如何使用 javafx 代码更改它的颜色。
有人可以帮帮我吗,我对 Javafx 很陌生。
@FXML private Button b1 = new Button();
首先我试图测试颜色是否真的会改变,但它不会改变
@FXML
private void test() {
for (House s: list) {
if(s.getHouse().equals("Manchester") > 10000) {
DropShadow s = new DropShadow();
b1.setEffect(s);
b1.setStyle("fx-background-color: #FF0000");
}
}
}
解决方案
正如 c0oder 指出的那样,这是一个简单的错误。
更改b1.setStyle("fx-background-color: #FF0000");
为b1.setStyle("-fx-background-color: #FF0000");
这成功了。
推荐阅读
- javascript - Vue 测试 - 模拟 axios 返回未定义
- python-3.x - 有没有办法在 tkinter scrolledtext 小部件中获取当前指针位置
- rsync - 如何将具有更新文件的远程文件夹与也更新的本地文件夹同步?
- python - 为 Python 中的列表取消堆叠制作一个衬里代码
- java - Java MessageFormat 无法格式化特定字符串
- python - Python,为什么我们可以创建在类创建中没有定义的类变量?
- java - 尝试反序列化对象时出错
- sql - 简单查询真的很慢
- javascript - 如何在 React 中的单击按钮上使用 fetch API 设置状态
- python-3.x - 如何将一列熊猫的字符串与其余列进行比较,如果在该行的任何列中找到值,则追加一个新行?