Selasa, 04 Mei 2010

Program Dasar untuk Pemrograman Berbasis GUI pada Java

Di bawah ini adalah program dasar Java untuk membuat Frame (di VB disebut Form) yang di dalamnya ada dua buah tombol. Kelebihan (dan kekurangan) program ini adalah tidak menggunakan LayoutManager (karena saya belum terbiasa menggunakan LayoutManager).

Program ini masih menggunakan AWT untuk GUI-nya.

// Programmed by ilmubiner
import java.awt.*;
import java.awt.event.*; // <-- WindowListener & ActionListener
public class AWTNoLayout extends Frame implements ActionListener, WindowListener { Button btnKiri, btnKanan;
int klik = 0;
// konstruktor
public AWTNoLayout(String judul) {
super(judul);
this.addWindowListener(this); // registrasi WindowListener
btnKiri = new Button("Kiri"); // membuat objek button
btnKanan = new Button("Kanan"); // membuat objek button btnKiri.addActionListener(this);//registrasi ActionListener btnKanan.addActionListener(this);//registrasi ActionListener
add(btnKiri); // menambahkan button ke frame
add(btnKanan); // menambahkan button ke frame
btnKiri.setBounds(4,30,100,50); //set posisi & ukuran button btnKanan.setBounds(10,90,100,50); //set posisi & ukuran button
}
// method untuk menampilkan frame
void tampilanFrame() {
setSize(300, 100); // menentukan ukuran
setVisible(true); // menentukan frame ditampilkan }
// event handler pd WindowListener /////////////
/* event handler di bawah ini harus ditulis semua tapi yang dipergunakan hanya windowClosing() jika tidak ada event handler windowClosing, maka frame tidak bisa di-close */ public void windowActivated(WindowEvent e) {}
public void windowClosed(WindowEvent e) {}
public void windowClosing(WindowEvent e) {
setVisible(false);
System.exit(0);
}
public void windowDeactivated(WindowEvent e) {}
public void windowDeiconified(WindowEvent e) {}
public void windowIconified(WindowEvent e) {}
public void windowOpened(WindowEvent e) {}
// akhir event handler pd WindowListener ////////
// actionPerformed adalah satu-satunya method pd ActionListener public void actionPerformed(ActionEvent e) {
klik++;
if (e.getSource() == btnKiri) btnKiri.setLabel(""+klik);
if (e.getSource() == btnKanan) btnKanan.setLabel(""+klik);
}
public static void main(String[] args){
AWTNoLayout frm = new AWTNoLayout("FrameKedua");
frm.setLayout(null); // tidak menggunakan LayoutManager
frm.tampilanFrame();
}
}

Note : Koordinat posisi komponen x,y agar tampil dengan baik pada port viewer, x >= 4 dan y >=30. Jika x < 4 maka komponen akan tertutup border sebelah kiri, sedangkan jika y < 30 maka akan tertutup window title.

Tidak ada komentar: