在选择框中列出所有可用系统字体的java
我有一个选择框的场景。目的是让所有可用的系统字体都显示在选择框中,我觉得我走的是正确的道路,因为到目前为止,我已经设法让1显示在选择框中,但为什么只有1
这是密码-
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.control.ChoiceBox;
import javafx.scene.control.SingleSelectionModel;
import javafx.scene.layout.Pane;
import javafx.scene.text.Font;
public class ChoiceBoxFonts extends Application
{
ObservableList<String> fontType;
ChoiceBox<String> fonts;
public static void main(String [] args)
{
Application.launch(args);
}
public void start(Stage primaryStage)
{
Pane root = new Pane();
Font.getFamilies().stream().forEach(i ->{
fontType =
FXCollections.observableArrayList(i
);
});
// New choicebox with observable arraylist fontType
fonts = new ChoiceBox<String> (fontType);
//SingleSelectionModel<String> selMod = fonts.getSelectionModel();
root.getChildren().add(fonts);
Scene scene = new Scene(root,200,200);
primaryStage.setScene(scene);
primaryStage.show();
}
}
实验的目标是能够从选择框中选择一种字体,并使用该选择更改文本对象的字体
还有,有没有更好的用户界面可以做这样的事情?如果有大量字体,那么选择框将会非常长
# 1 楼答案
你只需要
而不是你的迭代
我可能会考虑一个^{} 。