Tampilkan postingan dengan label Java Moklet. Tampilkan semua postingan
Tampilkan postingan dengan label Java Moklet. Tampilkan semua postingan

Swing Make Over - BUTTON



Di dalam Java,teknikMakeOver ini sebenarnya hanya memanfaatkan method paintComponent(Graphics g) yang dimiliki oleh setiap JComponent. Contoh JButton yang sudah di-make over :





Pertama silakan buat java class, terserah kasih nama apa, kalo mau sama kasih nama ButtonMakeOver. Sourcenya :


  1. import java.awt.Color;
  2. import java.awt.GradientPaint;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.RenderingHints;
  6. import javax.swing.ButtonModel;
  7. import javax.swing.JButton;
  8. public class ButtonMakeOver extends JButton {
  9.     public ButtonMakeOver(String text) {
  10.    setText(text);
  11.         setBorderPainted(false);
  12.         setContentAreaFilled(false);
  13.         setFocusPainted(false);
  14.         setOpaque(false);
  15.         setForeground(Color.white);
  16.     }
  17.     @Override
  18.     protected void paintComponent(Graphics g) {
  19.         ButtonModel buttonModel = getModel();
  20.         Graphics2D gd = (Graphics2D) g.create();
  21.                 gd.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
  22.                 gd.setPaint(new   GradientPaint(0,   0,   Color.white,   0, getHeight(), new Color(0, 0, 0, 0)));
  23.         if (buttonModel.isRollover()) {
  24.             gd.setPaint(new GradientPaint(0, 0, new Color(0, 0, 0, 0), 0, getHeight(), Color.white));
  25.             if (buttonModel.isPressed()) {
  26.                 gd.setPaint(new GradientPaint(0, 0, Color.white, 0, getHeight(), Color.white));
  27.                 setForeground(Color.BLACK);
  28.             } else {
  29.                 setForeground(Color.white);
  30.             }
  31.         }
  32.         gd.fillRoundRect(0, 0, getWidth(), getHeight(), 25, 25);
  33.         gd.dispose();
  34.         super.paintComponent(g);
  35.     }
  36. }


Untuk melihat apakah JButtonnya sudah menjadi seperti gambar di atas silakan tulis source codeberikut (Test.java) :


  1. import java.awt.BorderLayout;
  2. import java.awt.Color;
  3. import javax.swing.JFrame;
  4. import javax.swing.JPanel;
  5. public class Test extends JFrame {
  6.     private ButtonMakeOver button =new ButtonMakeOver("My Button");
  7.     private JPanel panel;
  8.     public Test() {
  9.         panel = new JPanel(null);
  10.         panel.setBackground(Color.BLACK);
  11.         panel.add(button);
  12.         button.setBounds(20, 20, 120, 23);
  13.         setLayout(new BorderLayout());
  14.         add(panel, BorderLayout.CENTER);
  15.         setSize(200,100);
  16.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  17.     }
  18.     public static void main(String[] args) {
  19.         new Test().setVisible(true);
  20.     }
  21. }

Setelah itu run project dengan menekan shift+F6, dan akan terlihat JButton seperti ini :



  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

APA ITU JAVA SWING..??

Java Swing merupakan sekumpulan kelas - kelas yang digunakan untuk mengembangkan aplikasi berbasis GUI (Graphical User Interface). Java Swing merupakan versi peningkatan dari AWT (Abstract Window Toolkit). Kelas - kelas komponen GUI dalam Java Swing biasa diawali dengan huruf J.

Kelebihan Java Swing :

  1. Dibundle dalam Java Development.
  2. Netral terhadap semua sistem operasi.
  3. Mudah untuk di kembangkan.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Event Handling Java

Event ini berguna untuk menangani interaksi user dengan program, misalnya user memilih sebuah menu dalam aplikasi MIDlet.Untuk menangani event perlu mengimplementasikan interface CommandListener dan atau ItemListener.

CommandListener berfungsi untuk menangani jika user memilih Command tertentu
sedangkan ItemListener berfungsi untuk menangani jika user mengubah nilai seperti
misalnya mengubah pilihan pada ChoiceGroup.
Untuk memberikan gambaran sebuah event bekerja

