Menggambar
Baling-baling Pada Java dengan Swing & AWT Graphics
IN PROGRAMMING
Di pemrograman
GUI, kita kadang kala membutuhkan menampilkan gambar atau logo pada aplikasi
kita. Cara yang paling mudah adalah dengan menampilkan icon atau gambar berformat
.png atau .bmp dan sejenisnya pada Label. Begitupun di Java, saat kita
membutuhkan untuk menampilkan gambar kita bisa menggunakan bantuan JLabel dan
men-set icon dari JLabel tersebut.
Cara Lain
Menampilkan Gambar di Java GUI
Ada cara lain
yang bisa menjadi pilihan untuk menampilan gambar di Java. Yaitu dengan
menggambar-nya sendiri langsung pada JPanel dengan bantuan class Graphics dari
Java AWT. Nah pada posting kali ini saya akan membuat contoh bagaimana
menggambar pada JPanel menggunakan class Graphic dari AWT.
Class Graphics
Java AWT
Pada contoh
berikut, saya ingin menggambar baling-baling dengan 4 daun menggunakan class
Graphic dari AWT. Sebelum memulai membuat kode untuk gambarnya, sedikit saya
ingin menjelaskan tentang class Graphics AWT. Ada beberapa method yang bisa
kita gunakan untuk membuat bangun datar / atau menggambar pada Container atau
JPanel, diantaranya:
drawString(String
s, int x, int y) digunakan untuk menggambar string dimulai dari koordinat(x,y)
drawLine(int
x1, int y1, int x2, int y2) digunakan untuk menggambar garis lurus dari
koordinat(x1,y1) sampai dengan (x2,y2(
drawRect(int x,
int y, int Panjang, int Tinggi) digunakan untuk menggambar persegi panjang dari
koordinat(x,y) dengan ukuran Panjang dan Tinggi.
dan lain-lain,
untuk mengetahui daftar lengkap method-method yang bisa digunakan anda bisa
melihat di sini. In sya Allah, saya juga akan membahas-nya pada tulisan-tulisan
yang lain.
Nah, untuk
menggambar baling-baling saya menggunakan method fillArc(int x, int y, int
lebar, int tinggi, int sudutAwal, int besarSudut) yang dapat digunakan untuk
menggambar busur lingkaran dengan terisi warna. Idenya adalah menggambar empat
buah busur lingkaran dengan ukuran lebar dan tinggi yang sama, koordinat titik
pusat yang sama serta besar sudut yang sama. Kira-kira kalau digambarkan
seperti gambar di bawah ini.
Pada gambar di
atas saya menggambar empat buah busur lingkaran sebesar masing-masing 30°
dimulai dari sudut -15 °, kemudian jarak dari masing-masing sudut saya buat
masing-masing 60° agar terlihat seimbang.
Menggambar
Empat Busur dengan pusat yang sama
Untuk
menggambar empat buah busur tersebut, silakan gunakan kode berikut ini :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
public class ContohDraw extends JFrame{
public ContohDraw(){
setTitle("Aplikasi Menggambar
Busur");
add(new Panel());
}
public static void main(String[]
args){
ContohDraw frame = new ContohDraw();
frame.setSize(300, 400);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
class Panel extends JPanel{
protected void paintComponent(Graphics g){
super.paintComponent(g);
int xPusat = getWidth()/2;
int yPusat = getHeight()/2;
int radius = (int)(Math.min(getWidth(),
getHeight())*0.4);
int x = xPusat - radius;
int y = yPusat - radius;
g.fillArc(x, y, 2*radius, 2*radius, -15, 30);
g.fillArc(x,
y, 2*radius, 2*radius, 75, 30);
g.fillArc(x,
y, 2*radius, 2*radius, 165, 30);
g.fillArc(x,
y, 2*radius, 2*radius, 255, 30);
}
}
|
Gambar yang akan dihasilkan
setelah dicompile dan dijalankan seperti ini :
Penjelasan Kode
Mari kita bahas
baris demi baris kode di Java di atas.
Baris 1 s/d 3
adalah kewajiban utama kita saat membuat coding java, mengimpor class-class
yang dibutuhkan. Saya mengekspor JFrame untuk tampilan GUI-nya, kemudian JPanel
untuk tempat menggambar dan menenpelkan pada Frame, terakhir class Graphics
dari AWT ini inti dari yang kita kerjakan
Selanjutnya
baris 5 s/d17 kita membuat class ContohDraw yang meng-extends class JFrame dari
Swing. Pada class ini kita membuat Konstruktornya (baris 6 s/d 9), mengeset judul
Jendela GUI-nya, dan menambahkan panel yang akan kita buat pada baris 19. Main
method-nya kita letakkan di class ContohDraw ini, mengatur ukuran jendela
Frame-nya, Operasi saat tombol close ditekan dan menampilkannya ke layar dengan
method setVisible(true)
Baris 19 adalah
class Panel yang berfungsi sebagai tempat kita menggambar busur lingkaran nanti
Method
paintComponent(Graphic g) berfungsi sebagai method yang menggambar 4 busur
lingkaran yang nanti kita tulis dengan method fillArc() pada baris 30 s/d 33.
Variabel xPusat dan yPusat digunakan untuk menentukan koordinat titik pusat
busur. Saya menghitungnya dengan cara membagi dua lebar dan tinggi Panel.
Variabel radius adalah besar jari-jari lingkaran yang akan kita buat.
Baris 30 s/d 33
adalah proses pemanggilan method fillArc() untuk menggambar 4 buah busur
lingkaran masing-masing sebesar 30° dimulai dari sudut -15°.
Oke, kira-kira
seperti itu. Semoga bermanfaat dan
terima kasih sudah baca dan jangan lupa mampir lagi ya sob . Salam.
0 komentar:
Speak up your mind
Tell us what you're thinking... !
Kode Smiley Untuk Komentar
:a :b :c :d :e :f :g :h :i :j :k :l :m :n :o :p :q :r :s :t