在代码和事件处理程序上更改JavaFX的样式

问题描述

我有两个问题让我有疑问。

1Q:假设我有一个按钮,然后通过SceneBuilder将按钮的样式设置为“-fx-border-color:#FFFFFF” 在fxml文件中。假设我也添加了其他样式。

当鼠标进入按钮时,我创建了一个事件。如果要创建效果,例如,当鼠标进入和退出鼠标时边框的颜色发生变化,则必须在事件中添加 setStyle 在参数中,放置所有我已经拥有的样式,并仅更改我想要的样式?例如:在 Button 中,我的样式是 a,b,c,-fx-border-color:#FFFFFF,d,e 。为此,我将不得不这样做:Button.setStyle(“ a,b,c,-fx-border-color:#AAAAAA,d,e”)还是有更好的方法呢?

2Q::在类似的情况下,如果我想在悬停时使按钮在Y轴上稍微上升一点,我是否必须为每个按钮创建一个不同的事件并通过SceneBuilder?例如:

@FXML
void onMouseEnterEvent(MouseEvent event) {
    button_NewProject.setLayoutY(button_NewProject.getLayoutY()-8);
}

我在上面创建了代码,然后意识到我实际上无法为所有按钮处理相同的事件,因为如果我这样做,则将鼠标悬停在单个按钮上时,所有按钮都会上升。我错了?我需要在这里做什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)