Tampilkan postingan dengan label Menengah. Tampilkan semua postingan
Tampilkan postingan dengan label Menengah. Tampilkan semua postingan

Jumat, 11 Juni 2010

Swing Make Over - Bring Mac Os GUI to your Java Application

Hmmmm, dah lama ga posting, susah ngatur waktu. yaaa mo di gimanaain, gak kerja gak makan hehehe. gini nih nasibnya single fighter buat program sendiri ngerancang sendiri, eeeh jual juga sendiri hehehe

But it's Ok, namanya juga Hidup.

Ohya saat ini lagi buat program absensi sekolah pake Barcode Reader, saya pake tehnik swing make over buat tampilannya. Komentar ya

Halaman Utama Absensi Siswa (Full Screen)



Panel Piket (Buat Entri absensi siswa yang kesiangan, Izin Ato Sakit)



Form pengisian data Absensi Siswa Buat Entri absensi siswa yang kesiangan, Izin Ato Sakit)



Cara kerjanya tinggal masukin Keterangan ketidak hadirannya trus enter, masuk deh tuh ke database
read more...

Selasa, 18 Agustus 2009

Membuat Aplikasi SMS Gateway Sederhana

Dua bulan kemaren sibuk bikin project SMS Gateway, sebelumnya nyari2 Tutorial SMS gateway yang dilengkapi Kode nya susah banget. tak coba cari cari di Google ketemu beberapa Library, tapi cuma ada satu nih yang menurut saya asik, SMS Lib.

ya saya fikir mending di share aja pengalaman yang sedikit ini, siapa tau berguna buat temen2.

tapi Artikel + Library Lengkapnya Download aja ya, habis kepanjangan kalo di tulis di sini.

Artikel

Library
read more...

Senin, 15 Juni 2009

Swing MakeOver Part 4, Cool TextField

Akhirnya, bisa posting juga, lama banget gak posting. Pada Postingan kemaren, saya membahas tentang Buffered image, yang menjadi salah satu dasar dalam Swing Makeover. Nah sekarang saya akan memberikan salah satu contoh penggunaan Buffered image.

Ok, sebelumnya coba perhatikan textBox pencarian pada beberapa IE, or Firefox:

IE

Kalo kita perhatikan, ada sesuatu yang menarik pada textbox pencarian diatas, yup benar tektboxnya punya Background, dan Backroundnya akan ilang kalo fokuskan cursot ato kita ketikan sesuatu.

Wah keren juga ya, :).

Ya udah kita buat aja, gampang koq

Siapkan sebuah gambar (buat kita jadiin background). Klo saya pake gambar ini:

Sesuaikan ukurannya. (biasanya ukuran standard TextField memunyai tinggi kira-kira 20px) jadi gambarnya kita berikn tinggi kurang lebih 16 px. (Atau sesuaikan saja sesuai keinginan)

Trus, Buat sebuah project baru (Saya pake netbeans). Trus buat class baru. (Saya kasih nama QCoolTextField aja ya).

Kemudian ketikan kode berikut:

/**

* DILARANG MENGGUNAKAN FILE INI TANPA SEIZIN PENGEMBANG
* Lisensi ada pada : Fiqri Tech.
* Copyright : 2009 Fiqri Tech.
*
* Kerusakan, atau hal-hal yang merugikan akibat penggunaan file ini
* tanpa seizin pihak kami, maka kami tidak bertanggung jawab
*
*
* QCoolTextField.java
*
* Created on 16 Jun 09, 7:56:54
*/



package ovq.cooltextfield;


import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.awt.image.BufferedImage;
import javax.swing.ImageIcon;
import javax.swing.JTextField;

/**
*
* @author Fiqri Tech.
*/

public class QCoolTextField extends JTextField{
private BufferedImage bg;
private boolean fokus = false;

public QCoolTextField() {
bg = QBufferedImage.loadCompatibleImage(new ImageIcon(getClass().getResource("/ovq/cooltextfield/resource/BlackOnta.png")).getImage());

addFocusListener(new FocusAdapter() {

@Override
public void focusGained(FocusEvent e) {
fokus = true;
repaint();
}

@Override
public void focusLost(FocusEvent e) {
fokus = false;
repaint();
}
});
}

@Override
protected void paintComponent(Graphics g) {
Graphics2D g2=(Graphics2D)g.create();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
super.paintComponent(g);
if ( !fokus && getText().trim().equals("")){
g2.drawImage(bg, 3, 3, null);
}

g2.dispose();
}

}

Perhatikan kode yang di garis bawahi, sesuaikan dengan classpath project dimana gambar disimpan.

Trus compile, klo gak ada error berarti suksess.

Dah gitu buat sebuah JFrame. Drag class QCoolTextField yang baru kita compile. Atur atur posisi sesuai dengan keinginan.

Kurang lebih kayak ginilah:

Trus Compaild n cobain deh.

Hasilnya kira kira kayak gini:

Gampang kan,

Ok deh cobain, dan ingat ini Cuma contoh, temen temen bisa menggunakannya untuk keperluan yang lain, misalnya indicator pada Form Isian:

