pengenalan java swing bagian 2
DESCRIPTION
JAVA PROGRAMMING UNTUK KELAS XII RPL SEM 5TRANSCRIPT
Praktikum 2: Swing Dasar Bagian 2 P a g e | 1
Praktikum 02: Swing Dasar
Pemrograman Berorientasi Objek Lanjut
Materi Pembahasan: Baca keterangan di praktikum 1
1. Java Swing
a. Komponen dasar Swing
b. Layout: null
Petunjuk Pengerjaan:
Apabila menggunakan NetBeans, buat dalam satu project dengan nama: Praktikum02
Tuliskan NRP dan Nama Anda di setiap file jawaban
Dikumpulkan: 6 Januari 2011
Nama File Pengumpulan: C:\NRP-NAMA-P02.rar
Soal 1: Calculator.java
Aplikasi ini mirip sekali dengan aplikasi Microwave, namun memiliki panel dan border yang berbeda
(BeveledBorder). Selain JButton, Anda juga diminta untuk membuat sebuah JTextField yang dapat menerima
input dari user.
Keterangan:
- Ukuran frame: 520 x 330, set layout dengan null
- Ukuran textField: 480 x 24
- Ukuran tombol OFF: 96 x 48
Praktikum 2: Swing Dasar Bagian 2 P a g e | 2
- Buatlah 3 Panel: numberJPanel, operationJPanel, dan clearJPanel
o numberJPanel berisi tombol-tombol angka 0 – 9 berukuran 48 x 48, kecuali tombol 00 yang
berukuran 96 x 48
o operationJPanel berisi tombol-tombol operasi aritmatika berukuran 48 x 48
o clearJPanel berisi tombol-tombol berukuran 64 x 48
o Untuk ketiga panel tersebut, Anda harus memberikan dekorasi border berupa BevelBorder
dengan option: BevelBorder.LOWERED
o Jangan lupa untuk men-set layout semua panel tersebut dengan nilai null.
- Anda bisa mengubah jenis huruf untuk tombol-tombol tersebut, misalnya:
myButton.setFont(new Font( "SansSerif", Font.PLAIN, 18 ) );
- Beri title “Calculator”
Praktikum 2: Swing Dasar Bagian 2 P a g e | 3
Soal 2: VendingMachine.java
Pada aplikasi ini, Anda diminta menggunakan berbagai border yang berbeda, yaitu LineBorder,
EtchedBorder, dan TitleBorder.
Pada aplikasi ini Anda diberikan 3 buah gambar (ImageIcon) yang harus Anda tempatkan ke dalam panel.
Selain itu, Anda juga diminta membuat sebuah JTextField (B2). Namun, JTextField ini hanya berfungsi
sebagai display dan tidak bisa diketik oleh user. Artinya, Anda harus men-set-nya sedemikian rupa sehingga
JTextField tersebut tidak dapat di-edit (setEditable sebagai false).
Keterangan:
- Ukuran frame: 395 x 260, set layout dengan null
- Buatlah 2 panel yaitu windowJPanel dan selectionJPanel:
o indowJPanel berisi 6 JLabel biasa (A1 s/d B3) berukuran 50x20 dan 6 JLabel yang diberi
ImageIcon, berukuran 50x50. Jadi totalnya ada 12 JLabel. Panel ini didekorasi dengan
LineBorder berwarna hitam. Ukuran panel ini: 190 x 170.
o selectionJPanel berisi tombol-tombol yang berukuran 42x42. Panel ini didekorasi dengan
TitledBorder serta EtchedBorder menggunakan option EtchedBorder.LOWERED - Sebuah JTextField (170x30) yang berfungsi menampilkan pilihan tombol dari user harus diinisialisasi
dengan tulisan “B2”. Namun, JTextField ini tidak menerima input langsung dari keyboard.
Praktikum 2: Swing Dasar Bagian 2 P a g e | 4
Soal 3: Radio.java
Berikut ini adalah sebuah antarmuka untuk Radio:
Pada Radio ini, terdapat 7 buah tombol, yaitu tombol pre-set dari 1 s/d 6, serta sebuah tombol Power on/off.
Pada panel Tuning, terdapat sebuah JTextField (92.9) yang tidak bisa di-edit. Pada panel Volume Control,
terdapat sebuah slider yang dapat digeser ke kiri-kanan.
Keterangan:
- Ukuran frame: 575 x 225, beri background ORANGE, beri title “Radio”, dan setLayout null.
- Jumlah panel ada 4 yaitu: presetJPanel, volumeControlJPanel, speakersJPanel, dan tuningJPanel
o Semua panel tersebut diberi background PINK
o Semua panel tersebut diberi border TitledBorder
o Semua panel di set layout dengan nilai null
- Tombol 1 s/d 6 berukuran 42x42 dan diberi background ORANGE
- Tombol power on/off tidak perlu dimasukkan ke dalam panel, dan berukuran 111 x 90, dan diberi
background PINK
- Berikan ButtonGroup kepada radio button AM/FM sehingga hanya salah satu yang dapat dipilih pada
sekali waktu
- Slider berukuran 150x50, lakukan setPaintTicks(true) serta setMajorTickSpacing(10), lalu beri
background PINK
- Untuk memberi warna ORANGE pada background JFrame, kita bisa tambahkan kode berikut:
Container contentPane = getContentPane();
contentPane.setBackground(Color.ORANGE);
Selamat Mengerjakan
Niko Ibrahim, MIT
Jurusan Sistem Informasi, Universitas Kristen Maranatha