Javafx中没有颜色方块的ColorPicker?

时间:2018-05-11 19:58:38

标签: css javafx fxml

我想实现我自己的SplitMenu ColorPicker,其实际功能类似于SplitMenuButton。要做到这一点,我有一个按钮,当点击时,将所选文本的颜色更改为当前颜色,并选择颜色选择器,但也会更改当前颜色。所以我的FXML看起来像这样:

file.each do |line|
  score1, score2 = line.split(',').map{|t| t.split(' ').last.to_i}
end

我的CSS看起来像这样:

<HBox>
    <Button text="Aa" fx:id="colorTextButton" styleClass="leftButton" onAction="#colorText"/>
    <ColorPicker fx:id="colorPicker" styleClass="rightButton colorPicker" onAction="#setColor">
</HBox>

有没有办法,通过编程方式通过java或CSS或FXML来摆脱颜色选择器中的颜色方块?在我的另一个按钮上重新创建一个类似的方形作为图形相当容易,但是如何摆脱颜色选择器上的那个呢?

1 个答案:

答案 0 :(得分:1)

您可以使用下面的CSS从ColorPicker中删除预览颜色框:

.color-picker > .color-picker-label > .picker-color > .picker-color-rect {
    -fx-stroke: null;
    -fx-fill : null;   
}

这将导致盒子完全消失。

编辑:但是正如我所看到的那样,如果你打开调色板并且在按下鼠标(左/右)的颜色之间不断变化,那么该框会再次出现,当鼠标被释放时它会再次消失。我稍后或明天会看一看。

编辑2:另一个更好的方法,上面是使用下面的代码以编程方式隐藏Rectangle:

Rectangle rec = (Rectangle) colorPicker.lookup("Rectangle");
rec.setVisible(false);