Minggu, 02 Desember 2012

SMS GRATIS

Kamis, 19 April 2012

Swing Make Over

SwingMakeOver merupakan teknik memanipulasi tampilan User Interfaces (Java Swing). Teknik ini dilakukan dengan menggunakan penggambaran agar tampilan komponen-komponen Java Swing seperti TextField, Button dan lain-lain menjadi lebih cantik kelihatannya. Pada Video Tutorial ini saya menjelaskan cara memanipulasi tampilan dari mulai komponen sederhana seperti JButton, JTextField, sampai komponen-komponen kompleks seperti JTable, JList dan JTree. Salah satu contoh hasil dari teknik SwingMakeOver ini adalah, aplikasi yang pernah saya buat, yaitu eMovieRental, eBookLibrary dan ePhoneBook.














Ada beberapa manipulasi Swing yang bisa kita lakukan agar tampilan aplikasi desktop kita lebih menarik. Salah satu contoh komponen Swing adalah Panel. Disini kita akan belajar apa-apa saja yang bisa kita lakukan pada sebuah Panel. Jadi tidak hanya sebatas tampilan default saja yang kita mengerti pada sebuah panel. Seperti tampilan warna granite yang tidak menarik, bentuk kotak dan tampilan yang itu-itu saja :D.
Nah, sekarang apa saja yang bisa kita lakukan terhadap panel ini?? Memberikan gambar pada panel ??
Memberikan effect gradient baik 2 warna, 3 warna, ataupun 4 warna ?? Membuat tampilan panel kita berukuran tetap dan tidak berubah-ubah ?? Tentu itu semua bisa kita lakukan :D.
Oke, mari kita mulai dengan memberikan gambar pada panel. Hmm, kita coba dengan membuat interface
sebagai berikut :
Nah, pada frame tersebut, kita hanya menggunakan satu panel, dimana panel tersebut kita letakkan sebuah gambar. Untuk cara membuat nya adalah sebagai berikut :
  1. Buat project nya terlebih dahulu
  2. Agar pengelompokannya enak, kita buat 2 package untuk menyimpan gambar dan panel2 yang kita gunakan. Misal package gambar dan widget.
 


    3. Sekarang buat PanelGambar.java di package widget.






    4. Dan copy paste gambar Tentang.jpg ke package gambar.       

   5. Pada PanelGambar.java, kalian bisa meng-copypaste source code ini langsung.

                                         

package pelatihanitcke3.widget;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;
public class PanelGambar extends JPanel {
Image img;
public PanelGambar() {
img = new
ImageIcon(getClass().getResource("/pelatihanitcke3/gambar/Tentang.jpg")).getImage();
}
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D gd = (Graphics2D) g.create();
gd.drawImage(img, 0, 0, getWidth(), getHeight(), this);
gd.dispose();
}
}

Untuk algoritma nya, yaitu pertama kita mengambil gambar dengan dengan class ImageIcon dan kita masukkan value nya ke class Image. Kemudian kita inisialisasi methode paintComponet dimana untuk memanggil methode drawImage, kita harus membuat objek terlebih dahulu dari class Graphics2D yang di inisialisasi dari methode create() pada class Graphics. Nah, objek dari class Image yang berisi gambar yang kita panggil, kita letakkan di parameter methode drawImage seperti diatas, dan kita set ukurannya agar menyesuaikan dengan menggunakan memanggilnya dari methode getWidth() dan methode getHeight(). Terakhir, panggil methode dispose() nya.

Setelah itu, compile dulu PanelGambar.java, kemudian klik tombol Clean and Build

Setelah build succesfull, langkah selanjutnya adalah tinggal memanggilnya ke Frame. Pada langkah ini tidak ada ketentuan khusus, kalian bisa memanggilnya di Frame buatan sendiri, atau Frame Drag and Drop yang disediakan Netbeans. Untuk Frame Drag and Drop, kalian tinggal menge-drag-nya dari package widget.

Selamat Mencoba :)




Sumber : http://timordotx.blogspot.com/2011/04/swing-make-over-panel-gambar.html
              http://eecchhoo.wordpress.com/tag/java-swing-make-over/

Selasa, 03 April 2012

eeeitsss!!! jangan pergi dulu .. sini baca!!

siapa mau ramal zodiak dengan netbeans??
 ini scriptnya ...
