【问题标题】:style pressed button in JavaFXJavaFX中的样式按下按钮
【发布时间】:2015-07-28 04:13:30
【问题描述】:

我的FXML 文件中有一个Button,我在CSS 下方给它一个样式

.button {
    -fx-background-color: linear-gradient(#ff5400, #be1d00);
    -fx-background-radius: 30;
    -fx-background-insets: 0;
    -fx-text-fill: white;
}

你可以看到按钮有一个新的很棒的样式,但是每当我点击它时,它仍然和以前一样,你无法理解它是否被点击了......

当我搜索时,我在此链接中找到了一个解决方案:Pressed CSS,但如果您注意到它是 Web 浏览器使用的 CSS 并且 JavaFX 不支持它。

那么解决方法是什么?我希望我的按钮在用户点击或点击时改变其外观。

【问题讨论】:

    标签: java css javafx


    【解决方案1】:

    您需要将伪类状态 pressed 添加到您的 css 并为其添加新 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?

    【讨论】:

    • 谢谢你是真的,但是你有没有注意到当你把鼠标放在按钮上时(点击之前)按钮的外观发生了变化,然后每当点击它时,它又会改变。你能明白我想说什么吗?
    • 为此您需要使用伪类hover,即.button:hover { ... }CSS Reference Guide 列出了所有组件的伪类和属性,例如Button
    • @James_D 谢谢你的朋友
    【解决方案2】:

    对于 javaFX 上的 arrayLists,在 CSS 上试试这个以在鼠标单击时更改颜色:

    .list-cell:selected { -fx-background-color: 黄色; }

    【讨论】:

      猜你喜欢
      • 2014-09-22
      • 2017-09-11
      • 2018-03-15
      • 1970-01-01
      • 1970-01-01
      • 2020-02-14
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      相关资源
      最近更新 更多