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 Java Swing?
- Klasa kontenera
- Różnica między AWT a Swing
- Hierarchia klas Swing Java
- Menedżer układu
- Przykładowa ramka czatu
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:
Panel - służy do organizowania komponentów w oknie
Ramka - w pełni funkcjonalne okno z ikonami i tytułami
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 |
|
|
|
|
|
|
|
|
|
|
Hierarchia klas Swing Java
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:
Układ obramowania
Układ przepływu
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.