Swing in java fa parte della classe di base Java che è leggera e indipendente dalla piattaforma. Viene utilizzato per creare applicazioni basate su finestre. Include componenti come pulsante, barra di scorrimento, campo di testo ecc. Mettendo insieme tutti questi componenti si crea un'interfaccia utente grafica. In questo articolo, esamineremo i concetti coinvolti nel processo di creazione di applicazioni utilizzando swing in . Di seguito sono riportati i concetti discussi in questo articolo:
- Cos'è Java Swing?
- Classe contenitore
- Differenza tra AWT e Swing
- Gerarchia di classi Java Swing
- Gestore layout
- Frame di chat di esempio
Cos'è Swing In Java?
Swing in Java è un toolkit GUI leggero che ha un'ampia varietà di widget per la creazione di applicazioni basate su finestre ottimizzate. Fa parte delle JFC (Java Foundation Classes). È basato sull'API AWT e interamente scritto in formato . È indipendente dalla piattaforma a differenza di AWT e ha componenti leggeri.
Diventa più facile creare applicazioni poiché abbiamo già componenti GUI come pulsanti, caselle di controllo, ecc. Questo è utile perché non dobbiamo ricominciare da capo.
Classe contenitore
Qualunque che ha altri componenti in esso viene chiamato come classe contenitore. Per la creazione di applicazioni GUI è necessaria almeno una classe contenitore.
Di seguito sono riportati i tre tipi di classi contenitore:
Pannello: viene utilizzato per organizzare i componenti in una finestra
Frame: una finestra completamente funzionante con icone e titoli
Finestra di dialogo: è come una finestra pop-up ma non completamente funzionale come la cornice
Differenza tra AWT e Swing
AWT | SWING |
|
|
|
|
|
|
|
|
|
|
Gerarchia di classi Java Swing
Spiegazione : Tutti i componenti in swing come JButton, JComboBox, JList, JLabel sono ereditati dalla classe JComponent che può essere aggiunta alle classi container. I contenitori sono le finestre come la cornice e le finestre di dialogo. I componenti swing di base sono gli elementi costitutivi di qualsiasi applicazione GUI. Metodi come setLayout sovrascrivono il layout predefinito in ogni contenitore. Contenitori come JFrame e JDialog possono solo aggiungere un componente a se stesso. Di seguito sono riportati alcuni componenti con esempi per capire come possiamo usarli.
Classe JButton
Viene utilizzato per creare un pulsante etichettato. L'utilizzo di ActionListener comporterà un'azione quando si preme il pulsante. Eredita la classe AbstractButton ed è indipendente dalla piattaforma.
Esempio:
import javax.swing. * esempio di classe pubblica {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)}}
Produzione:
come scrivere una classe singleton in java
Classe JTextField
Eredita la classe JTextComponent e viene utilizzato per consentire la modifica di una singola riga di testo.
Esempio:
import javax.swing. * esempio di classe pubblica {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)}}
Produzione:
Classe JScrollBar
Viene utilizzato per aggiungere la barra di scorrimento, sia orizzontale che verticale.
Esempio:
import javax.swing. * class example {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 []) {new example ()}}
Produzione:
Classe JPanel
Eredita la classe JComponent e fornisce spazio per un'applicazione che può collegare qualsiasi altro componente.
import java.awt. * import javax.swing. * public class Example {Example () {JFrame a = new JFrame ('example') JPanel p = new JPanel () p.setBounds (40,70,200,200) JButton b = new JButton ('cliccami') 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 []) {new Example ()}}
Produzione:
modi per creare una classe singleton in java
JMenu Clas S
Eredita la classe JMenuItem ed è un componente del menu a discesa che viene visualizzato dalla barra dei menu.
import javax.swing. * class Example {JMenu menu JMenuItem a1, a2 Example () {JFrame a = new JFrame ('Example') menu = new JMenu ('options') JMenuBar m1 = new JMenuBar () a1 = new JMenuItem ( 'esempio') a2 = new JMenuItem ('esempio1') 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 []) {new Example ()}}
Produzione:
Classe JList
Eredita la classe JComponent, l'oggetto della classe JList rappresenta un elenco di elementi di testo.
import javax.swing. * public class Example {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 [ ]) {nuovo esempio ()}}
Produzione:
Classe JLabel
Viene utilizzato per posizionare il testo in un contenitore. Eredita anche la classe JComponent.
import javax.swing. * public class Esempio {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)}}
Produzione:
Classe JComboBox
Eredita la classe JComponent e viene utilizzato per mostrare il menu a comparsa delle scelte.
import javax.swing. * public class Esempio {JFrame a Example () {a = new JFrame ('example') string course [] = {'core java', 'advance java', 'java servlet'} JComboBox c = new JComboBox (corsi) 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 [] ) {nuovo esempio ()}}
Produzione:
Gestore layout
Per disporre i componenti all'interno di un contenitore utilizziamo il layout manager. Di seguito sono riportati diversi gestori di layout:
cos'è il frame in java
Layout del bordo
Layout di flusso
Layout GridBag
Layout del bordo
Il gestore di layout predefinito per ogni JFrame è BorderLayout. Posiziona i componenti in un massimo di cinque posizioni: in alto, in basso, a sinistra, a destra e al centro.
Layout di flusso
FlowLayout dispone semplicemente i componenti in fila uno dopo l'altro, è il gestore di layout predefinito per ogni JPanel.
Layout GridBag
GridBagLayout inserisce i componenti in una griglia che consente ai componenti di estendersi su più di una cella.
Esempio: Chat Frame
import javax.swing. * import java.awt. * class Esempio {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 (' Salva con nome ') ob1.add (m11) ob1.add (m22) JPanel panel = new JPanel () // il pannello non è visibile nell'output JLabel label = new JLabel (' Enter Text ') JTextField tf = new JTextField (10) // accetta fino a 10 caratteri JButton send = new JButton (' Send ') JButton reset = new JButton (' Reset ') panel.add (label) // Componenti aggiunti utilizzando il pannello Flow Layout .add (label) // Componenti aggiunti utilizzando 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)}}
Questo è un semplice esempio per creare una GUI utilizzando swing in Java.
In questo articolo abbiamo discusso lo swing in Java e la gerarchia delle classi swing Java. Con tutti i componenti forniti con swing in Java, diventa più facile creare applicazioni GUI ottimizzate. Il linguaggio di programmazione Java è un linguaggio di programmazione strutturato e con la crescente domanda diventa estremamente importante padroneggiare tutti i concetti in . Per iniziare il tuo apprendimento e diventare un esperto nella programmazione Java, iscriviti a Edureka's .
Hai domande per noi? menzionalo nella sezione commenti di questo articolo 'Swing In Java' e ti risponderemo il prima possibile.