我想实现我自己的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来摆脱颜色选择器中的颜色方块?在我的另一个按钮上重新创建一个类似的方形作为图形相当容易,但是如何摆脱颜色选择器上的那个呢?
答案 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);