Tak nakonec jsem problém jiným způsobem a teď už to funguje
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javafx.geometry.VPos;
import javafx.scene.Scene;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.scene.text.TextBoundsType;
import javafx.stage.Stage;
public class TextFont extends javafx.application.Application {
@Override
public void start(Stage stage) {
var text = new Text("EXAMPLE");
text.setBoundsType(TextBoundsType.VISUAL);
text.setTextOrigin(VPos.TOP);
var file = new File("src/example/GT Pressura Mono Regular Regular.ttf");
try {
var font = Font.loadFont(new FileInputStream(new File(file.getAbsolutePath())), 50);
text.setFont(font);
} catch (FileNotFoundException ex) {
}
text.setFill(Color.BLUE);
var pane = new Pane(text);
var scene = new Scene(pane, 200, 200);
stage.setScene(scene);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Přesto nechápu, proč musím použít tak složitý způsob, který je nutný ještě dát to try-catch. Chtěl bych použít pouze relativní cestu, ale to dám do samostatné otázky.