package ramalan;
import java.awt.Color;
import java.awt.Font;
import javax.swing.*;
import java.awt.event.*;
public class mistik extends JFrame
{
mistik()
{
setTitle("Ramalan Bintang");
setLocation(300,200);
setSize(350, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
void komponen()
{
//membuat label
JLabel tgl=new JLabel("Tanggal lahir");
JLabel bln=new JLabel("Bulan lahir");
JLabel z=new JLabel("Zodiak Anda");

JLabel um=new JLabel("Umum");
JLabel p=new JLabel("Keuangan");
JLabel c=new JLabel("Cinta");
JLabel rm=new JLabel("Ramalan anda :");
JLabel mon=new JLabel("Bulan");
//font label
tgl.setFont(new Font("comic sans MS",Font.BOLD,14));
bln.setFont(new Font("comic sans MS",Font.BOLD,14));
z.setFont(new Font("comic sans MS",Font.BOLD,14));
um.setFont(new Font("comic sans MS",Font.BOLD,14));
p.setFont(new Font("comic sans MS",Font.BOLD,14));
c.setFont(new Font("comic sans MS",Font.BOLD,14));
mon.setFont(new Font("comic sans MS",Font.BOLD,14));
 //membuat teks fild
final JTextField tg=new JTextField(5);
final JTextField bl=new JTextField(5);
bl.setToolTipText("isi dengan angka");
final JTextField zo=new JTextField(300);
final JTextField u=new JTextField(300);
final JTextField pek=new JTextField(300);
final JTextField cin=new JTextField(300);
final JTextField tb=new JTextField(25);
//pengaturan font output
zo.setFont(new Font("comic sans MS",Font.BOLD,20));
u.setFont(new Font("comic sans MS",Font.ITALIC,13));
pek.setFont(new Font("comic sans MS",Font.ITALIC,13));
pek.setFont(new Font("comic sans MS",Font.ITALIC,13));
cin.setFont(new Font("comic sans MS",Font.ITALIC,13));
tb.setFont(new Font("arial MS",Font.BOLD,14));
 //membuat button
JButton ramal=new JButton("Ramal");
JButton hapus=new JButton("Hapus");
JButton ex=new JButton("Exit");
//warna font pada button
ramal.setForeground(Color.BLUE);
hapus.setForeground(Color.MAGENTA);
ex.setForeground(Color.RED);
 getContentPane().setLayout(null);
getContentPane().add(tgl);
getContentPane().add(bln);
getContentPane().add(z);
getContentPane().add(um);
getContentPane().add(p);
getContentPane().add(c);
getContentPane().add(rm);
getContentPane().add(mon);
getContentPane().add(tg);
getContentPane().add(bl);
getContentPane().add(zo);
getContentPane().add(u);

getContentPane().add(pek);
getContentPane().add(cin);
getContentPane().add(tb);
 getContentPane().add(ramal);
getContentPane().add(hapus);
getContentPane().add(ex);
 //pengaturan label
tgl.setBounds(10, 10, 100, 25);
bln.setBounds(10, 40, 100, 25);
rm.setBounds(10, 100, 100, 25);
z.setBounds(10, 122, 100, 25);
um.setBounds(10, 152, 100, 25);
p.setBounds(10, 182, 100, 25);
c.setBounds(10, 212, 100, 25);
mon.setBounds(165, 40, 100, 25);
 //pengaturan teks fild
tg.setBounds(100, 10, 50, 25);
bl.setBounds(100, 40, 50, 25);
zo.setBounds(100, 122, 145, 25);
u.setBounds(100, 152, 225, 25);
pek.setBounds(100, 182, 225, 25);
cin.setBounds(100, 212, 225, 25);
tb.setBounds(210, 40, 110, 25);
//pengaturan button
ramal.setBounds(100, 75, 70, 25);
hapus.setBounds(175, 75, 70, 25);
ex.setBounds(250, 75, 70, 25);
 setVisible(true);
//proses
ramal.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){int t=Integer.parseInt(tg.getText());
int b=Integer.parseInt(bl.getText());
if (b==1)
{
tb.setText("JANUARI");
if (t<=18){zo.setText("CAPRICORN");
u.setText("manfaatkan IT yang tersedia");
pek.setText("pas-pasan");
cin.setText("lagi mesra-mesranya");
}
else if (t<=31)
{
zo.setText("AQUARIUS");
u.setText("jangan bertindak yang tak lazim");
pek.setText("atur keungan kamu");
cin.setText("ada yang naksir kamu");

}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
else if (b==2)
{
tb.setText("FEBRUARI");
if (t<=18)
{
zo.setText("AQUARIUS");
u.setText("jangan bertindak yang tak lazim");
pek.setText("atur keungan kamu");
cin.setText("ada yang naksir kamu");
}
else if (t<=29)
{
zo.setText("PISCES");
u.setText("luangkan waktumu untuk bersantai");
pek.setText("keungan kamu lagi menipis");
cin.setText("kamu lagi butuh perhatian saat ini");
}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
 else if (b==3)
{
tb.setText("MARET");
if (t<=20)
{
zo.setText("PISCES");
u.setText("luangkan waktumu untuk bersantai");
pek.setText("keungan kamu lagi menipis");
cin.setText("kamu lagi butuh perhatian saat ini");
}
else if (t<=31)
{
zo.setText("ARIES");
u.setText("ada hal baru di awal pekan ini");
pek.setText("jangan boros");
cin.setText("dia lagi butuh perhatianmu");
}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
 else if (b==4)

{
tb.setText("APRIL");
if (t<=19)
{
zo.setText("ARIES");
u.setText("ada hal baru di awal pekan ini");
pek.setText("jangan boros");
cin.setText("dia lagi butuh perhatianmu")
;
}
else if (t<=30)
{
zo.setText("TAURUS");
u.setText("waktunya kamu merubah sikapmu");
pek.setText("keuangan lancar");
cin.setText("lagi ada masalah");
}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
 else if (b==5)
{
tb.setText("MEI");
if (t<=20)
{
zo.setText("TAURUS");
u.setText("waktunya kamu merubah sikapmu");
pek.setText("keungan lancar");
cin.setText("lagi ada masalah");
}
else if (t<=31)
{
zo.setText("GEMINI");
u.setText("ada persoalan dikehidupanmu");
pek.setText("keungan lagi boros");
cin.setText("mulailah PDKT dengan dia");
}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah")
;
}
}
 else if (b==6)
{
tb.setText("JUNI");
if (t<=21)
{
zo.setText("GEMINI");
u.setText("ada persoalan dikehidupanmu");
pek.setText("keungan lagi boros");
cin.setText("mulailah PDKT dengan dia");
}

else if (t<=30)
{
zo.setText("CANCER");
u.setText("mulailah berpikir dewasa");
pek.setText("lagi bokek");
cin.setText("maafkanlah kesalahan dia");
}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
 else if (b==7)
{
tb.setText("JULI");
if (t<=22)
{
zo.setText("CANCER");
u.setText("mulailah berpikir dewasa");
pek.setText("lagi bokek");
cin.setText("maafkanlah kesalahan dia");
}
else if (t<=31)
{
zo.setText("LEO");
u.setText("belajarlah dari pengelaman hidupmu");
pek.setText("mulailah untuk menabung");
cin.setText("jangan terlalu kasar dengannya");
}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
 else if (b==8)
{
tb.setText("AGUSTUS");
if (t<=22)
{
zo.setText("LEO");
u.setText("belajarlah dari pengelaman hidupmu");
pek.setText("mulailah untuk menabung");
cin.setText("jangan terlalu kasar dengannya");
}
else if (t<=31)
{
zo.setText("VIRGO");
u.setText("hadapi masalahmu dengan semangat");
pek.setText("lagi hoki");cin.setText("dia lagi butuh bantuanmu");
}
else
{
 
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
 else if (b==9)
{
tb.setText("SEPTEMBER");
if (t<=22)
{
zo.setText("VIRGO");
u.setText("hadapi masalahmu dengan semangat");
pek.setText("lagi hoki");
cin.setText("dia lagi butuh bantuanmu");
}
else if (t<=30)
{
zo.setText("LIBRA");
u.setText("hargailah pendapat orang lain");
pek.setText("penuh perhitungan");
cin.setText("dia lagi cari perhatianmu");
}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
 else if (b==10)
{
tb.setText("OKTOBER");
if (t<=23)
{
zo.setText("LIBRA");
u.setText("hargailah pendapat orang lain");
pek.setText("penuh perhitungan");
cin.setText("dia lagi cari perhatianmu");
}
else if (t<=31)
{
zo.setText("SCORPION");
u.setText("perhatikanlah keluargamu");
pek.setText("lagi banyak pengeluaran");
cin.setText("lagi naksir yang lebih muda");
}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
else if (b==11)
{
tb.setText("NOVEMBER");
if (t<=21)
{
zo.setText("SCORPION");
u.setText("perhatikanlah keluargamu");
pek.setText("lagi banyak pengeluaran");
cin.setText("lagi naksir yang lebih muda");
}
else if (t<=30)
{
zo.setText("SAGITARIUS");
u.setText("jadilah diri kamu sendiri");
pek.setText("lagi seret");
cin.setText("dia lagi cemburu sama kamu");
}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
 else if (b==12)
{
tb.setText("DESEMBER");
if (t<=21)
{
zo.setText("SAGITARIUS");
u.setText("jadilah diri kamu sendiri");
pek.setText("lagi seret");
cin.setText("dia lagi cemburu sama kamu");
}
else if (t<=31)
{
zo.setText("CAPRICORN");
u.setText("manfaatkan IT yang tersedia");
pek.setText("pas-pasan");
cin.setText("lagi mesra-mesranya");
}
else
{
JOptionPane.showMessageDialog(null,"tanggal yang anda masukan salah");
}
}
else
{
JOptionPane.showMessageDialog(null,"bulan yang anda masukan salah");
}
}
});
 hapus.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
tg.setText("");
bl.setText("");
zo.setText("");
u.setText("");
pek.setText("");
cin.setText("");
tb.setText("");
}
});
 ex.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e){System.exit(0);
}
});
}
public static void main(String[] args){mistik a=new mistik();
a.komponen();
}
}
hasil :




Selasa, 13 Maret 2012

JAVA,Event Handling

 KONSEP DASAR
PENGERTIAN

Dalam event handling pada Java ada empat bagian penting yang harus diketahui:
  1. Event Object merupakan object yang mendiskripsikan sebuah event yang di-trigger oleh event source.
  2. Event Handler merupakan method yang menerima event object dan melakukan respond yang sesuai dengan event object tersebut.
  3. Event Listener merupakan interface yang akan meng-handle event yang terjadi. setiap type event mempunyai interface yang bersesuaian. Listener tersebut harus diimplementasikan oleh class yang akan meng-handle event
  4. Event Source merupakan pembangkit / trigger sebuah event objects
setiap event object mempunyai  type event yang berbdea beda. sehingga kita harus menentukan type event sebelum menentukan jenis interface listener. karena setiap type event mempunyai jenis interface listener yang bersesuaian.
berikut ini type type event yang ada di Java :
  1. ActionEvent
  2. ItemEvent
  3. WindowEvent
  4. ContainerEvent
  5. ComponentEvent
  6. FocusEvent
  7. TextEvent
  8. KeyEvent
  9. MouseEvent
  10. AdjustmentEvent
Berikut ini Interface Listener
  1. ActionListener
  2. ItemListener
  3. WindowListener
  4. ContainerListener
  5. ComponentListener
  6. FocusListener
  7. TextListener
  8. KeyListener
  9. MouseListener
  10. MouseMotionListener
  11. AdjustmentListener
Berdasarkan tulisan diatas, setiap type event mempunyai satu jenis interface listener kecuali MouseEvent yang mempunyai dua jenis interface listener. dan setiap interface mempunyai method abstract yang harus di override class yang meng-impletasikan interface. event listener dan event handler terdapat pada package java.awt.event
Bagaimana event handling dalam Java? ada tiga langkah penting dalam event handling
  1. Deklarasikan class yang akan meng-handle event yang terjadi dan tuliskan code yang menyatakan class tersebut meng-implement interface listener
  2. Event source mendaftarkan sebuah listener melalui method add<type>Listener
  3. Kode yang mengimplementasikan method pada interface listener pada class yang akan meng-handle event. [ Override ]
CONTOH SINTAK
MouseEventsDemo.java
package mouseeventsdemo;
import java.awt.*;
import java.awt.event.*;
/**
*
* @author yosian */
public class MouseEventsDemo extends Frame implements MouseListener, MouseMotionListener {  // Langkah 1
TextField tf;
public MouseEventsDemo( String title){
super(title);
tf = new TextField(60);
addMouseListener(this); // Langkah 2
}
public void launchFrame() {
/* Menambah komponen pada frame */
add(tf, BorderLayout.SOUTH);
setSize(300,300);
setVisible(true);
}
public void mouseClicked(MouseEvent me) { // Langkah 3
String msg = “Mouse clicked.”;
tf.setText(msg);
}
public void mouseEntered(MouseEvent me) {
String msg = “Mouse entered component.”;
tf.setText(msg);
}
public void mouseExited(MouseEvent me) {
String msg = “Mouse exited component.”;
tf.setText(msg);
}
public void mousePressed(MouseEvent me) {
String msg = “Mouse pressed.”;
tf.setText(msg);
}
public void mouseReleased(MouseEvent me) {
String msg = “Mouse released.”;
tf.setText(msg);
}
public void mouseDragged(MouseEvent me) {
String msg = “Mouse dragged at ” + me.getX()
+ “,” + me.getY();
tf.setText(msg);
}
public void mouseMoved(MouseEvent me) {
String msg = “Mouse moved at ” + me.getX()
+ “,” + me.getY();
tf.setText(msg);
}
}
main.java
package mouseeventsdemo;
/**
*
* @author yosian */
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
MouseEventsDemo med = new MouseEventsDemo(“Mouse Events Demo”);
med.launchFrame();
}
INNER CLASS
Inner Class adalah suatu Class yang didefinisikan di dalam Class lain. Dengan kata lain, Inner Class adalah anggota (member) dari Class lain, sama halnya seperti variable dan method. Hal ini mengakibatkan instance dari Inner Class dapat mengakses /berbagi dengan instance dari outer Class-nya. Instance dari Inner Class dapat mengakses semua member dari outer Class-nya, bahkan yang private.
Ok, Sekarang saya akan mencoba menjelaskan Inner Class yang regular (Inner Class yang biasa). Regular di sini maksudnya adalah bukan static, method-local, atau anonymous. Coba perhatikan Class berikut:
class MyOuter{

private int x = 7;

class MyInner {

public void seeOuter(){

System.out.println(“Outer x is ” + x);

}

}

}
Walaupun variabel x dari class MyOuter adalah private, MyInner tetap bisa mengaksesnya. Ini salah satu kelebihan dari Inner Class.
 INI ARGUMENT CLASS !!
This sample code prints all the command line arguments to the console.
public class CmdLnArgmntExp {

    public static void main(String[] args) {
        System.out.println("d");
        for (int i = 0; i < args.length; i++)
            System.out.println(args[i]);
    }

}
Run the program as the follows.
Java CmdLnArgmntExp arg1 arg2 arg3 arg4
Output:
arg1
arg2
arg3
arg4 
 
sumber : http://www.java-tips.org/java-se-tips/java.lang/how-to-pass-command-line-argument-in-a-java-pr.html
sumber : ratnokustiawan.files.wordpress.com/2011/03/event-handling.pdf

Jumat, 09 Maret 2012

JAVA,GUI java

KONSEP DASAR GUI Java

Graphical Object
Container (tempat), obyek yang dapat menampung komponen grafis dan tempat yang lebih
kecil
Contoh: frames, panels
Component, obyek grafis yang berfungsi untuk menampilkan data, menerima masukan, atau
menunjukkan suatu kondisi.
Contoh: buttons, labels, text fields
Event, obyek yang merepresentasikan suatu kejadian.
Contoh: gerakan mouse, penekanan tombol
Listener, suatu obyek yang menunggu suatu kejadian khusus dan akan bereaksi (melakukan
sesuatu) jika kejadian tersebut terjadi

PENGERTIAN
Java GUI merupakan sebuah konsep yang memadukan dua buah teknologi yang ada yaitu Java dan GUI (Graphical User Interface). Seperti kita ketahui bersama Java merupakan bahasa pemrograman yang sudah mulai banyak digunakan saat ini karena beberapa kelebihan yang dimiliki seperti kemampuan multiplatform yang dimiliki, OOP, pustaka Class yang lengkap dsb.
Sejarah…
Adapun pada versi awal peluncurannya pada tahun 1996 (selanjutnya disebut versi 1.0), bahasa pemrograman ini menyertakan beberapa paket standar yakni :
  1. java.lang yakni sebuah kelas untuk elemen-elemen dasar
  2. java.io yang merupakan kelas input dan output termasuk penggunaan file
  3. java.util yakni kelas pelengkap seperti kelas struktur data dan kelas penanggalan
  4. java.net yakni kelas TCP/IP (untuk jaringan)
  5. java.awt yakni kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI)
  6. java.applet yakni kelas dasar aplikasi antarmuka untuk browser
Sejak awal dibuatnya oleh Sun Microsystem, Java diorientasikan agar memiliki perangkat bergaya desktop dengan ToolkitJava yang dikenal dengan nama AWT (Abstract Windowing Toolkit). Kemudian pada tahun 1997 muncul JFC (Java Foundation Class) untuk kepentingan pembuatan aplikasi Window yang merupakan pengembangan dari AWT. JFC ini mempunyai kode swing yang terdapat pada package yang disediakan pada JAVA SDK versi 1.2 ke atas (Java 2).
Apa sebenarnya GUI…???????
Menurut referensi yang saya dapatkan, GUI (Graphical User Interface) merupakan sebuah teknologi antarmuka pengguna yang memungkinkan seseorang untuk berinteraksi dengan program dengan berbagai cara selain mengetik seperti halnya komputer, MP3 Player dll yang berisikan banyak tombol bergambar/icon dibandingkan teks. GUI yang merupakan kebalikan dari CLI (Command Line Interface) menggunakan icon grafis atau indikator visual untuk kenyamanan user.
Next, Java GUI….
Java sendiri menyediakan dua buah pustaka grafis dalam paketnya yaitu AWT dan Swing. Keduanya menyediakan komponen GUI yang dapat digunakan dalam membuat aplikasi Java dan Applet. Tidak seperti komponen AWT yang menggunakan native code, keseluruhan Swing menyediakan implementasi platform-independent dimana aplikasi yang dikembangkan dengan platform yang berbeda dapat memiliki tampilan yang sama.
Terdapat 4 hal yang perlu diperhatikan pada pemrograman GUI ini yaitu :
  1. Container (tempat) yaitu obyek yang dapat menampung komponen grafis dan tempat yang lebih kecil. Contoh : frames, panels.
  2. Component yaitu obyek yang berfungsi untuk menampilkan data, menerima masukan atau menunjukkan suatu kondisi. Contoh : buttons, labels dan text fields.
  3. Event yaitu obyek yang merepresentasikan suatu kejadian. Contoh gerakan mouse, penekanan tombol.
  4. Listener yaitu suatu obyek yang ‘menunggu’ suatu kejadian khusus dan akan bereaksi (melakukan sesuatu) jika kejadian tersebut terjadi.


CONTOH SINTAK
Container : Frame
import javax.swing.*;
class FramePertamaku extends JFrame {
public FramePertamaku() {
setTitle( "Frame Pertama );
setSize( 300 , 200 );
}
}
public class Frameku {
public static void main (String args[ ] ) {
FramePertamaku coba = new FramePertamaku();
coba.show();
}
}


Beberapa method java.awt.Frame
void setResizable (boolean b)
menentukan apakah user dapat merubah ukuran frame
void setTitle(String s)
mengatur teks pada title bar
void setIconImage(Image image)
gambar yang digunakan sebagai icon dari frame


Component : Text
import java.awt.*;
public class WindowText extends Frame {
public void paint(Graphics g) {
setSize(300, 200);
setTitle(getClass().getName());
Font f = new Font( "Monospaced , Font.BOLD, 16);
g.setFont(f);
g.drawString( "Hello ... , 10 , 100);
g.drawString( "Salam kenal dari Frame ... , 30 ,120);
}
public static void main(String[ ] args) {
WindowText coba = new WindowText();
coba.setSize(500, 300);
coba.setLocation(200, 100);
coba.setTitle("Window Text );
coba.show();
}
}


Component : Label
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class KomponenLabel {
public static void main(String[ ] args) {
JFrame frame = new JFrame("Membuat Label");
JLabel label = new JLabel("Pemrograman Berorientasi Obyek");
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
}
}
Component : Label
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class KomponenLabel {
public static void main(String[ ] args) {
JFrame frame = new JFrame("Membuat Label");
JLabel label = new JLabel("Pemrograman Berorientasi Obyek");
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
}
}
import java.awt.*;
import java.awt.event.*;
public class KomponenLabelBerformat {
public static void main(String[] args) {
JFrame frame = new JFrame("Membuat Label");
JLabel label = new JLabel("Pemrograman Berorientasi Obyek");
label.setForeground(Color.yellow);
label.setBackground(Color.blue);
label.setOpaque(true);
label.setFont(new Font("SansSerif", Font.BOLD, 14));
frame.getContentPane().add(label);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Component : TextField
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class TeksField {
public static void main(String[ ] args) {
JFrame frame = new JFrame("Membuat TeksField");
JLabel label = new JLabel("Nama :");
JTextField textField = new JTextField(20);
frame.getContentPane().setLayout(new FlowLayout());
frame.getContentPane().add(label);
frame.getContentPane().add(textField);
frame.pack();
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
contoh action listener :









SWT  yuuuukkk ...

Untuk memulai pemrograman dengan SWT, mari kita buat program sederhana yang kita namakan HelloSWT.
  • Anda membutuhkan "link" ke pustaka SWT. Ada dua cara untuk melakukannya :
  1. Menggunakan pustaka SWT bawaan dari Eclipse. Untuk ini Anda tidak perlu mendownload apa-apa. Pustaka SWT bawaan eclipse terdapat pada direktori Eclipse Anda, misalnya pada Windows (C:\eclipse\plugins\org.eclipse.swt.win32.win32.x86_3.4.1.v3449c.jar) atau pada Linux (eclise/plugins/org.eclipse.swt.gtk.linux.x86_3.4.1.v3452b.jar)
  2. Menggunakan pustaka SWT beserta sumber kodenya untuk dokumentasi lebih lengkap. Pustaka SWT ini bisa diunduh pada alamat berikut : http://www.eclipse.org/swt/. Pilih Releases -> Stable -> (platform Anda, misalnya Windos atau Linux). Setelah diunduh, import ke dalam Eclipse seperti Anda mengimport proyek-proyek pada website ini, yaitu dengan File -> Import -> General -> Existing Projects Into Workspace -> Select Archieve File -> (file zip SWT hasil download) -> Finish. Langkah ini hanya dilakukan satu kali saja.
  3. Buat proyek baru dari Eclipse, File -> New -> Java Project, kemudian isi Project Name dengan HelloSWT dan click Next 

  • Kita harus menambahkan pustaka SWT ke dalam proyek kita.
  1. Jika Anda menggunakan SWT bawaan Eclipse seperti di atas, pilih halaman Libraries. Klik Add External JAR, kemudian navigasi ke direktori plugin di dalam instalasi Eclipse Anda. Misalnya di komputer saya, direktori itu berada di C:\eclipse\plugins. Pilih JAR untuk SWT pada direktori tersebut. Namanya tergantung dari sistem operasi Anda, misalnya pada Windows file ini bernama org.eclipse.swt.win32.win32.x86_3.4.1.v3449c. Klik OK setelah file ini ditambahkan di dalam folder Libraries.
 Jika Anda mengunduh proyek SWT, pilih halaman Projects. Klik Add, kemudian tambahkan org.eclipse.swt. Kemudian klik OK setelah proyek ini ditambahkan.
 Folder proyek baru akan dibuat, seperti pada gambar berikut.
Kemudian klik kanan pada folder src, dan pilih New -> Class. Isi nama kelas dengan HelloSWT, nama package dengan helloswt, dan tik "public static void main(String[] args)" untuk membuat metode main() secara otomatis.


  • Ketik kode berikut ini di dalam metode main()
Display display = new Display();
        Shell shell = new Shell(display);
        shell.setLayout( new RowLayout());
        Label label = new Label(shell, SWT.NONE);
        label.setText("Hello, World!");
        shell.pack();
        shell.open();
        while (!shell.isDisposed())
            if (!display.readAndDispatch())
                display.sleep();
        display.dispose();
        label.dispose();
  • Perhatikan bahwa Display, Shell, RowLayout dan Label diberi tanda merah sebagai tanda bahwa kesalahan program terjadi.
  • Sekarang pindahkan mouse Anda pada kesalahan pada kelas Display. Eclipse akan memberi tahu Anda kesalahan apa yang terjadi. Pada contoh ini, kelas 'Display' belum diketahui oleh Eclipse. Klik pada pilihan Import 'Display' (org.eclipse.swt.widgets).  Lihat sekarang di awal program Anda Eclipse menambahkan import org.eclipse.swt.widgets.Display; secara otomatis.
  • Lakukan hal yang sama pada semua kesalahan, yaitu Shell, Label, RowLayout dan SWT.NONE, sehingga tidak ada lagi kesalahan yang dilaporkan oleh Eclipse.
  • Untuk menjalankan program Anda, klik tombol Run seperti pada gambar berikut.
  • Berikut ini adalah tampilan program SWT pertama Anda.


 
template by suckmylolly.com