SWING pada Pemrograman Java

Java Swing adalah library java yang digunkan untuk menciptakan Grafik User Interface (GUI). Dengan Java Swing kita dapat membuat user interface yang cross platform atau OS independent. Artinya user interface yang kita buat dapat dijalankan pada system operasi apa saja (OS yang suport Java) dengan tampilan yang relative sama. Bahkan kita dapat membuat user interface yang menyerupai Windows XP, Mac OS atau Linux tanpa tergantung dari OS yang kita gunakan.
Kelebihan Java SWING yaitu :
- Di bundle di dalam Java Development Kit
- Netral terhadap semua sistem operasi
- Mudah untuk dikembangkan


Komponen Dasar SWING yaitu:


    Top-level Container => merupakan container dasar di mana komponen lainnya diletakan. Contoh Top-level container ini adalah Frame, Dialog dan Applet yang diimplementasi dalam class JFrame, Jdialog, dan JApplet
    Intermediate Container => merupakan komponen perantara di mana komponen lainnya akan diletakan. Salah satu contoh container ini adalah class JPanel
    Atomic Component => merupakan komponen yang memiliki fungsi spesifik dan biasanya user berinteraksi langsung dengan komponen jenis ini. Contohnya adalah JButton, JLabel, JTextField, dan JTextArea
    Layout Manager => berfungsi untuk mengatur bagaimana posisi dari komponen – komponen yang diletakan pada container. Secara default terdapat 5 macam layout yaitu berupa class BorderLayout, BoxLayout, FlowLayout, GridBagLayout, dan GridLayout
    Event Handling => untuk menangani event yang dilakukan oleh user misalnya menekan tombol, mengkilik mouse dan lain – lain

Contoh Programnya :

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
class MyCanvas extends JComponent {
    public void paint(Graphics g) {
        g.setColor(Color.yellow);
        g.fillRect(((300-100)/2),((300-100)/2),75,75);
    }
}
public class RectButton {
    public static void main(String[] a) {
        ActionListener actionListener = new ActionListener() {
            public void actionPerformed(ActionEvent actionEvent) {
                System.exit(0);
            }
        }
        JFrame window = new JFrame("Contoh");
        JButton exitBtn = new JButton("EXIT");
        window.getContentPane().add(exitBtn, BorderLayout.SOUTH);
        exitBtn.addActionListener(actionListener);
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setBounds(30, 30, 300, 300);
        window.getContentPane().add(new MyCanvas());
        window.setLocationRelativeTo(null);
        window.setVisible(true);
    }
}
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;

public class temuTiga{
    private JTextField txtNim, txtNama, txtGender;
    private JFrame window;
    private JRadioButton satu, dua, tiga, empat;
    private JButton tampilkan, kosongkan, keluar;
    private JLabel lblNim, lblNama, lblGender;
    private ButtonGroup bgroup;
    private JPanel radioPanels, radioPanel;
    private String dataString [];
    private String stringData;

    public temuTiga(){
        dataString  = new String[3];
    +    window      = new JFrame("Contoh");
        satu        = new JRadioButton("Anggota Satu"  , true);
        dua         = new JRadioButton("Anggota Dua"   , false);
        tiga        = new JRadioButton("Anggota Tiga", false);
        empat       = new JRadioButton("Anggota Empat", false);
        tampilkan   = new JButton("Tampilkan");
        kosongkan   = new JButton("Kosongkan");
        keluar      = new JButton("Keluar");
        lblNim      = new JLabel("NIM");
        lblNama     = new JLabel("Nama");
        lblGender   = new JLabel("Jenis Kelamin");
        txtNim      = new JTextField(15);
        txtNama     = new JTextField(15);
        txtGender   = new JTextField(15);
        bgroup      = new ButtonGroup();
        radioPanel  = new JPanel();
        radioPanels = new JPanel();

        stringData  = "||";
        dataString[0] = "3036824063";
        dataString[1] = "Rusydah Ufairah";
        dataString[2] = "Perempuan";

        satu.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                rdP(1);
            }
        });

        dua.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                rdP(2);
            }
        });

        tiga.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                rdP(3);
            }
        });

        empat.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                rdP(4);
            }
        });

        tampilkan.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                rdP(5);
            }
        });

        kosongkan.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                rdP(6);
            }
        });

        keluar.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                rdP(7);
            }
        });

        bgroup.add(satu);
        bgroup.add(dua);
        bgroup.add(tiga);
        bgroup.add(empat);

        radioPanel.setLayout(new GridLayout(2, 2));
 +       radioPanel.add(satu);
        radioPanel.add(dua);
        radioPanel.add(tiga);
        radioPanel.add(empat);

        radioPanels.setLayout(new GridLayout(5, 2, 4, 4));
        radioPanels.add(lblNim);
        radioPanels.add(txtNim);
        radioPanels.add(lblNama);
        radioPanels.add(txtNama);
        radioPanels.add(lblGender);
        radioPanels.add(txtGender);
        radioPanels.add(tampilkan);
        radioPanels.add(kosongkan);
        radioPanels.add(keluar);

        radioPanel.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Anggota"));
        radioPanels.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(), "Data"));
        window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        window.setBounds(30, 30, 605, 200);
        window.getContentPane().add(radioPanel, BorderLayout.WEST);
        window.getContentPane().add(radioPanels, BorderLayout.EAST);
        window.setLocationRelativeTo(null);
        window.setVisible(true);
    }
    private void rdP(int radioB){
        if(radioB==1){
            dataString[0] = "3036824063";
            dataString[1] = "Rusydah Ufairah";
            dataString[2] = "Perempuan";
        }else if(radioB==2){
            dataString[0] = "2809717063";
            dataString[1] = "Sucahyo Ardy Prasetiyo";
            dataString[2] = "Laki - Laki";
        }else if(radioB==3){
            dataString[0] = "3035823063";
            dataString[1] = "Rizky Amelia";
            dataString[2] = "Perempuan";
        }else if(radioB==4){
            dataString[0] = "3012800063";
            dataString[1] = "Nrindra Primavera Dirga Nugraha";
            dataString[2] = "Perempuan";
        }else if(radioB==5){
            txtNim.setText(dataString[0]);
            txtNama.setText(dataString[1]);
            txtGender.setText(dataString[2]);
        }else if(radioB==6){
            stringData  = "||";
            txtNim.setText("");
            txtNama.setText("");
            txtGender.setText("");
        }else{
            System.exit(0);
        }
    }
    public static void main(String[] a) {
        temuTiga m = new temuTiga();
    }
}