Ya udah klo belom jelas, Download aja SourceCodenya, trus bongkar n acak-acak deh sampe ngerti hehe pisss ah .

read more...

Selasa, 02 Juni 2009

Let's Start to Rock Your Swing Part 2

Awal bulan, hari yang baik buat nge-Blog. yup refreshing dari kegiatan yang melelahkan dan menguras tenaga.

BufferedImage. Yup itulah tema postingan kali ini. BufferedImage merupakan salah satu yang terpenting dalam melakukan Swing Make Over, terutama yang berhubungan dengan maipulasi Image. dengan membuat BufferedImage dari sebuah Image, maka kita akan mudah dalam melakukan manipulasi terhadap sebuah gambar.

postingan kali ini akan sedikit memberikan pencerahan (Cieeeee pencerahan)
beberapa cara yang bisa kita gunakan untuk membuat BufferedImage.

Supaya lebih mudah saya telah membuat sebuah Class yang berisi kumpulan method yang bisa digunakan untuk membuat BufferedImage. Download Disini.

berikut ini salah satu hasil manipulasi BufferedImage.


read more...

Senin, 18 Mei 2009

Menampilkan Data di JTable adalah Mimpi Buruk, Benarkah???

Salah satu komponen Swing yang paling sering kita gunakan dalm membuat sebuah aplikasi (terutama aplikasi database), adalah JTable milik Swing.
Komponen yang sangat penting ini, memiliki kemampuan yang luas. baik dari segi tampilan/interface ataupun dari segi data yang ada didalammnya.

Bagi sebagian orang, menggunakan JTable merupakan mimpi buruk. kesan pertama yang di berikan saat menggunakan mengggunakan Jtable itu Rumit, tidak semudah menggunakan table milik delhpi atau VB.

Mitos diatas tidak sepenuhnya benar, menurut saya, Penggunaannya cukup simple koq, gak percaya ???? Ok klo begitu baca terus supaya percaya.

Sedikit pemberitahuan :):
Jtable hanya berfungsi sebagai Viewer data. artinya data yang sebenarnya tidak disimpan didalam JTable melainkan dalam TableModel. jadi salah klo mengira data yang kita inputkan kedalam JTable disimpan di Jtable.

dengan begitu untuk merubah, menambah, mengambil nilai yang ada di dalam JTable yang diperlukan adalah mengubah TableModel nya saja.

Ilustrasi:


Saran:
Sekedar saran (tanpa bermaksud menggurui), kalo kita akan menggunakan JTable, terutama jika data yang akan kita masukan bersifat dinamis,:
1. Buat Class tersendiri sebagai TableModel. caranya: buat class baru kemudian extendskan AbstractTableModel lalu implementskan semua Abstract Methodnya.
2. buat method untuk menambahkan data pada Table Model. misal addDataPegawai(List peg){}, dll.
3. Supaya temen-temen lebih memahami konsep ini, kayaknya bagus deh kalo temen-temen mempelajari lebih lanjut tentang konsep MVC (model, View, Controller). cari aja deh di mang Google .

Aduh bingung ya? sorry masih belajar nulis.

Inetnya ga asik jadi Download aja deh Sourcenya trus Acak-acak deh.



Kodenya berisi tentang Memisahkan TableModel dengan Tablenya, Menginputkan macam2 data kedalam Tabel, Mengambil macam2 data dari JTable, menginputkan data dari tabel ke berbagai komponen swing lainnya. dan yang lainnya
read more...

Rabu, 11 Februari 2009

Tutorial: Pembuatan Aplikasi MySQL Viewer dengan Netbeans

Halooo semuanaya...... ini Tutorialku yang pertama.

Idenya adalah mempbuat Aplikasi MysqlViewer (Kayak PHPMyqdmin, Ato MySQL Administrator). Ya lumayan lah buat latihan dan memperdalam Skil dibidang Java Programing.

Download Tutorial: MySQLViewer.pdf
Download SourceCode Penyerta+MySQL Conector: SourceCode

ScreenShoot:











Semoga Bermanfaat -------
read more...

Senin, 09 Februari 2009

Cara termudah membuat JTabel langsung databse kedalam di Java. (Versi Netbeans)

Membuat Tabel dalam Java emang gampang-gampang gampang, he. Ya daripada harus dibuat susah, mending digampang-gampangin.

Untuk membuat table di java sebenarnya gampang, langkah yang mesti dilakukan sebagai berikut:

  • Buat Model Tabelnya, buat sebuah Class, kemudian Extend-kan AbstractTableModel. (bisa juga sih meggunakan DefaultTableModel)
  • Buat table baru dengan Model yang kita Buat.

Ex.
JTable table=new JTable(model);
Atau
JTable table=new JTable();
Table.setModel(model );


Kalau pake Netbeans malah lebih gampang lagi tinggal buat Project, buat Sebuah JFrame, masukan JTable Atur Modelnya di pallete Properties.Tapi masalahnya adalah ketika kita ingin memmbuat sebuah program yang dinamis (kita ingin field ini ada, field itu gak ada, dll), dan kita berurusan dengan berpuluh-puluh script query yang mesti di exsekusi dan ditampilkan hasilnya di dalam JTabel, hayoo Gimana tuh, pasti repot .

