Met Java is het mogelijk om desktop applicaties te bouwen die platform onafhankelijk zijn. Java Swing is een GUI toolkit die standaard ingebakken zit in Java. Je hoeft er verder geen aparte bibliotheken voor te installeren zoals bij JavaFX. Ondanks dat het al een tijdje bestaat (1998) en er ook al een opvolger (JavaFX) is, zit Swing nog steeds in Java. En het blijft erin zitten tot tenminste 2026 (aldus Oracle). En dat terwijl JavaFX er juist in Java 11 eruit is gehaald. De reden zal wel zijn dat het er nog heel veel werkende applicaties in Swing bestaan en onderhouden worden (bijvoorbeeld IntelliJ) en de community en expertise hiermee erg groot is, terwijl dat bij JavaFX bij beide juist tegenvalt.
Een simpel formulier
Traditioneel is de NetBeans IDE altijd de Swing IDE geweest, maar IntelliJ biedt ook ondersteuning voor Swing.
In dit artikel leer je om een simpel invoerformulier te maken met een knop die de inhoud van het formulier in een popup window laat zien.
Om een simpel Java Swing formulier te maken in IntelliJ volg je de volgende stappen:
Maak in de map ‘src’ in je Java project een nieuw GUI form aan via het menu:
File -> New -> Swing UI Designer -> GUI Form
Noem dit formulier ‘Formulier’. Er wordt een Java klasse aangemaakt met deze naam.
Ook krijg je dan een grafische opmaak van een leeg form met een JPanel erin.
Noem de panel ‘mijnPanel’:
Sleep vervolgens de volgende UI components op het form
- JLabel (verander dit in ‘naam’)
- JTextfield
- JButton
Als je nu de klasse Formulier bekijkt heb je als het goed is de volgende code:
Klik in de broncode van klasse Formulier.java en vanuit het menu kun je nu de basis GUI code genereren via:
Code -> Generate -> Form Main()
De volgende code wordt dan gegenereerd:
Je kunt nu de code runnen door deze main te runnen. Dan krijg je de volgende applicatie te zien:
Als we nu op de knop drukken gebeurt er niks. Om de knop een popup window te laten verschijnen met de tekst die je invoert in het invoerveld moeten we de volgende stappen doen:
- Selecteer de button en kies ‘Create Listener’ vanuit het context menu
- Je kunt dan een Listener creeren. Kies voor ‘ActionListener’.
- Kies dan om de method actionPerformed(actionEvent:ActionEvent) aan te maken en klik pp OK
- In je broncode wordt nu de volgende code toegevoegd:
- Type hierin de volgende code:
Run nu de code opnieuw. Type een naam in het invoerveld en klik op de knop. Als het goed is, moet er nu een popup window verschijnen met daarin je naam!
In dit artikel heb je geleerd hoe je m.b.v. IntelliJ een Swing GUI kunt maken. Wil je meer Java leren kijk op java-academy.nl.
Veel code succes!