2017-08-30 142 views
0

如何更改javaFX中顏色選擇器的圖標大小。我遇到問題了,我無法增加JavaFX中顏色選擇器的圖標大小,有誰知道如何更改按鈕圖標的大小?如何更改JavaFX中顏色選擇器的圖標大小?

圖標的小:(

icon its small :(

+1

你是如何生成該圖像的,你能爲此提供[mcve]嗎?它看起來像是來自SceneBuilder的鏡頭,如果是這樣的話,可能會在您的問題中包含生成的FXML。 – jewelsea

+0

閱讀有關http://docs.oracle.com/javase/8/javafx/api/javafx/scene/doc-files/cssref.html#colorpicker –

+0

如何更改默認圖標?我需要更改默認圖標,他的大小 –

回答

0

您可以訪問和使用CSS定義的顏色選擇器:

顏色拾取

Style類:顏色選擇器

子結構

  • 彩色顯示節點 - 標籤

  • 箭頭按鈕 - StackPane

  • 箭頭 - 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寬/ -fx高,你不能使用百分比值,它。元素的寬度和高度是隻讀的。您可以設置-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

+0

如何更改默認圖標?我需要更改默認圖標,他的大小。 –

+0

我知道的是ColorPicker控件擁有ComboBoxBase.Read的所有屬性和僞類https://docs.oracle.com/javafx/2/api/javafx/scene/doc-files/cssref.html#colorpicker。這是我對顏色選擇器的限制。 –

2

設置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); 
    } 
} 

除了信息提出問題

這是很難知道你想要什麼,你是不是真正的問題明確。比如你的圖標是什麼意思?矩形或向下箭頭或兩者?當你點擊那個箭頭時彈出的顯示是什麼,應該改變還是保持不變?對於將來的問題,我建議你更具體地說明你想要達到的目標,以及它與你所擁有的不同之處。顯示生成你所擁有的代碼也可能幫助其他人解決你的問題。希望上面的信息足以讓你修改它來完成你的願望。

相關問題