Tapi tenannnnnng, BlackOntaZone punya solusi jitu untuk mengatasi hal ini.

Ok Siap Boss? Kita mulai

Untuk project ini kita bisa pake Netbeans sebagai alat bantu.


Buka Netbeans dan Buat Project biarkan Set Main Project dan Create Main Class.

Buat Package-package nama_project , nama_project.db, nama_project.ui, seperti gambar dibawah ini:


Kemudian pada Package nama_project.db buat Class baru dengan nama Koneksi dan JDBCModel (Nama Bebas lah).

Kemudian pada Package ui buat Class baru dengan nama TabelView (Nama Bebas Juga lah) Ingatkan untuk selalu memisahkan class sesuai dengan fungsinya didalam Package.

Langkah selanjutnya, Buka Class Koneksi dan beri nama, kemudian ketikan kode berikut:


package jdbctabel.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class Koneksi {

Connection koneksi;
private String urlDB="jdbc:mysql://localhost/nama_database";
private String username="root";
private String pass="password_mysql";

public Koneksi(){
}
public boolean buatKoneksi(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
koneksi=DriverManager.getConnection(urlDB, username, pass);
}catch(Exception e){
e.printStackTrace();
return false;
}
return true;
}

public Statement getStatemen(){
if(buatKoneksi()){
try{
Statement state=koneksi.createStatement();
return state;
}catch(SQLException e){
e.printStackTrace();
return null;
}
}else return null;
}
}

Langkah kedua, buka Class JDBC Table Kebudian Ketikan kode Berikut di awal Class:

Kemudian Buat Variable judulTabel, dan isiTabel;




Akan ada indicator error di kiri Workspace, klik Implement All Abstract Model.


Ganti code bawaan Netbeans dengan kode berikut:

Kalau sudah, buat Method untuk mengmbil record dari database:

public void buatTabel(String sql){
Statement state=new jdbctabel.db.Koneksi().getStatemen();
try{
ResultSet hasil=state.executeQuery(sql);
ResultSetMetaData meta=hasil.getMetaData();
judulTabel=new String[meta.getColumnCount()];
ArrayList sem=new ArrayList();
for(int i=0; i < meta.getColumnCount();i++){
sem.add(meta.getColumnName(i+1));
}
judulTabel=new String[sem.size()];
sem.toArray(judulTabel);


hasil.last();
isiTabel=new Object[hasil.getRow()][judulTabel.length];
hasil.beforeFirst();
int baris=0;
while(hasil.next()){
for(int i=0;i<judulTabel.length;i++){
isiTabel[baris][i]=hasil.getString(i+1);
}
baris++;
}
}catch(Exception e){
e.printStackTrace();
}
}


Tambahkan method diatas pada bagian constructor class:


Tambahkan lagi sebuah Method untuk meng-override method getColumnName():

@Override

public String getColumnName(int index){

return judulTabel[index];

}


Setelah itu, buat sebuah JFrame kemudian tambahkan sebuah JTable kedalamnya.

Pada property model klik tombol ellipsis kemudian pilih Coostum Code.


Lalu ketikan kode berikut:

new jdbctabel.db.JDBCModel("SELECT * FROM mahasiswa");

Jangan Lupa untuk menambahkan kode ini di Class Main:


Nah nah nah beres deh


Gimana, Gampangkan……

Q: Gampang sih, tapi koq judul kolomnya masih gitu, kan ga lucu kalau judul Kolomnya kayak gitu?? Bagusnya sih no, nama, kota, no_hp nya diganti No, Nama Mahasiswa, Kota Asal, No Handphone, iya kan??? Bisa gak Pik???.

O: O…. tenang za, BlackOntaZone punya tipsnya, supaya judul tabelnya sesuai dengan keinginan kita.

Untuk merubah judul tabelnya supaya sesuai dengan keinginan kita, kita tinggal rubah saja syntax SQL nya, misql untuk kasus diatas jadi kayak gini:

Model Awal:

new jdbctabel.db.JDBCModel("SELECT * FROM mahasiswa");

Rubah Jadi:

new jdbctabel.db.JDBCModel("SELECT no AS No, nama AS “Nama Mahasiswa”, kota AS Kota Asal, no_hp AS “No Handphone” FROM mahasiswa");


Jreng Jreng Jreng, Nama kolomnya berubah (dengan menambahkan Class untuk menyesuaikan Kolom, maka tampilannya jadi lebih enak dilihat).


Coba, trus coba untuk Brekreasi hal ini untuk mengembangkan sebuah aplikasi, siapa tau bisa buat Library sendiri. Enak kan kalo buat table di Java tinggal set Koneksinya, trus tinggal set Querynya Jadi deh.

Download Source Code: JDBC Table

Atau mau yang udah Jadi??? Tunggu aja deh. (Kalau gak sibuk ya or send an email to me on blackonta@gmail.com).

read more...