The Importance of Sharing


Waktu lagi nyari artikel tentang javascript, secara ga sengaja saya menemukan sebuah artikel menarik di Blog ini artikel tersebut berisi tentang bagaimana membuat form dinamis menggunakan javascript. Nah, hal ini yang membuat saya penasaran, apakah di java khususnya desktop yang berbasis swing apakah komponen swingnya bisa dibuat dinamis atau tidak? Setelah saya coba – coba ternyata saya bisa menambahkan komponen swing secara dinamis namun dalam hal ini saya menggunakan JButton. Caranya adalah sebagai berikut :

  1. Buatlah sebuah Main Class yang mengextends JFrame seperti pada gambar dengan nama sesuai dengan kenginan anda, abaikan semua komentar yang ada.Main Class Mengapa mengextends JFrame ? Sebenarnya ada beberapa cara untuk membuat program java berbasis GUI (Graphical User Interface) , namun saya lebih menyukai cara ini yaitu dengan menurunkan class JFrame, karena dengan cara ini saya cukup bermain – main dengan class yang mengextends JFrame, daripada harus menginstance object dari JFrame pada main class. Bayangkan jika terdapat banyak GUI dan kita harus membuat instance dari masing – masing objek JFrame tersebut maka kepala akan dibuat pusing dengan banyakannya kode yang ada. Namun dengan membuat class yang menurunkan sifat – sifat daripada class JFrame kita cukup menginstance objek tersebut tanpa harus mengutak – atik di main class, sehingga kita bisa fokus pada satu JFrame
  2. Deklarasikan variabel yang akan digunakan, serta import beberapa class seperti pada gambar, supaya tidak error pada saat di-compile. Deklarasi Variable
    Disini saya menggunakan Class List untuk membantu saya menyimpan komponen swing, karena List merupakan Class Collection dari java yang memiliki jumlah yang tidak terbatas, berbeda dengan array yang harus diberikan batasan mengenai panjang array tersebut.
  3. Kemudian pada constructor ketikkan kode untuk menginisialisasi varibel yang telah dideklarasikan diatas. inisialisasi
  4. Setelah selesai melakukan inisialisasi nilai, masih didalam constructor, maka saatnya kita untuk mendesain form dengan berbagai atribut yang ada, seperti ukuran form, lokasi form, layout, dan lain sebagainya. desain form
    Pada screenshot kode diatas, saya mendesain ukuran form adalah setengah dari ukuran layar monitor yang digunakan, dan pada saat running, form akan tampil di tengah – tengah monitor. Saya asumsikan bahwa ukuran form tidak dapat dirubah sama sekali, karena pengaturan tata letak komponen swing adalah berdasarkan ukuran form itu sendiri.
    Pada kode diatas layout yang saya gunakan adalah null, mengapa demikian ? Karena dengan null layout kita bisa bebas mau meletakkan komponen swing dimana saja, sesuai dengan koordinat yang kita berikan kepada komponen tersebut. Contohnya bisa dilihat pada kode untuk menambahkan button tambah. Secara default ketika aplikasi pertama kali running, saya meload komponen swing dengan memanggil method tambahKomponen(). Apa saja isi didalam method tersebut, mari kita lihat langkah selanjutnya.
  5. Buatlah sebuah method, namanya terserah anda, dimana saya memberinya dengan nama tambahKomponen sesuai dengan method yang dipanggil pada constructor. method
    Nah pada method inilah komponen swing bisa ditambahkan secara dinamis namun saya memberi batasan bahwa penambahan komponen tidak boleh melebihi dari ukuran form yang ada. Hal ini dapat dilihat pada potongan kode

    int batas=getSize().height-getSize().height/4;
    if(lokasi<batas){}

    Jika penambahan komponen masih berada diluar area form maka akan muncul pesan yang memperingatkan user bahwa jumlah komponen telah melebihi ukuran form, sehingga komponen tidak bisa ditambah lagi. Untuk menambahkan komponen ke dalam form hal pertama yang dilakukan adalah dengan mengisi atau menambahkan masing -masing list sesuai dengan tipe komponennya. Jadi kalo list yang mengandung generic JTextfield, maka tambahkanlah komponen JTextfield didalamnya, sehingga kodenya akan seperti ini.

    textfield.add(new JTextField());
    label.add(new JLabel(“Nama”));
    button.add(new JButton(“Simpan”));

    Setelah masing – masing komponen tadi ditambahkan, selanjutnya kita tentukan lokasi penempatan dan ukuran masing – masing komponen. lokasi penempatan komponen diatur sedemkian rupa sehingga ketika ditambahkan komponen tidak akan bertumpuk pada satu lokasi, tetapi lanjut berada dibawah komponen sebelumnya. Nah caranya terdapat pada potongan kode berikut.

    textfield.get(textfield.size()-1).setLocation(getSize().width/4+150,
    getSize().height/10+lokasi);
    label.get(label.size()-1).setLocation(getSize().width/4+100,getSize().height/10+lokasi);
    button.get(button.size()-1).setLocation(getSize().width/4+350,getSize().height/10+lokasi);

    Kemudian lakukan perulangan untuk menambahkan komponen ke dalam JfFrame, dan jangan lupa tambahkan method repaint(). Supaya komponen berada dibawah komponen sebelumnya maka nilai lokasi selalu ditambah 28.

  6. Lalu mari kita beri action pada button tambah, supaya ketika di klik komponen seperti JTextfield dan lainnya bertambah. Caranya dengan menggunakan Class ActionListener yang terdapat pada package java.awt.event.*;.
    implement
    Kita bisa lihat disamping saya mengextends JFrame, saya juga mengimpelement Class ActionListener. Sebenarnya masih banyak lagi class – class yang berhubungan dengan event – event pada suatu form, tetapi karena event saya hanya ada pada saat suatu tombol diklik maka cukup menggunakan ActionListener. Karena mengimplement Class ActionListener maka kita harus menambahkan sebuah method yaitu adalah

    public void actionPerformed()

    Tambahkan kode seperti gambar dibawah ini.
    action
    Method actionPerformed wajib diisi karena kita mengimplements class Action Listener. Lalu kapan dipanggil method tersebut ? Method tersebut sebenarnya sudah kita panggil, yaitu pada constructor, silahkan anda periksa ada sebuah kode seperti ini.

    tambah.addActionListener(this);

    Kode tersebut akan mencari method actionPerformed yang terdapat pada class tersebut, dan menjalankan perintah atau action yang akan dilakukan

  7. Selanjutnya Compile file tersebut dan jalankan, maka tampilannya akan seperti ini,
    hasil
    Cobalah Klik button tambah, dan lihat hasilnya, jika benar maka secara otomatis akan ada komponen yang bertambah dibawahnya.
    klik
    Jika penambahan terus dilakukan dan komponen sudah sampai pada batas ukuran tinggi form maka akan keluar message yang memberitahu kita bahwa komponen sudah mencapai batas ukuran form
    peringatan

Demikian sedikit hal yang bisa saya bagi kepada anda, dan semoga bisa bermanfaat bagi kita semua. Dan bila terdapat kesalahan kata atau kurang dimengerti bisa ditanyakan melalui komentar. Program ini dapat di download melalui link ini
TERIMA KASIH :D

About these ads

Comments on: "Membuat Form Dinamis dengan Java (J2SE)" (1)

  1. [...] artikel yang sebelumnya saya menggunakan Class ArrayList untuk menampung komponen swing supaya bisa dinamis. Nah, mengapa [...]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: