Penulis : M. Ghazali a.k.a ghaNOZ 2480 Penerbit : TheONEmAn2480 Tahun Terbit : 2008
Menempatkan JFrame di Tengah Layar
Pendahuluan Pada latihan programming Java (Swing) kali ini kita akan mempelajari bagaimana caranya menempatkan JFrame di tengah layar.
TheONEmAn2480
Gambar 1 – Posisi JFrame di tengah layar
1
Bagaimana Caranya? Untuk menempatkan JFrame ditengah layar terdapat dua cara untuk melakukannya yaitu dengan menggunakan method setLocationRelativeTo() yang merupakan method yang diwariskan dari class Window. Method tersebut didesain untuk membolehkan kita untuk menempatkan posisi frame relatif terhadap satu komponen lain yang telah ditampilkan. Tetapi jika kita memasukkan null sebagai parameter maka, method tersebut akan menempatkan frame ditengah-tengah layar.
TheONEmAn2480
Gambar 2 – Dokumentasi dari method setLocationRelativeTo() Sekarang kita coba program di bawah ini agar lebih jelas bagaimana method tersebut digunakan. CenteredFrame1.java import javax.swing.*; public class CenteredFrame1{ public static void main(String args[]){ SwingUtilities.invokeLater(new Runnable(){ public void run(){ JFrame frame = new JFrame(); frame.setTitle("Centered JFrame1"); frame.setSize(250, 250); // Menempatkan JFrame di tengah layar frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true);
2
} }); } }
Dan kita bisa lihat hasil dari program tersebut adalah sebagai berikut.
TheONEmAn2480
Gambar 4 – Menempatkan Jframe ditengah-tengah layar menggunakan method setLocationRelativeTo()
Selain menggunakan method setLocationRelativeTo() terdapat cara lain yaitu dengan menggunakan class Toolkit. Dengan menggunakan class tersebut kita dapat mengetahui lebar dan tinggi dari layar sehingga kita dapat menghitung posisi untuk frame. Untuk menentukan ukuran dari layar, kita gunakan class tersebut. Class Toolkit memiliki banyak method, tetapi yang kita gunakan hanya dua yaitu: •
getDefaultToolkit: Merupakan static method yang membuat objek Toolkit. Kita harus menggunakan method ini sebelum kita menggunakan getScreenSize method.
•
getScreenSize: Mengembalikan ukuran dari layar sebagai objek Dimension.
3
Gambar 3 – Dokumentasi dari class Toolkit
TheONEmAn2480
Class Dimension memiliki dua public field yang menunjukkan ukuran dari layar, yaitu height dan width, dimana keduanya merupakan field yang bertipe int. Jika kita bermaksud untuk menempatkan frame sehingga sudut bottom-left-nya tepat di tengah layar. Kita gunakan potongan kode berikut: // Memperoleh ukuran layar Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // Menghitung posisi dimana frame akan diletakkan pd layar frame.setLocation((screenSize.width - frame.getWidth()) / 2, (screenSize.height - frame.getHeight()) / 2);
Potongan kode tersebut membuat objek Toolkit dan menggunakannya untuk mendapatkan ukuran layar.
4
Sekarang kita coba program di bawah ini agar lebih jelas bagaimana kode tersebut digunakan. import java.awt.*; import javax.swing.*; public class CenteredFrame2{ public static void main(String args[]){ SwingUtilities.invokeLater(new Runnable(){ public void run(){ JFrame frame = new JFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setTitle("Centered JFrame2"); frame.setSize(250, 250); // Memperoleh ukuran layar Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); // Menghitung posisi dimana frame akan diletakkan pd layar
TheONEmAn2480
frame.setLocation((screenSize.width - frame.getWidth()) / 2, (screenSize.height - frame.getHeight()) / 2); //frame.pack(); frame.setVisible(true); } }); } }
Referensi 1. Doug Lowe and Barry Burd, “Java All-In-One Desk Reference For Dummies, 2nd Edition”, John Wiley & Sons, 2007. 2. JDK 6 Documentation.
5