Oscillazione è una libreria Java Foundation Classes [JFC] e un'estensione di Abstract Window Toolkit [AWT]. Java Swing offre funzionalità molto migliorate rispetto ad AWT, nuovi componenti, funzionalità dei componenti ampliate e un'eccellente gestione degli eventi con supporto drag-and-drop.
Introduzione di Java Swing
Swing ha circa quattro volte il numero di componenti dell'interfaccia utente [UI] di AWT e fa parte della distribuzione Java standard. Secondo gli odierni requisiti della GUI dell'applicazione, AWT è un'implementazione limitata, non del tutto in grado di fornire i componenti richiesti per lo sviluppo di GUI complesse richieste nelle moderne applicazioni commerciali. Il set di componenti AWT presenta alcuni bug e occupa molte risorse di sistema rispetto alle risorse Swing equivalenti. Netscape ha introdotto la sua libreria Internet Foundation Classes [IFC] da utilizzare con Java. Le sue classi sono diventate molto popolari tra i programmatori che creano GUI per applicazioni commerciali.
- Swing è un insieme di API (API-insieme di classi e interfacce)
- Swing viene fornito per progettare interfacce utente grafiche
- Swing è una libreria di estensione dell'AWT (Abstract Window Toolkit) 17:00 – 17:30
- Include componenti nuovi e migliorati che hanno migliorato l'aspetto e la funzionalità delle GUI
- Swing può essere utilizzato per creare (sviluppare) le app GUI swing autonome come servlet e applet
- Impiega un'architettura di progettazione modello/vista.
- Swing è più portatile e più flessibile dell'AWT, lo Swing è costruito sopra l'AWT.
- Swing è interamente scritto in Java.
- I componenti Java Swing sono indipendenti dalla piattaforma e i componenti Swing sono leggeri.
- Swing supporta un aspetto plug-in e Swing fornisce componenti più potenti.
- come tabelle, elenchi, riquadri di scorrimento, Colorchooser, riquadro a schede, ecc.
- Ulteriore oscillazione segue MVC.
Differenza tra Java Swing e Java AWT
Esistono alcuni punti in cui Java Swing è diverso da Java AWT, come indicato di seguito:
| JavaAWT | Altalena Java gimp rimuove la filigrana |
|---|---|
| Java AWT è un'API per sviluppare applicazioni GUI in Java. | Swing fa parte delle Java Foundation Classes e viene utilizzato per creare varie applicazioni. |
| I componenti di AWT hanno un peso elevato. | I componenti di Java Swing sono leggeri. |
| I componenti dipendono dalla piattaforma. | I componenti sono indipendenti dalla piattaforma. |
| Il tempo di esecuzione è più dello swing. | Il tempo di esecuzione è inferiore all'AWT. |
| I componenti AWT richiedono il pacchetto java.awt. | I componenti Swing richiedono il pacchetto javax.swing. |
Per saperne di più sull'argomento fare riferimento a Java Swing contro Java AWT .
Cos'è JFC?
JFC sta per Java Foundation Classes. JFC è l'insieme di componenti GUI che semplificano le applicazioni desktop. Molti programmatori pensano che JFC e Swing siano la stessa cosa, ma non è così. JFC contiene Swing [un pacchetto di componenti dell'interfaccia utente] e un certo numero di altri elementi:
- Taglia e incolla: supporto degli Appunti.
- Funzionalità di accessibilità: mirate allo sviluppo di GUI per utenti con disabilità.
- Le funzionalità dei colori del desktop sono state introdotte per la prima volta in Java 1.1
- Java 2D: ha colori, immagini e supporto testo migliorati.
Caratteristiche della lezione di swing
- Aspetto collegabile.
- Utilizza l'architettura MVC.
- Componenti leggeri
- Piattaforma indipendente
- Funzionalità avanzate come JTable, JTabbedPane, JScollPane, ecc.
- Java è un linguaggio indipendente dalla piattaforma e funziona su qualsiasi macchina client, l'aspetto della GUI, posseduto e fornito da un sistema operativo specifico della piattaforma, semplicemente non influisce sulla GUI di un'applicazione costruita utilizzando i componenti Swing.
- Componenti leggeri: A partire dal JDK 1.1, lo sviluppo di componenti leggeri supportato da AWT. Affinché un componente sia considerato leggero, non deve dipendere da alcuna classe di sistema non Java [basata su O/s). I componenti Swing hanno la propria visualizzazione supportata dalle classi look and Feel di Java.
- Aspetto e sensazione collegabili: Questa funzionalità consente all'utente di cambiare l'aspetto dei componenti Swing senza riavviare un'applicazione. La libreria Swing supporta l'aspetto dei componenti che rimangono gli stessi su tutte le piattaforme ovunque venga eseguito il programma. La libreria Swing fornisce un'API che offre una reale flessibilità nel determinare l'aspetto della GUI di un'applicazione
- Altamente personalizzabile – I controlli di oscillazione possono essere personalizzati in modo molto semplice poiché l'aspetto visivo è indipendente dalla rappresentazione interna.
- Controlli ricchi – Swing fornisce un ricco set di controlli avanzati come Tree TabbedPane, slider, colorpicker e controlli tabella.
Gerarchia delle classi Swing

