如何在JavaFX中更改颜色选择器的图标大小?

时间:2017-08-30 17:52:28

标签: javafx

如何在javaFX中更改颜色选择器的图标大小。我有问题,我无法在JavaFX中增加颜色选择器的图标大小,是否有人知道如何更改按钮图标的大小?

图标小:(

icon its small :(

2 个答案:

答案 0 :(得分:3)

设置CSS属性-fx-color-rect-width-fx-color-rect-width将更改显示的矩形的大小。设置fx-font-size将更改箭头的大小。

pickme

请注意,official JavaFX CSS reference中未记录其中某些属性,因此我猜未来的JavaFX迭代可能会在不事先通知的情况下更改它们。尽管如此,在这个阶段,我认为这可能不太可能,并且这些属性使用起来非常安全。为了确定未记录的CSS属性,我查看了ColorPickerSkin的源代码。

pickme.css

.large-rect-picker {
    -fx-color-rect-width: 60px;
    -fx-color-rect-height: 60px;
    -fx-color-label-visible: false;
    -fx-min-width: 150px;
    -fx-min-height: 100px;
    -fx-pref-width: 150px;
    -fx-pref-height: 100px;
}

.large-rect-picker > .arrow-button {
    -fx-font-size: 30px;
}

PickMe.java

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.ColorPicker;
import javafx.stage.Stage;

public class PickMe extends Application {

    @Override
    public void start(Stage stage) {
        ColorPicker colorPicker = new ColorPicker();
        colorPicker.getStyleClass().add("large-rect-picker");

        stage.setScene(new Scene(new Group(colorPicker)));
        stage.getScene().getStylesheets().add(
                PickMe.class.getResource(
                        "pickme.css"
                ).toExternalForm()
        );
        stage.show();
    }

    public static void main(String[] args) {
        launch(args);
    }
}

提问的信息

很难确切地知道你想要什么,因为你在这个问题中并没有真正明确。例如,你的图标是什么意思?矩形或向下箭头或两者兼而有之?当您单击该箭头时弹出的显示应该如何改变或保持不变?对于将来的问题,我建议您更具体地说明您要实现的目标以及它与您的目标有何不同。显示生成您所拥有的代码也可以帮助其他人解决您的问题。希望上面的信息足以让你修改它以达到你想要的效果。

答案 1 :(得分:0)

您可以使用css:

访问和自定义颜色选择器

<强>的ColorPicker

样式类:颜色选择器

<强>子结构

  • 彩色显示节点 - 标签

  • arrow-button - StackPane

  • arrow - StackPane

ColorPicker控件具有ComboBase

的所有属性和伪类

示例

.color-picker .label {
     -fx-background-color: red; 
     -fx-text-fill: null;
     -fx-graphic: url("1487868456_Other_Antivirus_Software.png");//This is icon of Color picker label


}

<强>结果: Customise color picker

据我所知,你根本不能使用-fx-width / -fx-height而你不能使用百分比值。元素的宽度和高度是只读的。你可以设置-fx-pref-width,-fx-pref-height,-fx-max-width,-fx-min-width,-fx-max-height,-fx-min-height,-fx-border- width和-fx-border-height调整Java FX元素的大小。

.picker-color {
    -fx-border-color:white ;  
    -fx-border-width:40;


}

PickerColor