Swing In Java: Dowiedz się, jak tworzyć GUI z przykładami

: zdobądź koncepcję swing w java z hierarchią klas swingowych i menedżerem układu z praktyczną demonstracją aplikacji GUI.

Swing w java jest częścią klasy Java Foundation, która jest lekka i niezależna od platformy. Służy do tworzenia aplikacji okienkowych. Zawiera elementy takie jak przycisk, pasek przewijania, pole tekstowe itp. Połączenie tych wszystkich elementów tworzy graficzny interfejs użytkownika. W tym artykule omówimy koncepcje związane z procesem budowania aplikacji za pomocą swing in . Poniżej przedstawiono koncepcje omówione w tym artykule:



Co to jest Swing w Javie?

Swing in Java to lekki zestaw narzędzi z interfejsem graficznym, który zawiera szeroką gamę widżetów do tworzenia zoptymalizowanych aplikacji opartych na oknach. Jest częścią JFC (Java Foundation Classes). Jest zbudowany na bazie API AWT i w całości napisany w . W przeciwieństwie do AWT jest niezależny od platformy i zawiera lekkie komponenty.



Tworzenie aplikacji staje się łatwiejsze, ponieważ mamy już elementy GUI, takie jak przycisk, pole wyboru itp. Jest to pomocne, ponieważ nie musimy zaczynać od zera.

Klasa kontenera

Każdy który zawiera inne komponenty jest nazywany klasą kontenera. Do budowania aplikacji GUI potrzebna jest przynajmniej jedna klasa kontenera.



Poniżej przedstawiono trzy typy klas kontenerów:

  1. Panel - służy do organizowania komponentów w oknie

  2. Ramka - w pełni funkcjonalne okno z ikonami i tytułami



  3. Okno dialogowe - jest jak wyskakujące okienko, ale nie w pełni funkcjonalne jak ramka

Różnica między AWT a Swing

AWT HUŚTAWKA
  • Zależne od platformy
  • Niezależny od platformy
  • Nie jest zgodny z MVC
  • Podąża za MVC
  • Mniejsze komponenty
  • Mocniejsze komponenty
  • Nie obsługuje wyglądu i dotyku wtykowego
  • Obsługuje wygląd i styl wtyczki
  • Waga ciężka
  • Lekki

Hierarchia klas Swing Java

huśtawka hierarchii w java-edureka

Wyjaśnienie : Wszystkie komponenty w ruchu, takie jak JButton, JComboBox, JList, JLabel są dziedziczone z klasy JComponent, którą można dodać do klas kontenerów. Kontenery to okna, takie jak ramka i okna dialogowe. Podstawowe komponenty huśtawki są elementami składowymi każdej aplikacji GUI. Metody takie jak setLayout zastępują domyślny układ w każdym kontenerze. Kontenery, takie jak JFrame i JDialog, mogą dodawać tylko komponent do siebie. Poniżej znajduje się kilka elementów z przykładami, aby zrozumieć, jak możemy ich używać.

Klasa JButton

Służy do tworzenia przycisku z etykietą. Użycie ActionListener spowoduje pewne działanie po naciśnięciu przycisku. Dziedziczy klasę AbstractButton i jest niezależny od platformy.

Przykład:

