Posts

JavaFX von der IDE bis zur Auslieferung Teil 6: Das Auge isst mit

Bild
 Im letzte Teil haben wir unsere Anwendung auch für das internationale Publikum startklar gemacht. Nun wollen wir das Design der Anwendung ein wenig anpassen. JavaFX-Anwendungen lassen sich über CSS beliebig verändern. Hierzu gibt es online von Oracle ein Referenz . Um ein neues Stylesheet zu erstellen legen Sie in den resources ein Ordner styles und darin eine neue CSS-Datei mit dem Name style.css an. Diese hat folgenden Inhalt: . button { -fx-background-color : #708090 ; -fx-border-color : #000 ; -fx-text-fill : #fff ; -fx-font-family : "Arial" ; } Um nun aber auch noch die Anwendung mit der CSS-Datei zu verknüpfen, müssen wir noch ein bisschen coden. Wir fügen folgenden Code in die Datei HalloJavaFX.java in die Methode start ein:  String stylesheet = Objects. requireNonNull ( HalloJavaFX. class .getResource( "/styles/style.css" ) ).toExternalForm() ; scene.getStylesheets().add(stylesheet) ; So schnell können Sie sämtliche Buttons vom

JavaFX von der IDE bis zur Auslieferung Teil 5: Jetzt wird es international

Bild
 Nachdem unser Taschenrechner nun funktioniert, wollen wir ihn auch für ausländisches Publikum lesbar machen. Dazu müssen wir lokalisierten Text in Resourcen auslagern. Deshalb wechseln wir in den Ordner Resources erstellen einen neuen Ordner lang und fügen dort über New ein neues Resource-Bundle ein. Hier legen Sie neue Locales an, wie hier zum Beispiel deutsch. Die Default-Locale wäre in diesem Fall Englisch, sie wird genommen, wenn sonst keine Locale zutrifft. Der Inhalt der lang.properties ist: application.title = Hello JavaFX application.field1 = first Number application.field2 = second Number  Der Inhalt der lang_de.properties ist: application.title = Hallo JavaFX application.field1 = erste Zahl application.field2 = zweite Zahl Nun erstellen wir eine neue Funktion in der Datei HalloJavaFX, welche auf die Resource-Bundles zugreift: public static ResourceBundle getLanguage () { if (HalloJavaFX. resourceBundle == null ) { ClassLoader classLoader = new URLClassLoader( new

JavaFX von der IDE bis zur Auslieferung Teil 4: Action bitte

Bild
 In den letzten Teilen haben wir unsere Oberfläche mit Leben gefüllt, leider sind sämtliche Komponenten noch relativ inaktiv. Es gibt mehrere Möglichkeiten unsere Komponenten mit Aktionen zu füllen. Zum einen kann man eine fx:id vergeben, über die man anschließend im Controller auf die Komponente zugreifen kann. Zum anderen kann man in onAction auch direkt einen Funktionsnamen übergeben. Um auf eine Komponente im Controller zuzugreifen muss man die Komponent im Kopf mit Anotation @FXML global definieren. Beispiel: Das erste Textfeld gibt man die ID txtNumber1 . Um auf diese Komponenten im Controller darauf zuzugreifen muss man nun vor onInitialize die Komponente deklarieren: private @FXML TextField txtNumber1 ; Hat man direkt eine Funktion in onAction eingetragen, so muss man diese auch im Controller definieren. @FXML public void enterCalculation (ActionEvent actionEvent) {} Man muss hierbei nicht unbedingt ActionEvent definieren. Hat man nur eine ID vergeben, so kann man auch hier du

JavaFX von der IDE bis zur Auslieferung Teil 3: Die Oberfläche

Bild
 Beim letzten Teil haben wir die Applikation zum ersten Mal starten können. Das Fenster, das sich geöffnet hat sah aber noch ziemlich leer aus, das wollen wir nun ändern.                   Dazu öffnen wir die Datei Main.fxml , welche sich im resources-Ordner befindet. Sie können nun auf 2 Wege Leben in den Dialog füllen. Wenn Sie sich auskennen, können Sie die XML-Dateien direkt ändern, andernfalls wechseln Sie in den Scene-Builder und können dort Ihre Schaltflächen, in die Oberfläche ziehen. Falls Sie den Scene-Builder noch nicht genutzt haben, müssen Sie diesen zuerst installieren                  Das Fenster des Scene-Builder ist in 3 Teile eingeteilt. Im linken Teil können Sie neue Komponenten per Drag und Drop auf das Formular ziehen, welche sich in der Mitte befindet. Im rechten Teil befinden sich die Eigenschaften der entsprechenden Komponenten.                       Das Eigenschafts-Fenster ist wiederum in 3 Bereiche eingeteilt. Zum einen gibt es der Bereich in denen Sie Eigen

JavaFX von der IDE bis zur Auslieferung Teil 2: Der erste Start

Bild
 Im letzten Teil haben wir die Konfigurationsdatei für Maven für unser erstes Projekt eingerichtet. In diesem Teil werden wir zum ersten Mal unser Projekt erfolgreich zum Laufen bringen. Wir legen in den Resourcen nun eine Datei mit der Endung .fxml ein. Dazu legen wir einen Ordner in dem Ordner resources an, den wir fxml nennen. Dort legen wir nun eine Datei Main.fxml an. Dies können wir über das Kontext-Menu der Entwicklungsumgebung erreichen, dort wählen wir New und darin FXML-File aus. Diese Datei lassen wir nun erst einmal so. Nun wechseln wir in den Ordner java und dort in das Package, das wir am Ende des letzten Teils erstellt haben. Dort erstellen wir die Java-Klasse HalloJavaFX und ein Package mit dem Namen controller . In diesem Package legen wir den Controller ab, der zu unserer Hauptanwendung gehört. Diese Java-Klasse nennen wir MainController.java . JavaFX funktioniert nach dem Programmierparadigma MVC, mehr dazu können Sie zum Beispiel in Wikipedia nachlesen. Wir öffn

JavaFX von der IDE bis zur Auslieferung Teil 1: Einrichtung der IDE

Bild
 Installieren Sie die IntelliJ Idea Community Edition. Downloaden Sie das Setup dazu hier und installieren Sie es. Öffnen Sie anschließend die IDE und richten Sie diese ein. Irgendwann landen Sie in dem Bildschirm, in dem Sie Projekte laden können. Wählen Sie dort ein neues Projekt aus und erstellen hierbei ein Maven-Projekt. Klicken Sie auf Next und Sie kommen in einen Bildschirm, in dem Sie das Verzeichnis eingeben können, in welchem Sie das Projekt speichern wollen. Sie können hier außerdem ein neues Package auswählen. Haben Sie dies getan, gelangen Sie nun in den Hauptbildschirm Ihrer IDE. Falls noch nicht geschehen, öffnen wir die pom.xml, welche sich im Wurzelverzeichnis des Projekts befindet.  In dem Bereich mit Properties können Sie eigene Properties definieren, welche Sie dann im Rest der Konfigurationsdatei von Maven verwenden können oder Sie können dort System-Properties auch ändern. Es sind bereits 2 Properties definiert, welche Maven die aktuelle Java-Version anzeigen. Fü

JavaFX von der IDE bis zur Auslieferung Teil 0: Was Sie brauchen

 Von der Programmiersprache Java haben sicher alle schon hier etwas gehört. Doch was genau ist JavaFX? JavaFX ist eine Bibliothek um moderne Desktop-Oberflächen in Java zu schreiben. Da es seit kurzem aus dem Java Development Kit herausgeworfen wurde, muss man nun, um es zu nutzen Bibliotheken hinzufügen. JavaFX wird nun von der Firma Gluon weiterentwickelt. Dadurch, dass man bei JavaFX seine Oberfläche über CSS definieren kann, werden einem unendlich große Möglichkeiten gegeben, das Design beliebig anzupassen. Ich persönlich finde, dass JavaFX ein mächtiges Werkzeug ist, mit dem man sehr viele gestalterische Möglichkeiten hat, um dem Anwender das bestmögliche Aussehen und die tollsten Funktionen zu bieten. Hierbei gehen aber die Meinungen auseinander.  Was Sie brauchen für dieses Tutorial Zum entwickeln nehme ich die Entwicklungsumgebung IntelliJ Idea, die ich in den letzten Jahren sehr zu schätzen gelernt habe. Diese gibt es auch in einer kostenlosen Version, der Community Edition.