Senin, 28 Mei 2012

Laporan dan Tugas PBO : Swing Java


Pengertian java Swing
Swing merupakan koleksi komponen GUI yang berjalan secara seragam di setiap plattform murni yang mendukung JVM (Java Virtual Machine). Keseluruhankomponen Swing ditulis menggunakan java sehingga mampu menyediakan fungsionalitas maksimal di platform yang ekuivalen. Hal ini juga membuktikan bahwa portabilitas aplikasi swing sangat tinggi.
Komponen-komponen Swing dapat di klasifikasikan dalam tiga bagian, yaitu top level container, intermediate container dan komponen atomic (tunggal)
  • Container tingkat atas (top level) berfungsi untuk menyediakan ruang bagi komponen-komponen lainya. Container jenis ini terdiri daro JFrame, JWindow, JDialog, dan JApplet.
  • Container menengah adalah komponen (non top level) yang keberadaannya untuk menampung komponen lainnya, misal panel, tabbed dan tool bar
  • Komponen atomic berfungsi untuk menampilkan dan/atau menerima informasi. Komponen tunggal memiliki peran penting dalam menghasilkan antarmuka user. Contoh komponen atomic adalah text field, button dan label






Pengertian Jframe
JFrame digunakan untuk mendesain model tampilan yang didalamnya dapat kita tempatkankomponen-komponen lainnya.

Contoh Jframe :
Class Jframeiniterdapatdidalamkomponen: javax.swing

1.import javax.swing.JFrame;
2.public class JFrame_1
3.{
4.public static void main(String[] args)
5.{
6.JFramejFrame= new JFrame();
7.jFrame.show();
8.}
9.}

Bekerja dengan JLabel, JTextField dan  JButton

Bekerja dengan komponen swing menggunakan Matisse sangat  menyenangkan dan mudah. GroupLayout yang sangat fleksibel  memungkinkan kita untuk membuat aplikasi dengan tampilan  seperti yang kita harapkan.  Label, textfield dan tombol adalah komponen-komponen dasar yang  selalu ada dalam setiap aplikasi berbasis desktop. Ketiga komponen  ini mempunyai fungsi yang sangat sederhana, textfield menyimpan  data berbentuk text (string) yang relatif pendek , label banyak  digunakan  untuk  memberikan  keterangan  penjelas  terhadap  komponen lain dan tombol digunakan user untuk menjalankan satu  instruksi tertentu














CONTOH PROGRAMNYA:
Contoh Program Java Gui:





















Outputnya:
Penjelasannya:

class GUI extends JFrame {// kelas GUI merupakan turunan dari JFrame
 JLabel LNim = new JLabel("NIM    :");//membuat & memanggil JLabel baru dengan objek LNim
 final JTextField FNim= new JTextField(50);
 // merupakan modifier yg berbentuk konstanta untuk membuat & memanggil JTextfield baru dengan nama objek FNim
 JLabel LNama = new JLabel("Nama :");//membuat & memanggil JLabel baru dengan objek LNama
 final JTextField FNama= new JTextField(50);// merupakan modifier yg berbentuk konstanta untuk membuat & memanggil
 JTextfield baru dengan nama objek FNama
 JButton BTnOK= new JButton("OK");//membuat & memanggil JButton baru dengan objek BTnOK
 JButton BTnCancel= new JButton("Cancel");//membuat & memanggil JButton baru dengan objek BTnCancel
 public GUI() {
 setTitle("Belson Damanik Coba");// mengatur & membuat judul pada frame Belson Damanik Coba
 setDefaultCloseOperation(3);
 setSize(400,200);//mengatur ukuran pada tampilan frame dengan lebar 400 dan panjang 200

            setLayout(null);//Mengatur tampilan pada frame
            add(LNim);//menambah objek LNim pada frame
            add(FNim);//menambah objek FNim pada frame
            add(LNama );//menambah objek LNama pada frame
            add(FNama);//menambah objek FNama pada frame
            add(BTnOK);//menambah objek BTnOK pada frame
            add(BTnCancel);//menambah objek BTnCancel pada frame

            LNim.setBounds(10,10,100,20);//mengatur bentuk bondaries objek LNim dengan ukuran (10,10,120,20)
            FNim.setBounds(100,10,100,20);//mengatur bentuk bondaries objek FNim dengan ukuran (100,10,100,20)
            LNama.setBounds(10,35,120,20);//mengatur bentuk bondaries objek LNama dengan ukuran (10,35,120,20)
            FNama.setBounds(100,40,100,20);//mengatur bentuk bondaries objek FNama dengan ukuran 100,40,100,20)
           BTnCancel.setBounds(100,130,120,20);//mengatur bentuk bondaries objek BTnkeluar dengan ukuran (100,130,120,20)
            BTnOK.setBounds(200,130,90,20);//mengatur bentuk bondaries objek BTnOK dengan ukuran (200,130,90,20)
            setVisible(true);//mengatur tampilan frame dalam keadaan aktif atau true

    }
}
class ObGUI {//merupakan nama kelas yaitu ObGUI
        public static void main(String[] arqs) {//Fungsi Utama yang harus ada di class utama
                GUI G=new GUI();//membuat objek dengan nama G dari GUI
            }
    }
Setelah anda mengetikkan kode program tersebut diatas maka simpan program sesuai dengan class kemudian jalankan program tersebut.