contoh:

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ClickMe2 extends JFrame {
private JButton tombol, btnExit;

public ClickMe2() {
super (“Event Handling”);
Container container = getContentPane();
container.setLayout(new FlowLayout());
ClickListener cl = new ClickListener ();
tombol = new JButton (“Click Me!”);
tombol.addActionListener(cl);
container.add(tombol);
btnExit = new JButton (“Exit”);
btnExit.addActionListener(cl);
container.add(btnExit);
setSize (200,100);
setVisible (true);
}

public static void main (String arg[]) {
ClickMe2 test = new ClickMe2();
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

//inner class

private class ClickListener implements ActionListener {
public void actionPerformed (ActionEvent e) {
if (e.getSource() == tombol) {
JOptionPane.showMessageDialog(null, “You click me again, guys !!!”);
} else if (e.getSource() == btnExit){
JOptionPane.showMessageDialog(null, “See you, guys !”);

System.exit(0);
}

}
}

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Belajar Membuat GUI Dengan Java

Membuat GUI dengan java swing itu mudah. Dalam tutorial berikut ini akan di tunjukan caranya.

Pertama buatlah project dan buat sebuah Main class . Kemudian, instance sebuah object dari class JFrame lalu panggil method setVisible(true) pada object tersebut.


mainclassjframe
jalankan maka anda akan melihat tampilan GUI seperti ini
guikecil
Bentuknya tidak menarik ya? kita harus meresize-nya secara manual agar bentuknya lebih wajar. Untuk membuat ukurannya jadi lebih wajar, kali ini kita akan coba memanggil method setSize() dari object JFrame yang diberi parameter Width dan Height masing2 sebesar 300. Anda bisa menentukan ukurannya sesuka
setsize
Dan kita akan mendapatkan bentuk GUI yang lebih wajar
guibesar
Tapi ketika aplikasi ini di-close , ternyata aplikasi ini masih hidup (meskipun GUI-nya tidak tampak). Bagaimana kita tahu kalau aplikasi ini masih hidup? coba buka console pada Eclipse, kita akan melihat lampu berwarna merah masih menyala. Anda harus mematikannya secara manual.


aplikasimasihmenyala
Atau coba kalau kita lihat versi console DOS. Coba jalankan aplikasi GUI yang baru kita buat di DOS. Lalu kalau kita coba close kita akan melihat jendela console masih terbuka. Ini artinya aplikasi masih menyala.
consolemasihterbuka
Atau coba lihat versi jarnya (tahu kan cara membuat jar?). Apabila anda jalankan versi jar-nya lalu close aplikasi tersebut. Cobalah untuk memodifikasi file tersebut (me-rename , atau memindahkan , atau bahkan menghapus file tersebut), Misal kita hapus file tersebut setelah kita close apilikasinya. Anda akan segera melihat Error Message dari Windows karena mencoba memodifikasi file yang masih menyala.


errordelete
Satu-satunya cara adalah mematikannya secara paksa lewat Task Manager. Pada gambar Task Manager dibawah terlihat bahwa aplikasi javaw.exe masih menyala.
guiditaskmanager
Untuk menghindari hal ini maka kita perlu tambahakan satu method lagi yaitu setDefaultCloseOperation() yang diberi parameter JFrame.EXIT_ON_CLOSE untuk memberitahu GUI untuk segera meng-close aplikasi ketika kita menutupnya. Kali ini coba close aplikasi dan coba hapus atau direname aplikasinya. Tentunya sudah bisa karena kali ini aplikasi benar2 sudah tidak berjalan lagi (setelah di close).


exitonclose
Ohya! Bagaimana kalau kita beri pada Frame kita ini? Misalnya “My First GUI”. Kita bisa melakukannya dengan cara memasukkan String tersebut pada constructor.


titlepadaconstructor
Atau dengan memanggil method setTitle()
titlepadasettitle
Maka GUI kita akan tampak


berititlepadaconstructor

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Tipe - Tipe Stream I/O Pada Java

  1. Stream Karakter dan Byte

Stream byte adalah abstraksi file atau alat untuk data biner sedangkan stream karakter adalah untuk karakter Unicode. Class InputStream adalah abstraksi class root untuk semua input stream byte, sedangkan class OutputStream adalah class root abstraksi dari semua output stream byte. Untuk stream karakter, superclasss yang sesuai dari semua class-class secara berturut-turut adalah class Reader dan the Writer. Kedua class-class ini adalah abstraksi class-class untuk membaca dan menulis stream karakter.


2.  Input dan Output Stream


Stream juga dikategorikan berdasarkan apakah mereka digunakan untuk membaca atau menulis stream.Anda diijinan untuk membaca dari input stream tapi tidak menulisnya. Di lain pihak, Anda diijinkan untuk menulis output streams tapi tidak membacanya.
Class InputStream dan class Reader adalah superclass-superclass dari semua input stream. Class OutputStream dan class Writer adalah class-class root dari semua output stream. Input stream juga dikenal sebagai stream sumber (source stream) sejak kita memperoleh informasi dari stream ini. sementara itu output stream disebut juga stream.

3.  Node dan Stream Filter


Kini package java.io membedakan antara node dan stream filter. Sebuah stream node adalah sebuah stream dengan fungsi dasar berupa fungsi membaca atau menulis dari sebuah lokasi khusus seperti pada disk atau dari jaringan. Tipe-tipe dari stream node terdiri atas file, memory dan jalur data. Stream filter, di lain pihak, diletakkan pada layer stream node diantara threads atau proses untuk menyediakan fungsi tambahan yang
tidak dapat ditemukan dalam stream node oleh stream node itu sendiri. Penambahan lapisan pada sebuah stream node disebut dengan stream chaining. Sesi ini berturut-turut mempunyai sebuah tujuan dari class-class stream yang berbeda.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Pemrograman Java

 
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web.

Sejarah Java

Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems.

Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven).

Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto. Perusahaan baru ini bertambah maju: jumlah karyawan meningkat menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer.

Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java.

Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995.
Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape.
Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java).

Kelebihan Java 

  • Multiplatform. kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java yang diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebanya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut.
  • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun.
  • Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
  • Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
  • Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
Kekurangan Java 
  • Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
  • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer.
  • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS