Minggu, November 14, 2010

full version.. logika program GUI faktorial AP1 pert 7

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.*;

Digunakan untuk mengimport package dari komponen pembuatan GUI pada java,yaitu menggunakan komponen AWT dan swing.dan menggunakan komponen AWT untuk membuat sebuah Event dengan adanya koding ActionEvent dan menggunakan ActionListener untuk menerima perintah dari ActionEvent dan memproses Event tersebut dengan menyimpannya dalam package.

class swingFrame extends JFrame {

Digunakan untuk membuat class swingFrame dan merupakan kelas turunan dari class JFrame.

private int lebar = 320;

private int tinggi = 125;

private diatas mengidentifikasikan bahwa class diatas tidak bisa diakses oleh class yang lainnya.dan class ini memiliki tipe data integer yang dideklarasikan dengan variable lebar dan tinggi yang mimiliki nilai masing-masing untuk menentukan lebar dan tinggi dalam membuat frame dalam satuan pixel.

public swingFrame() {

Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

setTitle("Swing Components");

setSize(lebar, tinggi);

setLocation((screen.width - this.lebar) / 2, (screen.height - this.tinggi) / 2);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setResizable(false);

Menjelaskan bahwa class dari swingFrame memiliki tingkat akses public yang berarti class ini bisa diakses oleh class yang lainnya.dan membuat method-method yang digunakan untuk membuat frame seperti pengaturan ukuran frame.dan siteTitle digunakan untuk membuat judul dari frame tersebut,setsize untuk memanggil variable lebar dan tinggi,setLocation digunakan untuk menempatkan posisi frame secara default ketika program pertama kali diruning,kenapa lebar dan tinggi dibagi dua?ini mengidentifikasikan bahwa frame ini akan terletak pada tengah-tengah layer nantinya secara default.sedangkan setDefaultCloseOperation diset EXIT_ON_Close agar ketika kita menutup frame,kita dapat menulis kembali di command prompt atau compiler lainnya.dan setResizable digunakan untuk memerintahkan apakah frame ini bisa diatur ukurannya,jika bisa maka kita harus mengetikkan perintah true.

maaf ya cuma sepotong logika aja,klo mau sedot aja semua.menghindari kesamaan atau kemiripan logika kita.

^_^

Logika di atas adalah logika yang berasal dari blog abang fadli.. supaya saya nggak reopt2 nulis, saya copy aja di atas.. dan selebihnya akan saya lanjutkan,,

Perintah berikutnya, untuk membuat dan melakukan pengaturan tampilan button.

swingPanel panel = new swingPanel();

Container cont = new Container();

cont = getContentPane();

cont.setLayout(null);

panel.setBounds(35, 20, 250, 50);

cont.add(panel);

swingPanel panel = new swingPanel();

membuat objek baru dengan nama panel, dimana objek ini di gunakan untuk menentukan posisi dan ukuran dari panel button yang nantinya akan di gunakan secara visual.

Container cont = new Container();

membuat objek container baru dengan nama cont, dimana objek ini di gunakan untuk membuat penyimpanan nilai yang nantinya akan di isis oleh objek panel.

cont = getContentPane();

merupakan satu perintah untuk menciptakan button yang memiliki isi. Dan nantinya akan di isi oleh komponen-komponen control tingkat dasar, seperti JButton dan JTextField pada class selanjutnya.

cont.setLayout(null);

memberikan nilai null (kosong) pada setLayout, karena setLayout akan di isi pada class swingPanel.

panel.setBounds(35, 20, 250, 50);

untuk mengeset, atau memberikan pengaturan posisi dan ukuran panel.

cont.add(panel);

menyatakan bahwa objek panel di masukkan atau di isikan ke dalam objek cont.

class swingPanel extends JPanel {

mendeklarasikan kelas baru, yang merupakan kelas turunan dari container JPanel.

private JButton fakbutton = new JButton("Proses");

mengisi button baris pertama, kolompertama, dengan nama tampilan button “proses”

private JButton reset = new JButton("Reset");

mengisi button di baris pertama kolom kedua , dengan nama tampilan button “reset”

private JTextField angka1 = new JTextField("");

mengisi button di baris kedua kolom pertama , dengan tampilan test kosong.

private JTextField hasil = new JTextField("");

mengisi button di baris kedua kolom kedua , dengan tampilan text kosong.

public swingPanel() {

memanggil method swingPanel yang berisi harga

fakbutton.addActionListener(new fungsiAction());

reset.addActionListener(new fungsiAction());

memberikan perintah terhadap variabel fakbutton dan reset, bahwa keduanya merupakan button pemprosesan yang akan di klik, dan menjalankan prosesnya.

hasil.setEditable(false);

menyatakan bahwa variabel hasil, atau kotak button hasil, merupakan text kosong yang akan memiliki nilai yang fleksibel.

setLayout(new GridLayout(2, 2, 5, 5));

memberikan harga baru pada setLayout, dengan ketentuan banyaknya baris dan kolom, seta besarnya ukuran antar button.

add(angka1);

add(fakbutton);

add(hasil);

add(reset);

menambahkan prilaku angka1, fakbutton, hasil, dan reset ke dalam button-button yang baru di buat.

int faktorial(int x) {

if (x == 1) return 1;

else return x * faktorial(x - 1);

meupakan penjabaran proses yang dio berikan terhadap variabel vaktorial. Dengan logika sebagai berikut..

int factorial (int x) akan di tuliskan, jika x sama dengan 1, nilai akan di kembalikan menjadi 1, dan jika tidak, maka nilai akan di kembalikan tehadap nilai x, dan kemudian akan di kalikan dengan nilai factorial (x-1). Sehingga akan menghasilkan nilai perkalian berurut, dan memberikan nilai hasil factorial dari nilai yang kita masukkan.

private class fungsiAction implements ActionListener {

mendeklarasikan kelas baru yang akan memberikan prilaku baru pada button-button yang telah di buat.

public void actionPerformed(ActionEvent ae) {

try {

if (ae.getActionCommand().equals("Proses")) {

int var = Integer.parseInt(angka1.getText());

hasil.setText(Integer.toString(faktorial(var)));

fakbutton.setEnabled(false);

menyatakan bahwa pemprosesan yang di lakukan, jika, (ae.getActionCommand() (melakukan klik terhadap button, sama dengan “proses” maka nilai yang akan di ambil atau di hitung adalah nilai dari button kolom angka1, dan nilai tersebut akan di masukkan ke dalam variable x, dan kemudian nilai x akan di hitung dan hasilnya akan di masukkan ke dalam button kolom “hasil”.

Dan setelah itu button kolom fakbutton akan di nonaktifkan sementara, melalui perintah fakbutton.setEnabled(false);

else {

angka1.setText("");

hasil.setText("");

fakbutton.setEnabled(true);

dan jika tidak, atau yang di tekan adalah reset, maka angka 1, akan kembali menjadi kosong, hasil akan di kembalikan menjadi kosong, dan button kolom proses akan kembali di aktifkan.

public class Swing {

public static void main(String[] args) {

swingFrame frame = new swingFrame();

frame.setVisible(true);

pendeklarasian class utama yang akan di panggil yaitu kelas Swing. Dan ketika di panggil maka program GUI akan berjalan dan menampilkan proses visual yang telah di buat.


0 komentar:

:)) :)] ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} ~x( :-t b-( :-L x( =))

Posting Komentar

untuk menggunakan emotion di bawah, silakan masukkan kode di samping emoltion.

Template by : kendhin x-template.blogspot.com