La connessione MVC
- In generale, una componente visiva è composta da tre aspetti distinti:
- Il modo in cui appare il componente quando viene eseguito il rendering sullo schermo.
- Il modo in cui il componente reagisce all'utente.
- Le informazioni sullo stato associate al componente.
- Nel corso degli anni, l’architettura a un componente si è rivelata eccezionalmente efficace: – Modello-View-Controller O MVC in breve.
- Nella terminologia MVC, il modello corrisponde alle informazioni sullo stato associate al componente.
- IL visualizzazione determina la modalità di visualizzazione del componente sullo schermo, inclusi eventuali aspetti della vista influenzati dallo stato corrente del modello.
- IL controllore determina come il componente reagisce all'utente.
I componenti Swing più semplici hanno capacità che vanno ben oltre i componenti AWT come segue:
- I pulsanti e le etichette Swing possono visualizzare immagini al posto o in aggiunta al testo.
- I bordi attorno alla maggior parte dei componenti Swing possono essere modificati facilmente. Ad esempio, è semplice inserire un bordo di 1 pixel attorno all'esterno di un'etichetta Swing.
- I componenti dell'oscillazione non devono essere rettangolari. I pulsanti, ad esempio, possono essere rotondi.
- Ora le ultime tecnologie assertive come gli screen reader possono facilmente ottenere informazioni dai componenti Swing. Esempio: uno strumento di lettura dello schermo può acquisire facilmente il testo visualizzato su un pulsante o un'etichetta Swing.
Esempio di programmi Java Swing
Esempio 1: sviluppare un programma utilizzando l'etichetta (swing) per visualizzare il messaggio GFG WEB Site Fare clic su:
Giava
ordinare l'heap
// Java program using label (swing)> // to display the message GFG WEB Site Click> import> java.io.*;> import> javax.swing.*;> // Main class> class> GFG {> >// Main driver method> >public> static> void> main(String[] args)> >{> >// Creating instance of JFrame> >JFrame frame =>new> JFrame();> >// Creating instance of JButton> >JButton button =>new> JButton(>' GFG WebSite Click'>);> >// x axis, y axis, width, height> >button.setBounds(>150>,>200>,>220>,>50>);> >// adding button in JFrame> >frame.add(button);> >// 400 width and 500 height> >frame.setSize(>500>,>600>);> >// using no layout managers> >frame.setLayout(>null>);> >// making the frame visible> >frame.setVisible(>true>);> >}> }> |
>
film
>
Produzione:

Esempio 2: scrivere un programma per creare tre pulsanti con didascalia OK, INVIA, ANNULLA.
Giava
// Java program to create three buttons> // with caption OK, SUBMIT, CANCEL> import> java.awt.*;> class> button {> >button()> >{> >Frame f =>new> Frame();> >// Button 1 created> >// OK button> >Button b1 =>new> Button(>'OK'>);> >b1.setBounds(>100>,>50>,>50>,>50>);> >f.add(b1);> >// Button 2 created> >// Submit button> >Button b2 =>new> Button(>'SUBMIT'>);> >b2.setBounds(>100>,>101>,>50>,>50>);> >f.add(b2);> > >// Button 3 created> >// Cancel button> >Button b3 =>new> Button(>'CANCEL'>);> >b3.setBounds(>100>,>150>,>80>,>50>);> >f.add(b3);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String a[]) {>new> button(); }> }> |
>
>
Produzione:

