BAB
I
PEMBAHASAN
A.
Pengertian
GUI Pada JAVA
Java GUI adalah
pemrograman dengan bahasa Java yang dibuat menggunakan aplikasi yang
berbasiskan GUI. Tujuannya adalah menambahkan beberapa komponen yang tidak bisa
dibuat dalam basis text.
Komponen-konponen
tersebut bisa berupa tombol, gambar, dll. Tujuannya adalah untuk memudahkan
user menggunakan program yang dibuat tersebut.
Kalau dilihat
pengertian tentang GUI secara umum adalah Interaksi yang dapat dilaksanakan
oleh user melalui menu dan icon yang diperlihatkan dalam modus grafik. Contoh
implementasi GUI-based shell ini adalah pada sistem operasi Microsoft Windows.
B.
Jenis-Jenis
Gui
Diantara
jenis-jenis gui di java adalah:
1.
AWT
(Abstract Window Toolkit) – SUN Microsystem -> Oracle Product
AWT (Abstract Window Toolkit) ini adalah GUI Toolkit pertama pada
bahasa pemrograman Java, sayang-nya AWT ini sangat-sangat kekurangan komponen
yang biasa digunakan untuk membangun sebuah aplikasi desktop secara lengkap
(komponen tabel saja tidak ada ) Terlepas dari kurang-nya komponen GUI yang
terdapat pada AWT (Abstract Window Toolkit), aplikasi yang dibangun menggunakan
AWT (Abstract Window Toolkit) akan tampak seperti aplikasi native. Maksudnya
yaitu, jika aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) ini
dijalankan pada Sistem Operasi Windows. Maka aplikasi ini akan terlihat seperti
aplikasi Windows pada umum-nya, dan begitu juga jika dijalankan pada Sistem
Operasi Mac ataupun GNU/Linux. Kenapa ini bisa terjadi, karena AWT (Abstract
Window Toolkit) ini benar-benar memanggil native subrutin untuk menggambar
setiap komponen-nya ke layar.
2.
SWT
(Standart Widget Tookit) – IBM Product -> Eclipse Foundation
SWT (Standart Widget Toolkit) ini adalah sebuah GUI Toolkit yang
dikeluaran oleh IBM sebagai alternatif dari AWT/Java Swing milik SUN
Microsystem, yang membedakan antara SWT (Standart Widget Toolkit) dan AWT/Java
Swing adalah SWT ini benar-benar mengakses native GUI library yang terdapat
pada Sistem Operasi melalui JNI (Java Native Interface). Dengan model seperti
ini, memungkinkan tampilan aplikasi yang dibangun menggunakan GUI Toolkit SWT
menjadi sama persis dengan aplikasi native lain-nya. Kekurangan dari model
pemanggilan native GUI library seperti ini adalah kita harus menyediakan
library untuk tiap-tiap Sistem Operasi target aplikasi kita.
3.
QtJambi
– Trolltech -> Nokia Product -> Stopped and Taken By Community
Pernah menggunakan Desktop Environment KDE ? Ingin membuat aplikasi
yang tampilan-nya mirip denganKDE ? Kalau teman-teman ingin membangun aplikasi
yang tampilan-nya tampak seperti aplikasi yang terdapat pada KDE tapi masih
ingin menggunakan bahasa java sebagai dasar-nya, maka QtJambi adalah pilihan
yang tepat untuk teman-teman. Karena QtJambi ini merupakan binding Qt Framework
dengan bahasa Java, tetapi sayang-nya proyek QtJambi sudah tidak disupport oleh
Nokia dan secara resmi telah ditutup Untung-nya, awal tahun ini ada beberapa
developer yang peduli dengan kelangsungan proyek ini dan akhir-nya membuat
sebuah komunitas untuk melanjutkan pengembangan proyek QtJambi.
4.
avaGNOME
– Community Product
Kalau QtJambi diatas ditujukan untuk teman-teman yang sudah akrab
dengan API (Application Programming Interface) Qt Framework, berbeda dengan
JavaGNOME Proyek ini lebih dikhususkan untuk teman-teman pecinta GTK atau yang
paling banyak dikenal yaitu GNOME Sama seperti GUI Toolkit SWT dan QTJambi,
JavaGNOME ini juga mengakses native library tetapi API yang digunakan adalah
API dari GTK. Untuk teman-teman yang sudah terbiasa membangun aplikasi
menggunakan Glade, maka teman-teman bisa men-design form-nya menggunakan Glade
dan memanggil-nya menggunakan bahasa java melalui JavaGNOME.
C.
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
BAB II
IMPLEMENTASI
A.
Membuat
Aplikasi Gui Pada Java
Dalam membuat
aplikasi gui pada java kami menggunakan NeBeans. Berikut adalah script atau
coding aplikasi yang kami buat :
/*
* To change this template, choose Tools |
Templates
* and open the template in the editor.
*/
/*
* perhitungan.java
*
* Created on 08 Mei 12, 13:45:25
*/
package
tugasguijava;
/**
*
* @author gembel
*/
public class
perhitungan extends javax.swing.JFrame {
private String tulisan = "Hasil =
";
private int a,b;
/** Creates new form perhitungan */
public perhitungan() {
initComponents();
}
/** This method is called from within the
constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The
content of this method is
* always regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold
defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
satu = new javax.swing.JTextField();
dua = new javax.swing.JTextField();
tambah = new javax.swing.JButton();
hasil = new javax.swing.JLabel();
kurang = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
satu.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
satuActionPerformed(evt);
}
});
tambah.setText("+");
tambah.addActionListener(new
java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent
evt) {
tambahActionPerformed(evt);
}
});
hasil.setText("???");
kurang.setText("-");
kurang.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
kurangActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 400, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(104, 104, 104)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addComponent(dua,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, 56, Short.MAX_VALUE)
.addComponent(satu,
javax.swing.GroupLayout.DEFAULT_SIZE, 56, Short.MAX_VALUE)
.addComponent(hasil))
.addGap(240, 240, 240))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING,
false)
.addComponent(kurang, javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(tambah,
javax.swing.GroupLayout.Alignment.LEADING,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
.addContainerGap())))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGap(0, 300, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGap(61, 61, 61)
.addComponent(satu, javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(3, 3, 3)
.addComponent(dua,
javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tambah)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(kurang)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(hasil)
.addContainerGap(118,
Short.MAX_VALUE))
);
pack();
}// </editor-fold>
private void
satuActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void tambahActionPerformed(java.awt.event.ActionEvent
evt) {
// TODO add your handling code here:
a = Integer.parseInt(satu.getText());
b = Integer.parseInt(dua.getText());
int tbh = a + b;
hasil.setText(tulisan + tbh);
}
private void
kurangActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
a = Integer.parseInt(satu.getText());
b = Integer.parseInt(dua.getText());
int krg = a - b;
hasil.setText(tulisan + krg);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new
Runnable() {
public void run() {
new
perhitungan().setVisible(true);
}
});
}
// Variables declaration - do not
modify
private javax.swing.JTextField dua;
private javax.swing.JLabel hasil;
private javax.swing.JButton kurang;
private javax.swing.JTextField satu;
private javax.swing.JButton tambah;
// End of variables declaration
}
B.
Hasil
Ketika coding
diatas dijalankan maka hasilnya adalah sebagai berikut :
Kemudian jika
texbox diisi dan + diklik maka akan keluar hasil penambahan.
Kemudian jika
texbox diisi dan - diklik maka akan keluar hasil pengurangan.
DAFTAR
PUSTAKA
Kelompok 1:
Muhammad Ulin Nuha 2009-51-124
Fathul Manan 2009-51-138
Rif'an 2009-51-034
0 komentar:
Posting Komentar