我想知道如何在JavaFx中更改列表視圖項的文本字體大小。每行文本的大小會有所不同。我嘗試使用細胞因子屬性,但我不知道如何使用它。有人可以幫我嗎?在JavaFX中更改ListView的字體大小
1
A
回答
0
類似的問題在這裏:
How to change the font size in ListView in JavaFX?
您也可以與下面的.css
玩:
.list-cell:filled:selected:focused, .list-cell:filled:selected {
-fx-background-color: linear-gradient(#328BDB 0.0%, #207BCF 25.0%, #1973C9 75.0%, #0A65BF 100.0%);
-fx-text-fill: white;
}
.list-cell{
-fx-font-size:15.0;
}
.list-cell:even { /* <=== changed to even */
-fx-background-color: white;
}
.list-cell:filled:hover {
-fx-background-color: #0093ff;
-fx-text-fill: white;
}
如何在JavaFX中使用外部CSS?
How to use external css file to style a javafx application
如何以編程方式更改文本?:
的大小Java8前:
listView.setCellFactory(new Callback<ListView<String>, ListCell<String>>() {
@Override
public ListCell<String> call(ListView<String> p) {
return new ListCell<String>() {
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (item != null) {
setText(item);
// decide to add a new styleClass
// getStyleClass().add("costume style");
// decide the new font size
setFont(Font.font(16));
}
}
};
}
});
隨着lambda表達式:
listView.setCellFactory(cell -> {
return new ListCell<String>() {
@Override
protected void updateItem(String item, boolean empty) {
super.updateItem(item, empty);
if (item != null) {
setText(item);
// decide to add a new styleClass
// getStyleClass().add("costume style");
// decide the new font size
setFont(Font.font(16));
}
}
};
});
0
在javaFx中,您可以使用css來設置不同的對象樣式。它取決於列表視圖中的對象,但它會像這樣。
ListView<Hyperlink> listview = ..
ObservableList<Hyperlink> lists = listview.getItems();
for(Hyperlink link:lists)
{
link.setStyle("-fx-background-color:#ffffff");
}
+0
ListView是字符串,它不工作。 –
+0
@ahmadfaraz字符串不是javafx對象。我會用Label來表示一個String –
1
存儲文本和文本大小的物品類別中
public class SizedText {
private final int textSize;
private final String text;
public SizedText(int textSize, String text) {
this.textSize = textSize;
this.text = text;
}
public int getTextSize() {
return textSize;
}
public String getText() {
return text;
}
}
,並使用cellFactory
返回ListCell
s表示根據該updateItem
方法的項目數據中設置的文本大小。
@Override
public void start(Stage primaryStage) {
ListView<SizedText> list = new ListView<>(FXCollections.observableArrayList(
new SizedText(10, "10"),
new SizedText(15, "15"),
new SizedText(20, "20"),
new SizedText(25, "25"),
new SizedText(30, "30"),
new SizedText(35, "35"),
new SizedText(40, "40"),
new SizedText(50, "50"),
new SizedText(60, "60")
));
list.setCellFactory(l -> new ListCell<SizedText>() {
@Override
protected void updateItem(SizedText item, boolean empty) {
super.updateItem(item, empty);
if (empty || item == null) {
setText(null);
} else {
setText(item.getText());
setFont(Font.font(item.getTextSize()));
}
}
});
Scene scene = new Scene(list);
primaryStage.setScene(scene);
primaryStage.show();
}
相關問題
- 1. 如何更改JavaFX中ListView的字體大小?
- 2. 更改ListView中的字體大小
- 3. 更改JavaFX TableView的字體大小
- 4. 如何更改.kv中的ListView小部件的字體大小
- 5. 更改javafx中圖表中標籤的字體大小
- 6. 在AlertDialog中更改ListView的字體大小
- 7. JavaFX:更改TextField中的字體和大小
- 8. 如何更改javafx中的文本字體大小?
- 9. JavaFX:在使用DocPrintJob打印時更改字體大小?
- 10. 在Matlab圖中更改字體大小
- 11. 在圖例中更改字體大小
- 12. 更改Highcharts字體大小
- 13. getOrgChart字體大小更改
- 14. 更改字體大小
- 15. rtf更改字體大小
- 16. 字體大小更改
- 17. NSAttributedString更改字體大小
- 18. 更改字體大小macvim?
- 19. CFDocumentItem - 更改字體大小
- 20. 字體和字體大小更改
- 21. 更改Div字體大小和字體
- 22. 更改C中的ContextMenu字體大小#
- 23. 更改Emacs中的字體大小cli
- 24. 更改屏幕中的字體大小
- 25. 更改PropertySheet中的字體大小
- 26. 更改庫中的字體大小graphdracula
- 27. 更改SWT中的字體大小
- 28. 更改字體大小而不更改框的大小
- 29. Android ListView的字體大小和字體
- 30. 如何更改單選按鈕ListView的字體大小?
是的,我看到,但這些字體大小已修復。我希望它可變。每行的大小可以隨時更改 –
@ahmad faraz我編輯了這個問題,讓我知道它是否適合你。 – GOXR3PLUS