Komponen Swing : Bekerja dengan JPanel

Oleh : Reza Ervani

بسم الله الرحمن الرحيم

Kali ini kita akan membahas komponen Swing JPanel.

Anggap kita sudah membuat JForm di Eclipse Kepler sehingga memperoleh kode java seperti berikut :

01
02
03
04
05
06
07
08
09
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
36
package PanelSwing;
 
import java.awt.BorderLayout;
import java.awt.EventQueue;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
 
public class Utama extends JFrame {
 
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Utama frame = new Utama();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
 
/**
* Create the frame.
*/
public Utama() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
}
 
}

Yang jika dijalankan akan tampak seperti ini :

Screenshot from 2014-06-06 22:37:09

Maka selanjutnya kita akan membuat JPanel

Screenshot from 2014-06-06 22:38:45

Berikan nama Panel tersebut seperti berikut :

Screenshot from 2014-06-06 22:39:11

Maka kita akan mendapatkan kode seperti berikut :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
package PanelSwing;
 
import javax.swing.JPanel;
 
public class Panelnya extends JPanel {
 
/**
* Create the panel.
*/
public Panelnya() {
 
}
 
}

Selanjutnya kita lengkapi class Panelnya ini hingga menjadi seperti berikut :

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package PanelSwing;
 
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
 
import javax.imageio.ImageIO;
import javax.swing.JPanel;
 
public class Panelnya extends JPanel {
BufferedImage image;
/**
* Create the panel.
 
*/
public Panelnya() {
try {
image = ImageIO.read(new File("/home/rezaervani/workspace/panelbackground.jpg"));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
 
}
 
public void paintComponent(Graphics g){
g.drawImage(image, 0, 0, null);
}
 
}

Jangan lupa pula untuk menambahkan di file Utama.java dua baris kode berikut di metode main() :

1
2
Panelnya panel = new Panelnya();
frame.add(panel);

Sehingga kode lengkap di file Utama.java tampak seperti berikut :

01
02
03
04
05
06
07
08
09
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
36
37
38
39
40
package PanelSwing;
 
import java.awt.BorderLayout;
import java.awt.EventQueue;
 
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
 
public class Utama extends JFrame {
 
/**
* Launch the application.
*/
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
Utama frame = new Utama();
frame.setVisible(true);
Panelnya panel = new Panelnya();
frame.add(panel);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
 
/**
* Create the frame.
*/
public Utama() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
 
 
}
 
}

Maka jika kita jalankan akan muncul frame dengan panel yang memiliki background seperti tampak pada gambar berikut :

Screenshot from 2014-06-06 23:11:40

Selamat bereksperimen (reza@rumahilmu.or.id)

About Reza Ervani 431 Articles
Adalah pendiri programming.rezaervani.com -

Be the first to comment

Leave a Reply

Your email address will not be published.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.