Java Swing Vodič: Kako stvoriti GUI aplikaciju u Java

Što je Swing in Java?

Zaljuljajte se Java je alat za grafičko korisničko sučelje (GUI) koji uključuje komponente GUI-ja. Swing nudi bogat skup widgeta i paketa za izradu sofisticiranih GUI komponenti Java aplikacije. Swing je dio Java Foundation Classes (JFC), koji je API za Java GUI programiranje koje pruža GUI.

Korištenje električnih romobila ističe Java Swing biblioteka izgrađena je na vrhu Java Komplet alata za sažetak widgeta (A.W.T.), stariji GUI alat ovisan o platformi. Možete koristiti Java jednostavne GUI programske komponente kao što su gumb, tekstni okvir itd., iz biblioteke i ne morate stvarati komponente od nule.

U ovom Java Swing tutorial, naučit ćete Java Osnove GUI-a kao što su-

Java Hijerarhijski dijagram Swing klase

Java Dijagram hijerarhije Swing klase
Java Dijagram hijerarhije Swing klase

Sve komponente u Java Swing je JComponent koja se može dodati klasama kontejnera.

Što je klasa spremnika?

Klase spremnika su klase koje mogu imati druge komponente na sebi. Dakle, za stvaranje a Java Swing GUI, trebamo barem jedan objekt spremnika. Postoje 3 vrste Java Swing kontejneri.

  1. Ploča: To je čisti spremnik i nije prozor sam po sebi. Jedina svrha panela je organizirati komponente na prozoru.
  2. Okvir: To je potpuno funkcionalan prozor sa svojim naslovom i ikonama.
  3. dijalog: Može se zamisliti kao skočni prozor koji iskače kada se poruka mora prikazati. To nije potpuno funkcionalan prozor kao Frame.

U čemu je GUI Java?

GUI (grafičko korisničko sučelje) u Java je alat za izgradnju vizualnog iskustva jednostavan za korištenje Java aplikacije. Uglavnom se sastoji od grafičkih komponenti poput gumba, natpisa, prozora itd. putem kojih korisnik može komunicirati s aplikacijom. GUI igra važnu ulogu za izradu jednostavnih sučelja Java aplikacija.

Kako napraviti GUI u Java s Primjerom

Sada u ovome Java GUI Tutorial, hajde da shvatimo kako stvoriti GUI u Java sa Swings in Java primjeri.

Korak 1) Kopirajte kod u editor
U prvom koraku kopirajte sljedeći kod u editor.

import javax.swing.*;
class gui{
    public static void main(String args[]){
       JFrame frame = new JFrame("My First GUI");
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
       frame.setSize(300,300);
       JButton button = new JButton("Press");
       frame.getContentPane().add(button); // Adds Button to content pane of frame
       frame.setVisible(true);
    }
}

Korak 2) Pokrenite kod
Sljedeći korak, Spremite, kompajlirajte i pokrenite kod

Korak 3) Kopirajte sljedeći kod u editor
Dodajmo sada gumb našem okviru. Kopirajte sljedeći kod u editor iz zadanog Java Primjer korisničkog sučelja

import javax.swing.*;
   class gui{
      public static void main(String args[]){
        JFrame frame = new JFrame("My First GUI");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300,300);
       JButton button1 = new JButton("Press");
       frame.getContentPane().add(button1);
       frame.setVisible(true);
     }
}
Korak 4) Izvršite kod
Zatim, izvršite kod. Dobit ćete veliki gumb.


Java GUI primjer

Korak 5) Dodajte dva gumba

Što kažete na dodavanje dva gumba? Kopirajte sljedeći kod u editor.

import javax.swing.*;
class gui{
      public static void main(String args[]){
           JFrame frame = new JFrame("My First GUI");
           frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           frame.setSize(300,300);
          JButton button1 = new JButton("Button 1");
          JButton button2 = new JButton("Button 2");
          frame.getContentPane().add(button1);
          frame.getContentPane().add(button2);
          frame.setVisible(true);
     }
}

Korak 6) Spremite i pokrenite program
Zatim spremite, kompajlirajte i pokrenite program.

Korak 7) Provjerite izlaz
Neočekivani rezultat =? Gumbi se preklapaju.


Java Upravitelj izgleda

Upravitelj izgleda koristi se za raspored (ili sređivanje) GUI-ja Java komponente unutar spremnika. Postoji mnogo upravitelja izgleda, ali najčešće korišteni su:

Java BorderLayout

A BorderLayout postavlja komponente u najviše pet područja: gore, dolje, lijevo, desno i središte. To je zadani upravitelj izgleda za svaki java JFrame

Java BorderLayout
Java BorderLayout

Java FlowLayout

FlowLayout je zadani upravitelj izgleda za svaki JPanel. Jednostavno postavlja komponente u jedan red jednu za drugom.

Java FlowLayout
Java FlowLayout

Java GridBagLayout

To je sofisticiraniji od svih izgleda. Poravnava komponente postavljajući ih unutar rešetke ćelija, dopuštajući komponentama da obuhvaćaju više od jedne ćelije.

Java GridBagLayout

Java GridBagLayout

Korak 8) Stvorite okvir za razgovor
Što kažete na stvaranje okvira za chat kao što je dolje?


Primjer Java GUI

Pokušajte sami kodirati prije nego pogledate program u nastavku.

//Usually you will require both swing and awt packages
// even if you are working with just swings.
import javax.swing.*;
import java.awt.*;
class gui {
    public static void main(String args[]) {

        //Creating the Frame
        JFrame frame = new JFrame("Chat Frame");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 400);

        //Creating the MenuBar and adding components
        JMenuBar mb = new JMenuBar();
        JMenu m1 = new JMenu("FILE");
        JMenu m2 = new JMenu("Help");
        mb.add(m1);
        mb.add(m2);
        JMenuItem m11 = new JMenuItem("Open");
        JMenuItem m22 = new JMenuItem("Save as");
        m1.add(m11);
        m1.add(m22);

        //Creating the panel at bottom and adding components
        JPanel panel = new JPanel(); // the panel is not visible in output
        JLabel label = new JLabel("Enter Text");
        JTextField tf = new JTextField(10); // accepts upto 10 characters
        JButton send = new JButton("Send");
        JButton reset = new JButton("Reset");
        panel.add(label); // Components Added using Flow Layout
        panel.add(tf);
        panel.add(send);
        panel.add(reset);

        // Text Area at the Center
        JTextArea ta = new JTextArea();

        //Adding Components to the frame.
        frame.getContentPane().add(BorderLayout.SOUTH, panel);
        frame.getContentPane().add(BorderLayout.NORTH, mb);
        frame.getContentPane().add(BorderLayout.CENTER, ta);
        frame.setVisible(true);
    }
}

opširnije Čitaj više