In dit artikel wordt uitgelegd hoe u een eenvoudige toepassing kunt maken die wordt weergegeven in de afbeelding aan de rechterkant, waarbij ook de broncode wordt vermeld.

Als u knoppen, tekstlabels en andere componenten in het programmavenster wilt plaatsen, moet u meer weten over JPanel. Het is een soort container voor componenten, die het rechthoekige stuk op het scherm inneemt en de componenten op een eenvoudige manier laat zien. Hoe de componenten precies zijn gerangschikt, hangt af van de lay-out die u op dat paneel hebt ingesteld. Voor de handmatige programmering zult u waarschijnlijk tenminste de BorderLayout moeten kennen, die vier componenten aan de zijkanten en één groot component in het midden plaatst, dan de FlowLayout die ze meestal naast elkaar in een horizontale rij plaatst en tenslotte de GridLayout die componenten inlas. willekeurige n * m-tabel. Er zijn er meer, maar andere lijken te ingewikkeld voor beginners. Het belangrijkste idee hier is dat een "component" niet alleen een knop of selectievakje kan zijn - het kan ook een ander zijn JPanel. U kunt een complexe gebruikersinterface krijgen door panelen gewoon in elkaar te plaatsen en de lay-outs voor hen te kiezen.

Zodra u een instantie heeft van JPanel, bel de .setLayout methode om de lay-out in te stellen en vervolgens de .add-methode om de componenten eraan toe te voegen. Voor de BorderLayout, u moet de locatie als een tweede parameter opgeven. Bel bijvoorbeeld myPanel.add (myButton, BorderLayout.North) om je knop aan de bovenkant te plaatsen.

De container op het hoogste niveau, die op het scherm wordt weergegeven met de Java-toepassing, is geen JPanel maar JFrame. telefoontje myJFrame.getContentPane (). add (myJPanel, BorderLayout.Center) om je hoofdpaneel toe te voegen aan het exemplaar van JFrame.

Om uw toepassing meer te laten doen dan alleen verschijnen, moet u ook de ActionListener interface. Elke niet-abstract ActionListener heeft een enkele methode, actie uitgevoerd, die automatisch wordt aangeroepen wanneer de gebruiker een "actie" uitvoert met het onderdeel waarop de luisteraar is geregistreerd (de actie met knop is uiteraard het indrukken ervan). Om de actie-luisteraar voor de knop of een ander onderdeel te registreren, roept u de methode .addActionListener aan.

Methode één van de twee:
Het totale frame maken

  1. 1 Maak een klasse die de. Uitbreidt JFrame klasse. Deze klasse bevat al uw GUI-componenten, zoals knoppen en tekstvelden.
  2. 2 Plan de algemene lay-out van uw eerste applicatie. Een goed begin zou een centraal paneel kunnen zijn met BorderLayout met een ander paneel onderaan (BorderLayout.South). Dit tweede paneel kan de FlowLayout en bevat verschillende knoppen, selectievakjes en andere soortgelijke besturingselementen. Plaats tenslotte de grote JTextArea in het midden van de centrale component. Je kunt het gebruiken getText () en setText () methoden om op tekst gebaseerde interactie met de gebruiker te bewerkstelligen.
  3. 3 Schrijf constructor aan je klas. Deze constructor moet alle panelen en componenten maken die je plant, ze op de juiste manier in elkaar plaatsen en het laatste paneel het "alles vasthouden" aan je frame toevoegen (myFrame.getContentPane (). add (myLargePanel, BorderLayout.Center).
  4. 4 Schrijf de belangrijkste methode die het beginpunt van het programma zal zijn. Maak in deze methode een exemplaar van uw frame, stel de initiële grootte en locatie in (gebruik.setSize (x, y) en .setLocation (breedte, hoogte) ) en laat het op het scherm verschijnen door te bellen .setVisible (true).

Methode twee van twee:
Reacties programmeren op de gebruikersacties

  1. 1 Laat uw kader het implementeren ActionListener interface. Hierdoor kan uw klas luisteren naar de activiteiten van de componenten.
  2. 2 Schakel voor elke knop, selectievakje of ander besturingselement dat u hebt gemaakt, de methode in.addActionListener, je frame passeren (deze) als parameter.
  3. 3 De abstracte methode van ActionListener overschrijven, actionPerformed (ActionEvent -gebeurtenis). In deze methode moet u if statements plaatsen om te controleren waar de action-gebeurtenis vandaan komt. Deze if-instructie moet een voorwaarde hebben die iets zegt als "if (event.getSource () == knop1) ". Dit controleert waar de gebeurtenis vandaan kwam en of deze afkomstig was van uw knop. Binnen de if-instructie moet u doen wat u moet doen wanneer u op de knop drukt.
  4. 4 JTextArea heeft een methode .setText ( "myText") wat goed lijkt als de manier om een ​​zichtbare reactie op je actie te programmeren.