Kesimpulan :
Selama membuat program dari awal mula  dibutuhkan ketelitian dalam pemakaian nama class dan pengaturan tata letak (layout management) komponen dalam suatu container. Karna hal tersebut sangat vital dalam membuat program java....
  • import java.awt.*; merupakan fungsi yang digunakan untuk proses inputan dalam program java.import javax.swing.*; merupakan fungsi sebagai syarat penggunaan komponen yang ada dalam system java.
  • class komponen extends JFrame{ merupakan deklarasi dari  class komponen yang extends dengan JFrame.
  • public komponen() { merupakan deklarasi dari class komponen dengan modifier akses public.
  • super(“GridBag Layout”); merupakan fungsi untuk menampilkan judul pada frame.
  • JButton B1 = new JButton(“B1″); merupakan fungsi untuk pemanggilan B1, B2, B3, B4, B5, B6, B7, B8, B9, dan B10  sesuai dengan nama Buttonnya.
  • Container c = this.getContentPane();merupakan fungsi pembentukkan objek (keyword) tanpa proses instansiasi.
  • GridBagLayout gridbag = new GridBagLayout();merupakan proses pemanggilan class GridBagLayout agar dapat digunakan untuk pembentukkan objek tanpa isntansiasi.
  • c.setLayout(gridbag); merupakan fungsi yang digunakan untuk mengatur jenis metode saat memasang komponen berupa GridBagLayout.
  • GridBagConstraints gbc = new GridBagConstraints();merupakan fungsi yang digunakan untuk mendeklarasikan gbc  agar peletakkan komponen pada panel dapat sesuai dengan constrainnya.
  • gbc.insets = new Insets(0, 0, 0, 0); merupakan fungsi yang digunakan untuk menentukan ukuran atau jarak untuk margin atas = 0, margin kiri = 0, margin bawah = 0, margin kanan = 0.
  • gbc.fill = GridBagConstraints.BOTH; merupakan fungsi untuk membuat suatu komponen dapat menempati lebih dari 1 cell.
  • gbc.gridwidth = 1; merupakan fungsi yang digunakan untuk banyaknya jumlah cell mendatar sebanyak 1.
  • gbc.gridheight = 1; merupakan fungsi yang digunakan untuk banyaknya jumlah cell vertikal sebanyak 1.
  • gbc.gridx = 1; merupakan fungsi yang digunakan untuk meletakkan Button1 pada garis x senilai 1.
  • gbc.gridy = 1; merupakan fungsi yang digunakan untuk meletakkan Button1 pada garis y senilai 1.
  • gridbag.setConstraints(B1, gbc); merupakan fungsi untuk menyesuaikan b1 agar dapat mengeluarkan output sesuai dengan Size yang ada.
  • c.add(B1, gbc); merupakan fungsi menambahkan komponen b1 agar dapat ditampilkan   saat diekseksi.
  • this.setResizable(true); merupakan fungsi yang digunakan untuk mengatur kembali ukuran bersifat true.
  • this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);merupakan fungsi JFrame.EXIT_ON_CLOSE yang digunakan untuk membantu perintah CLOSE dapat dijalankan saat eksekusi output dijalankan. this.pack();merupakan fungsi pembentukkan objek tanpa proses instansiasi.
  • this.setVisible(true); merupakan fungsi yang digunakan untuk mengatur hasil agar dapat ditampillkan.
  • public static void main(String[] args) { merupakan method main dimana method ini berfungsi sebagai tempat sintaks-sintaks yang menghasilkan output.
  • new komponen();merupakan fungsi yang digunakan sebagai akses untuk eksekusi program di class komponen()





TUGAS:

01
import java.awt.*;
02
import java.awt.event.*;

03
import javax.swing.*;
04


05
public class SimpleLogin extends JFrame implements ActionListener {
06
    private JLabel label1, label2;

07
    private JTextField txtUser;
08
    private JPasswordField pwdPass;

09
    private JButton btnLogin, btnExit;
10


11
    public SimpleLogin() {
12
        super ("Login here...");

13

14
        Container container = getContentPane();

15
        container.setLayout(new FlowLayout());
16


17
        label1 = new JLabel ("Username : ");
18
        label2 = new JLabel ("Password : ");

19

20
        txtUser = new JTextField (20);

21
        txtUser.setToolTipText("Input Username");
22
        pwdPass = new JPasswordField(20);

23

24
        btnLogin = new JButton ("Login");

25
        btnLogin.addActionListener(this);
26
        btnExit = new JButton ("Exit");

27
        btnExit.addActionListener(this);
28


29
        container.add(label1);
30
        container.add(txtUser);

31
        container.add(label2);
32
        container.add(pwdPass);

33
        container.add(btnLogin);
34
        container.add(btnExit);

35

36
        setSize (300,200);

37
        setVisible (true);
38
    }

39

40
    public static void main (String args[]) {

41
        SimpleLogin test = new SimpleLogin();
42
        test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

43
    }
44


45
    private String user = "", pass = "";
46
    public void actionPerformed (ActionEvent e) {

47
        if (e.getSource() == btnLogin) {
48
            user = txtUser.getText();

49
            pass = pwdPass.getText();
50
            if (user.equals("achmatim") && pass.equals("otim")) {

51
                JOptionPane.showMessageDialog(null, "Login successfull");
52
            } else {

53
                JOptionPane.showMessageDialog(null, "Username and password dosn't match!");
54
                txtUser.setText("");

55
                pwdPass.setText("");
56
                txtUser.requestFocus(true);

57
            }
58
        } else if (e.getSource() == btnExit){

59
            JOptionPane.showMessageDialog(null,"Thanks to try my program. See you..");
60
            System.exit(0);

61
        }
62
    }

63
}











1 komentar: