Osiągnąłem przy użyciu ikon FA, dostosowując Jens Deters's approach.
Jego rutyny cel dynamicznej kompozycji gui przeciwstawia deklaratywny sposób fxml. Niemniej jednak, his AwesomeIcon enumeration (który odwzorowuje FA zrozumiałe nazwy ze znakami Unicode) idealnie pasuje do moich zamiarów.
Należy zacząć od statycznie załadować czcionkę w głównej klasie/app:
public class App extends Application {
static {
Font.loadFont(App.class.getResource("/font/fontawesome-webfont.ttf").toExternalForm(), 10);
}
@Override
public void start(final Stage primaryStage) throws Exception {
URL resource = getClass().getResource("/fxml/app.fxml");
primaryStage.setScene(new Scene((Parent) FXMLLoader.load(resource), 500, 500));
primaryStage.setTitle("FontAwesomeFX demo");
primaryStage.show();
}
public static void main(String... args){
launch(args);
}
}
Nie można używać znaków Unicode w fxml (ile potrzeba, aby określić FA ikon), ale dynamiczny zestaw atrybutów z takimi wartościami . Oznacza to że wyżej wspomniany wykaz surowca (AwesomeIcon), zadanie zrobiono
import:
<?import de.jensd.fx.fontawesome.AwesomeIcon?>
Węzeł:
<Label styleClass="awesome"
style="-fx-font-family: FontAwesome; -fx-font-size: 16.0;">
<text><AwesomeIcon fx:constant="FILE"/></text>
</Label>
I kończy się realizację Widget Ikona/Sterowanie/Komponent do wznowienia ilości kodu o dwóch właściwościach:
- wartość: FA Ikona Nazwa;
- rozmiar: stylowy atrybut stylu
-fx-font-size
na etykiecie.
Nowy kod (ten sam efekt):
<Icon value="FILE" size="16"/>
Kod dla tej kontroli można znaleźć here. Można również znaleźć przykład pracy, ponieważ zawiera on kod czcionki i testowania.
Próbowałem tego, ale zamiast symboli pojawiały się symbole. Przepraszamy, jestem nowy w Javie i JavaFx. Używam również dokładnie tej samej wersji FontAwesom określonej w twoim kodzie "Icon Enum opartej na Font-Awesome v4.1.0" – ATHER
Być może przegapiłeś jakiś krok. Właśnie zaktualizowałem kod, aby zaprezentować działający przykład. –
Dzięki temu to sprawdzę. Również gdy użyłem ' ' SceneBuilder nie otwiera już mojego fxml i zgłasza błąd. Czy to normalne ? –
ATHER