JavaFX 中的样式按下按钮
style pressed button in JavaFX
我的 FXML
文件中有一个 Button
,我在下面给它一个样式 CSS
.button {
-fx-background-color: linear-gradient(#ff5400, #be1d00);
-fx-background-radius: 30;
-fx-background-insets: 0;
-fx-text-fill: white;
}
你可以看到这个按钮有一个新的很棒的样式,但是每次我点击它,它仍然像以前一样,你无法理解它是否被点击...
当我搜索时,我在这个 link 中找到了一个解决方案:Pressed CSS,但如果您注意到它是 Web 浏览器和 JavaFX 使用的 CSS 不支持它。
那么解决方法是什么?我希望我的按钮在用户点击它时改变它的外观。
您需要添加伪类状态 pressed
到您 css 并添加新的 css 到它,这将区分您当前的按钮 css 与按下时的按钮:
.button:pressed {
// Your new css
}
要在 hovering the button
时更改样式,请使用:
.button:hover {
// Your new css
}
为了更好地了解可以添加什么样式来设置按钮样式,您可以查看 How to make a button appear to have been clicked or selected?
对于 javaFX 上的 arrayLists,请在 CSS 上尝试此操作以在鼠标单击时更改颜色:
.list-cell:selected { -fx-background-color: 黄色; }
我的 FXML
文件中有一个 Button
,我在下面给它一个样式 CSS
.button {
-fx-background-color: linear-gradient(#ff5400, #be1d00);
-fx-background-radius: 30;
-fx-background-insets: 0;
-fx-text-fill: white;
}
你可以看到这个按钮有一个新的很棒的样式,但是每次我点击它,它仍然像以前一样,你无法理解它是否被点击...
当我搜索时,我在这个 link 中找到了一个解决方案:Pressed CSS,但如果您注意到它是 Web 浏览器和 JavaFX 使用的 CSS 不支持它。
那么解决方法是什么?我希望我的按钮在用户点击它时改变它的外观。
您需要添加伪类状态 pressed
到您 css 并添加新的 css 到它,这将区分您当前的按钮 css 与按下时的按钮:
.button:pressed {
// Your new css
}
要在 hovering the button
时更改样式,请使用:
.button:hover {
// Your new css
}
为了更好地了解可以添加什么样式来设置按钮样式,您可以查看 How to make a button appear to have been clicked or selected?
对于 javaFX 上的 arrayLists,请在 CSS 上尝试此操作以在鼠标单击时更改颜色:
.list-cell:selected { -fx-background-color: 黄色; }