Senin, 16 April 2012

PEMROGRAMAN WINDOW

Program yang dibuat selama ini adalah pemrograman pada level konsol. Java sesungguhnya juga mendukung pemrograman windows. Salah satu mekanisme untuk mengimplementasikannya adalah dengan menggunakan paket java.awt (Java Abstract Tool Kit).

Contoh :
// nama berkas : testframe.java
import java.awt.*;
public class testframe extends Frame
{
public static void main(String[] args)
{
testframe frame1 = new testframe();
}

public testframe()
{
super("Jendela Frame Saya");
setSize(300,200);
show();
}
}



Frame adalah kelas dalam paket AWT yang mewujudkan jendela dengan judul dibagian atas dan memungkinkan menu pull down dibuat. Tampilan dari frame akan berbeda jika dijalankan pada sistem operasi Windows atau Linux. Untuk menutup jendela tekan CTRL C pada jendela konsol.

KOMPONEN DALAM AWT
Segala tampilan pada sistem Window sesungguhnya didasarkan kelas Component dengan hirarki sebagai berikut :

<< SCAN AJAHH>>

Pada dasarnya komponen adalah segala sesuatu yang terlihat pada jendela, misalnya teks statis, tombol, kotak cek dan sebagainya.

Komponen dapat dikelompokkan menjadi :
• Container
Merupakan wadah untuk komponen-komponen yang lain, misalnya Panel.
• Canvas
Seperti halnya dunia lukisan digunakan untuk menggambar apa saja.
• Komponen antarmuka grafis
Termasuk dalam kelompok ini yaitu tombol, menu pop-up dan kotak cek.
• Komponen penyusun jendela
Termasuk dalam hal ini jendela frame dan kotak dialog

KOMPONEN BUTTON
Button merupakan kelas yang berguna untuk membuat tombol dalam suatu jendela. Metode yang digunakan yaitu :
1. setLabel()
berfungsi untuk mengubah judul pada tombol. Argumen berupa string yang menyatakan judul baru.
2. getLabel()
berfungsi untuk memperoleh judul pada tombol.

Contoh :
// nama berkas : testtombol.java
import java.awt.*;
public class testtombol extends Frame
{
public static void main(String[] args)
{
testtombol tombol1 = new testtombol();
}

public testtombol()
{
super("Tombol Saya");
setSize(300,200);
Panel paneltombol = new Panel();
paneltombol.add(new Button("Perbesar"));
paneltombol.add(new Button("Keluar"));
add("South", paneltombol);
show();
}
}

Tabel nilai untuk menentukan letak panel dalam jendela :
NILAI KETERANGAN
South Letak di bawah
West Letak di kiri atas
North Letak di atas
East Letak di kanan atas

MENANGANI KEJADIAN
Program di atas belum menangani kejadian sama sekali misalnya ketika tombol Keluar di-klik maka aplikasi segera diakhiri.
Penanganan kejadian dapat dilakukan dengan menggunakan paket java.awt.event. Objek Window menggunakan metode bernama addWindowListener() sedangkan komponen Button menggunakan metode bernama addActionListener().
Contoh :
// nama berkas : testtombol1.java
import java.awt.*;
import java.awt.event.*;
public class testtombol1 extends Frame
{
public static void main(String[] args)
{
testtombol1 tombol1 = new testtombol1();
}

public testtombol1()
{
super("Tombol Saya");
setSize(300,200);
Button tombolmaks = new Button("Perbesar");
Button tombolend = new Button("Keluar");

Panel paneltombol = new Panel();
paneltombol.add(tombolmaks);
paneltombol.add(tombolend);
add("South", paneltombol);

tombolmaks.addActionListener(new testtombol1.penangantombol());
tombolend.addActionListener(new testtombol1.penangantombol());

addWindowListener(new testtombol1.penangankejadian());
show();
}

class penangankejadian extends WindowAdapter
{
public void windowClosing (WindowEvent e)
{
System.exit(0);
}
}

class penangantombol implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Perbesar"))
{
setSize(600,400);
}
else
if (s.equals("Keluar"))
{
System.exit(0);
}
}
}
}

FILE DIALOG
Adalah subkelas dari dialog yang menyediakan kemudahan dalam menampilkan daftar berkas yang akan dibaca ataupun berkas untuk menyimpan data.

Metode yang digunakan pada file dialog :
1. setDirectory(String dir)
Menentukan direktori tempat berkas-berkas akan ditampilkan dalam kotak dialog
2. getDirectory()
Menghasilkan string yang menyatakan direktori tempat berkas-berkas ditampilkan pada kotak dialog
3. string getFile()
Menghasilkan string yang menyatakan nama berkas yang dipilih pemakai dalam kotak dialog
4. setFile(String berkas)
Menentukan nama berkas yang menjadi pilihan bawaan dalam kotak dialog

Contoh :
// nama berkas : dialog.java
import java.awt.*;
public class dialog extends Frame
{
public static void main(String[] args)
{
dialog aplikasi = new dialog();
}

public dialog()
{
super("Form Dialog");
setSize(400,150);
FileDialog fd = new FileDialog(this, "Buka Berkas :");
fd.show();
setTitle("File yang Anda buka : "+fd.getFile());
show();
}
}

SETLAYOUT
Digunakan untuk mengatur tata letak komponen-komponen. AWT menyediakan 5 manajer dasar untuk mengelola peletakan komponen, yaitu :
1. FlowLayout
Melakukan pengaturan komponen dengan urutan dari kiri ke kanan dan dari atas ke bawah dengan melibatkan konstanta LEFT, RIGHT dan CENTER
2. GridLayout
Menggunakan bentuk kisi-kisi dengan ukuran yang sama untuk setiap komponen
3. BorderLayout
Menempatkan komponen dengan pendekatan arah mata angin
4. CardLayout
Menampilkan objek-objek seperti tumpukan kartu
5. GridBagLayout
Digunakan untuk meletakkan komponen secara bebas

