顏色選擇器控件允許用戶從可用的顏色范圍中選擇顏色,或通過(guò)指定RGB或HSB組合設(shè)置其他顏色。JavaFX ColorPicker控件具有顏色選擇器,調(diào)色板和自定義顏色對(duì)話框窗口。
以下代碼使用空構(gòu)造函數(shù)創(chuàng)建一個(gè)顏色選擇器控件,顏色選擇器控件使用默認(rèn)顏色,即WHITE
。
ColorPicker colorPicker1 = new ColorPicker();
還可以提供顏色常量作為當(dāng)前選擇的顏色。
ColorPicker colorPicker2 = new ColorPicker(Color.BLUE);
還可以提供網(wǎng)絡(luò)顏色值作為當(dāng)前選擇的顏色
ColorPicker colorPicker3 = new ColorPicker(Color.web("#EEEEEE"));
如下示例代碼 -
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.scene.Scene;
import javafx.scene.control.ColorPicker;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Text;
import javafx.stage.Stage;
public class Main extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
Scene scene = new Scene(new HBox(20), 400, 100);
HBox box = (HBox) scene.getRoot();
final ColorPicker colorPicker = new ColorPicker();
colorPicker.setValue(Color.RED);
final Text text = new Text("Color picker:");
text.setFill(colorPicker.getValue());
colorPicker.setOnAction((ActionEvent t) -> {
text.setFill(colorPicker.getValue());
});
box.getChildren().addAll(colorPicker, text);
stage.setScene(scene);
stage.show();
}
}
getCustomColors()
方法返回創(chuàng)建的自定義顏色作為Color
對(duì)象的ObservableList
。
ObservableList<Color> customColors = colorPicker.getCustomColors();
colorPicker.setValue(customColors.get(index));