Swing on graafisen käyttöliittymän luontiin tarkoitettu käyttöliittymäkirjasto Javalle. Swingiä kehitti alun perin Netscape ja se julkaistiin 16. joulukuuta 1996.
Swingin komponentit on kirjoitettu kokonaan Javalla, eivätkä ne käytä käyttöjärjestelmän omia graafisia komponentteja Javan alkuperäisen graafisen kirjaston AWT:n tapaan. Siksi Swing-komponentteja kutsutaan "kevyiksi" ("lightweight") erotuksena AWT:n "raskaista" ("heavyweight") -komponenteista. Swingin lähestymistavan etu on se, että komponenttien voidaan taata olevan saman näköisiä ja toimivan samoin käyttöjärjestelmästä riippumatta. [1]
Swing on sisältynyt Javan standardipakettiin versionumerosta 1.2 lähtien.
Sunin vuonna 2007 julkaiseman deklaratiiviseen käyttöliittymään perustuvan JavaFX:n on ollut tarkoitus korvata perinteiseen imperatiiviseen käyttöliittymän luomiseen perustuva Swing. Swing kuuluu kuitenkin Java SE -standardiin ja toimitetaan sen mukana.[2]
import javax.swing.JFrame;
import javax.swing.JLabel;
public final class HelloWorld extends JFrame {
private HelloWorld() {
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
add(new JLabel("Hello, World!"));
pack();
setLocationRelativeTo(null);
}
public static void main(String[] args) {
new HelloWorld().setVisible(true);
}
}