Sådan laver du et grid GUI i Java

Gitteret (eller "gitteret"), der oprettes i denne artikel, er ikke noget særligt, men med lidt mere forskning kan du tilføje nogle ActionListener og nogle programmeringslogik til at lave et simpelt 2D-spil som en Java-version af Gamle spil, eller noget mere udførligt, som sin egen anvendelse af Naval Battle.

Bemærk: Denne artikel bruger Eclipse i alle tilfælde, så nogle muligheder kan variere i andre IDE. Ikke desto mindre skal mulighederne være ret ens, hvis du bruger JCreator, men denne artikel er ikke særlig relevant, hvis du bruger en IDE-baserede GUI, såsom NetBeans, på grund af deres metode til "drag and drop" (træk og klik ) imbutido.

trin

Billedbetegnelse Lav et GUI-net i Java Trin 1
1
Opret et nyt Java-projekt. Dette trin er ret simpelt. Åbn din IDE og opret et nyt projekt, navngive det som du vil. I dette eksempel bruger vi navnet "buttongrid".
  • Det givne navn gør ikke noget meget, da det kun er navnet på projektfilen.

  • Billedbetegnelse Lav et GUI-net i Java Trin 2

    Video: Minecraft: How to Build a Simple Laser Door

    2
    Opret en klasse i Java med en hovedmetode. Opret en ny klasse med det navn, du foretrækker. I dette eksempel bruger vi navnet "buttongrid". Hvis du bruger Eclipse, skal du tjekke indstillingen, der siger "Statisk statisk tomrum (streng [] args)" for at undgå at indtaste dette i den nye klasse.
    • Klassenavnet er vigtigere end projektnavnet, da det skal være et unikt ord, der skal bruges af Java.

  • Billedbetegnelse Lav et GUI-net i Java Trin 3
    3
    Import biblioteker. Bibliotekerne indeholder alle de oplysninger, du har brug for til at begynde at skrive din kode. Du skal importere javax.swing.JFrame, javax.swing.JButton og java.awt.GridLayout klasser, der altid bruger "importen" "og erstatte""ved navn på de klasser, der allerede er angivet. Importangivelser er placeret i begyndelsen af ​​java-filen, uanset ordren.
  • Billedbetegnelse Lav et GUI-net i Java Trin 4
    4
    Opret en konstruktør. Konstruktøren vil generere en ny forekomst af klassen "buttongrid", der tillader hver enkelt af dem at have deres egne egenskaber. Alle konstruktører skal kaldes med samme navn som deres klasser. Bygherrer har ikke brug for nogen kommando før dem, men "offentlig" er normalt placeret for nem ekstern reference. Konstruktører er også konstant de første metoder i hver klasse, der kommer lige efter klassenavnet (og altid inden for klassens omfang). I tilfælde af buttongridkonstruktoren i vores eksempel modtager det to parametre: to heltal, "x" og "y".
  • Billedbetegnelse Lav et GUI-net i Java Trin 5
    5
    Opret en ramme:
    1. Rammen har et navn. For at sikre, at det kan henvises uden for ButtonGrid-konstruktøren, skal du placere det uden for konstruktormetoden, men stadig inden for klassen. De fleste variabler erklæres øverst i klassen, før konstruktormetoden. For at oprette en ny ramme skal du blot skrive "JFrame frame = new JFrame () ;"

    2. Inden for konstruktormetoden skal du sørge for at alle knapper er inde i GridLayout. For at gøre dette skal du indstille rammerne korrekt ved at skrive "frame.setLayout (nyt GridLayout (x, y)) -

    3. Selvom det ikke er obligatorisk, hvis du vil have programmet til at lukke ned, når du klikker på "X" i øverste højre hjørne af rammen af ​​vinduet, skal du indtaste følgende kodestykke: "frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) ;"

    4. For at gøre rammen har den passende størrelse for at alt skal passe ind i det, skal du køre pakken med kommandoen: "frame.pack () ;"

    5. Endelig, for at gøre rammen synlig, skal du indtaste kommandoen "" frame.setVisible (true) - "

  • Billedbetegnelse Lav et GUI-net i Java Trin 6
    6
    Opret et gitter med knapper:
    1. De knapper, som brugeren skal samhandle med, skal stadig laves, men da vi stadig ikke ved, hvor mange knapper vi har brug for, skal de først erklæres. Så, under linjen, hvor du erklærede rammen, erklærer du også en række knapper: "JButton [] [] grid". De to parenteser, "[] []", tjener til at angive, at vi har at gøre med et todimensionelt array. Vi kunne kun bruge "[]", hvilket kun angiver en liste over JButton-objekter, men i tilfælde af en GridLayout er det lettere at tænke på knapperne som en del af en matrix.

    2. JButton-vektoren er allerede blevet erklæret, men vi skal stadig angive, hvor mange af dem der skal bruges. Tilføj blot en kode kode i konstruktøren, der angiver antallet af knapper: "grid = ny JButton [bredde] [længde]" -

    3. Nu da det allerede er fastslået, at vi vil have en række knapper, skal hver enkelt oprettes individuelt. Den nemmeste måde at gøre dette på er med to "for" løkker, en for den første dimension af arrayet og en for den anden. Inden for de to løkker vil vi instantiere en ny knap, og for at lette referencer vil vi i dette eksempel placere en tekst inde i hver knap for at vide, hvor hver enkelt er i den todimensionelle vektor. For at instantiere en knap skal du blot placere kommandoen "grid [x] [y] = ny JButton (" + x + "," + y + ")") - "i den inderste loop.

  • Billedbetegnelse Lav et GUI-net i Java Trin 7
    7
    Tilføj knapper til rammen. Inden for sløjfen skal du sætte knapperne inde i rammen, en ganske enkel kommando: "frame.add (grid [x] [y]) ;"
  • Billedbetegnelse Lav et GUI-net i Java Trin 8
    8
    Instant en ButtonGrid. I hovedklassen skal du skrive "ny ButtonGrid (3.3) ;". I dette eksempel vil der blive genereret et gitter 3x3, der er muligt at erstatte disse værdier med andre positive tal.


  • Billedbetegnelse Lav et GUI-net i Java Trin 9
    9

    Video: How to create an app icon in Illustrator

    Tænd programmet. For at gøre dette i Eclipse skal du bare trykke på Ctrl + F11.
  • Billedbetegnelse Lav et GUI-net i Java Trin 10
    10
    Få mere at vide om Java: https://java.sun.com/j2se/1.4.2/docs/api/index-files/index-1.html
    1. Udfordring: Få knapperne til at udføre nogle handlinger med actionListener () metoder.
  • Kodeuddrag

    • Klasse Main:

    Video: AppLab - LoginApp (del 2: database)

    offentlig klasse ButtonGrid {offentlig statisk tomrum hoved (String [] args) {}}
    • Liste over importerede klasser:
    importer javax.swing.JFrame-import javax.swing.JButton-import java.awt.GridLayout-offentlig klasse ButtonGrid {...
    • Builder kode:
    offentlig klasse ButtonGrid {offentlig ButtonGrid (int bredde, int længde) {}} ...
    • Ramme kode:

    Video: SAP GUI Scripting 1 - Running scripts from Excel

    public class ButtonGrid {ramme = nye JFrame JFrame () - offentlig ButtonGrid (int bredde, int længde) {frame.setLayout (ny gitterlayout (bredde, længde)) - frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) -frame.pack () - frame.setVisible (true) -}} ...
    • ButtonGrid kode:
    | JFrame frame = new JFrame () - // Opretter frameJButton [] [] // net- Rames buttonspublic ButtonGrid af risten (int bredde, int længde) {// constructor med 2 parametersframe.setLayout (ny gitterlayout (bredde, længde )) - // September layout af framegrid = ny JButton [bredde] [længde] - // tildele størrelsen af ​​gridfor (int y = y 0-
    • Tilføjelse af knapper til rammen:
    for (int y = 0-y
    • Oprettelse af en ButtonGrid-instans:
    offentlig statisk tomgang hoved (String [] args) {ny ButtonGrid (3,3) - // gør ny ButtonGrid med 2 parametre} ...
    • Endelig kode:
    // Import importerer javax.swing.JFrame- JFrame libraryimport javax.swing.JButton- // // Import JButton libraryimport java.awt.GridLayout- import gitter layout klasse librarypublic ButtonGrid {JFrame frame = new JFrame () - // Opretter frameJButton [ ] [] // net- Rames buttonspublic ButtonGrid af gitteret (int bredde, int længde) {//constructorframe.setLayout(new gitterlayout (bredde, længde)) - // September layoutgrid = ny JButton [bredde] [længde] - // tildele størrelsen af ​​gridfor (int y = 0- y
    Del på sociale netværk:

    Relaterede
    © 2024 HodTari.com