2017-06-16 80 views
1

我使用Time-4j-ui庫,並不知它包括一個內置的按鈕和我使用Jfoenix材料設計組件文本框這是醜陋的毀了我的所有設計,風格一個常規的javafx按鈕和文本字段?

在我的項目,以及這個內置的用戶界面完全毀了我的設計,這裏是一個視圖

enter image description here

我想知道是否有一種方法或某種黑客的樣式這個日期選取器JFXDatePicker,你可以請參閱下面的JFXDatePicker:

enter image description here

但是我設法訪問此視圖組(這是文本框)與picker.getChildren().get(0);的第一個孩子,但我不知道是否有一種方法可以將樣式文本框或東西嗎?

在此先感謝

+0

確實,'picker.getChildren()。get(0)'是文本框,在索引位置1是彈出按鈕。你還看過內置的[css-file](https://github.com/MenoData/Time4J/blob/master/ui/src/main/resources/net/time4j/ui/javafx/calendar.css) ?一個CSS屬性與文本框相關聯:'calendar-editor-error'。您應該也可以通過編程方式設置文本框的樣式:'getStyleClass().add(css-property-string)'。如果我在下一個版本v4.28中定義這樣一個屬性,它會對你有所幫助,因此如果文本框的內容有效,可以將它用於一般情況? –

回答

2

你可以風格的CSS元素: 最簡單的方法是直接使用它,就像這樣:

Node node = picker.getChildren().get(0); 
node.setStyle("-fx-border-color: #000;-fx-border-width: 2px;"); 

或者你可以指定一個外部CSS文件並使用它,這樣:

Node node = picker.getChildren().get(0); 
node.getStyleClass().add("myTextBox"); 
picker.getStylesheets().add("main.css"); 

/*main.css:*/ 
.myTextBox{ 
    -fx-border-color: #000; 
    -fx-border-width: 2px; 
}