Seçim kutusuyla bir sahneyim var. Buradaki amaç, tüm sistem yazı tiplerini seçim kutusunda göstermektir. Şimdiye kadar tercih ettiğim gibi doğru yoldayım. Seçim kutusuna 1 tane çıkmayı başardım ama neden sadece 1?Bir Seçim Kutusundaki kullanılabilir tüm sistem yazı tiplerini listeleme
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();
}
}
deneyin amacı, seçim kutusundan bir yazı tipi seçin ve bu seçim ile bir metin nesnesinin yazı tipini değiştirmek edebilmek için - burada
kodudur.Ayrıca, böyle bir şeyi yapabilmek için daha iyi bir kullanıcı arayüzü var mı? Bir kova yazı tipi yükü varsa, bu seçim kutusu çok uzun sürebilir!
"Font.getFamilies() öğesinin her öğesi için," fontType "öğesini yalnızca bu öğeyi içeren bir listeye ayarlayın". Tüm bunları yaptıktan sonra, sadece son unsuru içeren bir listeye sahip olacaksınız. –
HI, @James_D, bunu yaptığım şey mi? - "Font.getFamilies()" öğesinin her satırı için bu kod satırında - 'Font.getFamilies(). stream(). forEach (i -> { fontType = FXCollections.observableArrayList (i );' – Treeno1
özür dileriz Bu yorumların biçimlendirilmesi için .. – Treeno1