import javax.swing. * public class przykład {public static void main (String args []) {JFrame a = new JFrame ('example') JButton b = new JButton ('click me') b.setBounds (40,90, 85,20) a.add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}

Wynik:

jak uruchomić php w systemie Windows 10

Klasa JTextField

Dziedziczy klasę JTextComponent i służy do edycji tekstu jednowierszowego.

Przykład:

import javax.swing. * public class przykład {public static void main (String args []) {JFrame a = new JFrame ('example') JTextField b = new JTextField ('edureka') b.setBounds (50,100,200,30) a .add (b) a.setSize (300,300) a.setLayout (null) a.setVisible (true)}}

Wynik:

JScrollBar Class

Służy do dodawania paska przewijania, zarówno poziomego, jak i pionowego.

Przykład:

import javax.swing. * klasa przykład {example () {JFrame a = new JFrame ('example') JScrollBar b = new JScrollBar () b.setBounds (90,90,40,90) a.add (b) a. setSize (300,300) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {nowy przykład ()}}

Wynik:

java co to jest instancja

Klasa JPanel

Dziedziczy klasę JComponent i zapewnia miejsce na aplikację, do której można dołączyć dowolny inny komponent.

import java.awt. * import javax.swing. * public class Przykład {Example () {JFrame a = new JFrame ('example') JPanel p = new JPanel () p.setBounds (40,70,200,200) JButton b = new JButton ('kliknij mnie') b.setBounds (60,50,80,40) p.add (b) a.add (p) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} public static void main (String args []) {nowy przykład ()}}

Wynik:

JMenu Clas s

Dziedziczy klasę JMenuItem i jest składnikiem menu rozwijanego, który jest wyświetlany z paska menu.

import javax.swing. * class Przykład {JMenu menu JMenuItem a1, a2 Example () {JFrame a = new JFrame ('Example') menu = new JMenu ('options') JMenuBar m1 = new JMenuBar () a1 = new JMenuItem ( 'example') a2 = new JMenuItem ('example1') menu.add (a1) menu.add (a2) m1.add (menu) a.setJMenuBar (m1) a.setSize (400,400) a.setLayout (null) a .setVisible (true)} public static void main (String args []) {nowy Przykład ()}}

Wynik:

Klasa JList

Dziedziczy klasę JComponent, obiekt klasy JList reprezentuje listę elementów tekstowych.

import javax.swing. * public class Przykład {Example () {JFrame a = new JFrame ('example') DefaultListModel l = new DefaultListModel () l.addElement ('first item') l.addElement ('second item') JList b = new JList (l) b.setBounds (100,100,75,75) a.add (b) a.setSize (400,400) a.setVisible (true) a.setLayout (null)} public static void main (String args [ ]) {nowy przykład ()}}

Wynik:

Klasa JLabel

Służy do umieszczania tekstu w kontenerze. Dziedziczy również klasę JComponent.

import javax.swing. * public class Przykład {public static void main (String args []) {JFrame a = new JFrame ('example') JLabel b1 b1 = new JLabel ('edureka') b1.setBounds (40,40, 90,20) a.add (b1) a.setSize (400,400) a.setLayout (null) a.setVisible (true)}}

Wynik:

jak zostać programistą tableau

Klasa JComboBox

Dziedziczy klasę JComponent i służy do wyświetlania menu podręcznego z opcjami.

import javax.swing. * public class Przykład {JFrame a Example () {a = new JFrame ('example') stringourses [] = {'core java', 'advanced java', 'java servlet'} JComboBox c = new JComboBox (kursy) c.setBounds (40,40,90,20) a.add (c) a.setSize (400,400) a.setLayout (null) a.setVisible (true)} public static void main (String args [] ) {nowy przykład ()}}

Wynik:

Menedżer układu

Do rozmieszczenia komponentów wewnątrz kontenera używamy menedżera układu. Poniżej znajduje się kilka menedżerów układu:

  1. Układ obramowania

  2. Układ przepływu

  3. Układ GridBag

Układ obramowania

Domyślnym menedżerem układu dla każdej ramki JFrame jest BorderLayout. Umieszcza komponenty w maksymalnie pięciu miejscach, czyli na górze, na dole, po lewej, po prawej i na środku.

Układ przepływu

FlowLayout po prostu układa komponenty w rzędzie jeden po drugim, jest to domyślny menedżer układu dla każdego JPanel.

Układ GridBag

GridBagLayout umieszcza komponenty w siatce, która pozwala komponentom rozciągać się na więcej niż jedną komórkę.

Przykład: ramka czatu

import javax.swing. * import java.awt. * class Przykład {public static void main (String args []) {JFrame frame = new JFrame ('Chat Frame') frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) frame.setSize (400 , 400) JMenuBar ob = new JMenuBar () JMenu ob1 = new JMenu ('FILE') JMenu ob2 = new JMenu ('Help') ob.add (ob1) ob.add (ob2) JMenuItem m11 = new JMenuItem ('Open ') JMenuItem m22 = new JMenuItem (' Save as ') ob1.add (m11) ob1.add (m22) JPanel panel = new JPanel () // panel nie jest widoczny na wyjściu JLabel label = new JLabel (' Enter Text ') JTextField tf = new JTextField (10) // akceptuje do 10 znaków JButton send = new JButton (' Send ') JButton reset = new JButton (' Reset ') panel.add (label) // Komponenty dodane za pomocą panelu Flow Layout .add (label) // Komponenty dodane za pomocą Flow Layout panel.add (tf) panel.add (send) panel.add (reset) JTextArea ta = new JTextArea () frame.getContentPane (). add (BorderLayout.SOUTH, panel ) frame.getContentPane (). add (BorderLayout.NORTH, tf) frame.getContentPane (). add (Border Layout.CENTER, ta) frame.setVisible (true)}}

To jest prosty przykład tworzenia GUI przy użyciu swing w Javie.

W tym artykule omówiliśmy swing w Javie i hierarchię klas swingowych w Javie. Dzięki wszystkim komponentom, które są dostarczane z swingiem w Javie, tworzenie zoptymalizowanych aplikacji GUI staje się łatwiejsze. Język programowania Java jest ustrukturyzowanym językiem programowania, a wraz z rosnącym zapotrzebowaniem niezwykle ważne staje się opanowanie wszystkich pojęć zawartych w programie . Aby rozpocząć naukę i zostać ekspertem w programowaniu Java, zarejestruj się w Edureka's .

Masz do nas pytanie? wspomnij o tym w sekcji komentarzy tego artykułu „Swing In Java”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.