Comando Linux per zip
Esempio 3: Programma per aggiungere una casella di controllo nel frame
Giava
// Java Swing Program to Add Checkbox> // in the Frame> import> java.awt.*;> // Driver Class> class> Lan {> >// Main Function> >Lan()> >{> >// Frame Created> >Frame f =>new> Frame();> >Label l1 =>new> Label(>'Select known Languages'>);> >l1.setBounds(>100>,>50>,>120>,>80>);> >f.add(l1);> >// CheckBox created> >Checkbox c2 =>new> Checkbox(>'Hindi'>);> >c2.setBounds(>100>,>150>,>50>,>50>);> >f.add(c2);> >// CheckBox created> >Checkbox c3 =>new> Checkbox(>'English'>);> >c3.setBounds(>100>,>200>,>80>,>50>);> >f.add(c3);> >// CheckBox created> >Checkbox c4 =>new> Checkbox(>'marathi'>);> >c4.setBounds(>100>,>250>,>80>,>50>);> >f.add(c4);> >f.setSize(>500>,>500>);> >f.setLayout(>null>);> >f.setVisible(>true>);> >}> >public> static> void> main(String ar[]) {>new> Lan(); }> }> |
>
>
Produzione:

Componenti di Swing Class: percentuale dell'attività
| Classe | Descrizione |
|---|---|
| Componente | Un componente è la classe base astratta per i controlli dell'interfaccia utente non menu di Java SWING. I componenti rappresentano un oggetto con una rappresentazione grafica. |
| Contenitore | Un contenitore è un componente che può contenere componenti Java SWING |
| JComponente | Un JComponent è una classe base per tutti i componenti dell'interfaccia utente swing. Per poter utilizzare un componente swing che eredita da JComponent, il componente deve trovarsi in una gerarchia di contenimento la cui radice è un contenitore Java Swing di livello superiore. |
| JLabel | Una JLabel è un componente oggetto per posizionare il testo in un contenitore. |
| JPulsante | Questa classe crea un pulsante etichettato. |
| JColorChooser | Un JColorChooser fornisce un riquadro di controlli progettato per consentire all'utente di manipolare e selezionare un colore. |
| JCheckBox | Un JCheckBox è un componente grafico (GUI) che può trovarsi nello stato attivato (vero) o disattivato (falso). |
| JRadioButton | La classe JRadioButton è un componente grafico (GUI) che può trovarsi nello stato on (vero) o off (falso). nel gruppo |
| JList | Un componente JList rappresenta l'utente con l'elenco scorrevole di elementi di testo. |
| JComboBox | Un componente JComboBox presenta all'utente un menu di scelte visualizzato. |
| JTextField | Un oggetto JTextField è un componente di testo che consentirà la modifica di una singola riga di testo. |
| JPasswordField | Un oggetto JPasswordField è un componente di testo specializzato per l'immissione di password. |
| JTextArea | Un oggetto JTextArea è un componente di testo che consente la modifica di più righe di testo. |
| Imagelcon | Un controllo ImageIcon è un'implementazione dell'interfaccia Icon che disegna icone da immagini |
| JScrollbar | Un controllo JScrollbar rappresenta un componente della barra di scorrimento per consentire agli utenti di selezionare da valori di intervallo. |
| JOptionPane | JOptionPane fornisce una serie di finestre di dialogo standard che richiedono agli utenti un valore o qualcosa. |
| JFileChooser | Un JFileChooser che controlla rappresenta una finestra di dialogo dalla quale l'utente può selezionare un file. |
| JProgressBar | Man mano che l'attività avanza verso il completamento, la barra di avanzamento visualizza la percentuale delle attività al suo completamento. |
| JSlides | Un JSlider di questa classe consente all'utente di selezionare graficamente (GUI) utilizzando un valore facendo scorrere una manopola entro un intervallo limitato. |
| JSpinner | Un JSpinner questa classe è un input a riga singola in cui il campo che consente all'utente di selezionare utilizzando un numero o un valore di oggetto da una sequenza ordinata. |