Ho raggiunto utilizzando icone FA adattando Jens Deters's approach.
Le sue routine hanno come obiettivo una composizione di gui dinamica che si oppone al modo dichiarativo di fxml. Tuttavia, his AwesomeIcon enumeration (che mappa i nomi comprensibili di FA con caratteri Unicode) si adatta perfettamente ai miei intenti.
Dovrebbe iniziare dal staticamente caricare il font nella classe principale/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);
}
}
Non si possono utilizzare i caratteri Unicode in fxml (come necessario per specificare FA icone), ma può insieme dinamico attribuisce a tali valori . Quindi avendo l'enumerazione suddetto (AwesomeIcon), il ritmo:
L'importazione:
<?import de.jensd.fx.fontawesome.AwesomeIcon?>
Il nodo:
<Label styleClass="awesome"
style="-fx-font-family: FontAwesome; -fx-font-size: 16.0;">
<text><AwesomeIcon fx:constant="FILE"/></text>
</Label>
finisco attuazione un Icon Widget/Control/Component per riprendere la quantità di codice con due proprietà:
- valore: FA Nome icona;
- dimensioni: attributo di stile per lo stile
-fx-font-size
sull'etichetta.
Nuovo codice (stesso effetto):
<Icon value="FILE" size="16"/>
Il codice per che il controllo può essere trovato here. Puoi anche trovare un esempio funzionante in quanto include il font e il codice di test.
fonte
2014-08-14 10:36:44
Ho provato questo, ma ottenendo simboli weired invece di icone reali. Spiacente, sono nuovo di Java e JavaFx. Inoltre sto usando esattamente la stessa versione di FontAwesom specificato nel tuo codice "Icon Enum basato su Font-Awesome v4.1.0" – ATHER
Forse ti sei perso qualche passaggio. Ho appena aggiornato il codice per presentare un esempio funzionante. –
Grazie lo controllerò. Anche quando ho usato ' "SceneBuilder non apre più il mio fxml e genera un errore. È normale ? –
ATHER