LABEL
Merupakan komponen yang umum digunakan untuk menampilkan suatu string dan umumnya bersifat tidak untuk diubah.

Metode pada label :
1. setText(String teks)
Mengganti teks pada label sesuai dengan argumen teks
2. getText()
Menghasilkan string yang menyatakan teks pada label
3. setAlignment(int perataan)
Mengatur perataan teks pada label sesuai dengan nilai argumen berupa LEFT, CENTER atau RIGHT
4. getAlignment()
Menghasilkan nilai bertipe int yang menyatakan mode perataan teks pada label

Contoh :
// nama berkas : label.java
import java.awt.*;
public class label extends Frame
{
public static void main(String[] args)
{
label aplikasi = new label();
}

public label()
{
super("Teks Label");
setSize(300,100);

Label t1 = new Label("Terimakasih", Label.LEFT);
Label t2 = new Label("Thank You", Label.CENTER);
Label t3 = new Label("Xie Xie", Label.RIGHT);

Panel plabel = new Panel();
plabel.setLayout(new GridLayout(3,1));
plabel.add(t1);
plabel.add(t2);
plabel.add(t3);
add("North", plabel);
show();
}
}

TEXTFIELD
Adalah kelas yang berguna untuk menciptakan obyek yang ditujukan untuk memasukkan data satu baris.

Metode pada textfield :
1. setEchoChar(char c)
Menentukan karakter yang digunakan untuk menampilkan karakter pada textfield misalnya untuk keperluan pemasukan password
2. getEchoChar()
Menghasilkan karakter yang digunakan untuk menampilkan karakter
3. setText(String f)
Menentukan teks yang ditampilkan pada textfield
4. getText()
Memperoleh text pada pada textfield
5. getColumns()
Menghasilkan nilai bertipe int yang menyatakan jumlah kolom pada textfield
6. setColumns(int kolom)
Menentukan jumlah kolom
7. addActionListener()
Memasang penanganan kejadian

Contoh :
// nama berkas : textfield.java
import java.awt.*;
import java.awt.event.*;

public class textfield extends Frame
{
Label info;
TextField f1, f2;
Button b;

public static void main(String[] args)
{
textfield aplikasi = new textfield();
}

public textfield()
{
super("Silahkan Anda Login :");
setSize(300,120);

Label t1 = new Label("Nama Pemakai :");
f1 = new TextField("", 10);
Label t2 = new Label("Password : ");
f2 = new TextField("", 10);
f2. setEchoChar('#');
b = new Button("Login");
info = new Label();

Panel p1 = new Panel();
p1.setLayout(new GridLayout(3,2));
p1.add(t1);
p1.add(f1);
p1.add(t2);
p1.add(f2);

Panel p2 = new Panel();
p2.setLayout(new GridLayout(1,2));
p2.add(b);
p2.add(info);
add("North", p1);
add("South", p2);
b.addActionListener(new textfield.penangantombol());
show();
}

class penangantombol implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Login"))
{
String nama = f1.getText();
String pin = f2.getText();
if (nama.compareTo("Aditya") == 0 && pin.compareTo("123") == 0)
info.setText("Login berhasil..!");
else
info.setText("Login gagal...!");
}
}
}
}



TEXTAREA
Adalah kelas yang berguna untuk membuatbobjek yang dapat digunakan untuk menampilkan data teks yang terdiri atas sejumlah baris.
Contoh :
// nama berkas : teksarea.java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class teksarea extends Frame
{
TextArea tarea;
Button bsimpan, bmuat, bhapus;
String namaberkas = "Tarea.out";

public static void main(String[] args)
{
teksarea aplikasi = new teksarea();
}

public teksarea()
{
super("Aplikasi TextArea");
setSize(350,150);
tarea = new TextArea("Ketik teks disini...",5,30);
bsimpan = new Button("Simpan");
bmuat = new Button("Muat");
bhapus = new Button("Hapus");

Panel p1 = new Panel();
p1.add(tarea);

Panel p2 = new Panel();
p2.setLayout(new GridLayout(3,1));
p2.add(bsimpan);
p2.add(bmuat);
p2.add(bhapus);

add("West", p1);
add("East", p2);

bsimpan.addActionListener(new teksarea.penangantombol());
bmuat.addActionListener(new teksarea.penangantombol());
bhapus.addActionListener(new teksarea.penangantombol());
show();
}

class penangantombol implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
String s = e.getActionCommand();
if (s.equals("Simpan"))
{
try {
FileWriter keluaran = new FileWriter(namaberkas);
String isiteks = tarea.getText();
keluaran.write(isiteks);
keluaran.flush();
keluaran.close();
}
catch (IOException i)
{
System.err.println("Gagal menyimpan berkas...!");
System.exit(1);
}
tarea.setText ("Teks telah disimpan...");
}
else if (s.equals("Muat"))
{
try {
FileReader masukan = new FileReader(namaberkas);
BufferedReader streamMasukan = new BufferedReader(masukan);
String teks="";
while(true)
{
String data = streamMasukan.readLine();
if (data == null) break;
teks = teks+data+'\n';
}
masukan.close();
tarea.setText(teks);
}
catch (IOException i)
{
tarea.setText("Berkas tidak dapat dibaca...");
}
}
else if(s.equals("Hapus"))
{
tarea.setText("");
}
}
}
}

0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Enterprise Project Management