Di postingan sebelumnya, telah dibahas bagaimana membuat JFrame. Sekarang, bagaimana supaya JFrame muncul tepat di tengah-tengah layar?

Untuk memindahkan posisi JFrame, sebelum JFrame ditampilkan kita perlu memanggil method setLocation(x, y), dimana x dan y adalah koordinatnya. Posisi 0,0 berada di pojok kiri atas. Dan semakin ke kanan maka x semakin besar, semakin ke bawah y semakin besar.

Sekarang, kita coba pindahkan ke posisi 300, 200. Lalu Run lagi, source code-nya harusnya sekarang seperti ini:

import javax.swing.JFrame;

public class Main extends JFrame {

	public Main(){
		super("Test Java GUI");
		setSize(300, 200);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocation(300, 200);
		setVisible(true);
	}

	public static void main(String[] args) {
		new Main();
	}

}

Lalu Run program. Posisi JFrame sekarang bukan lagi di pojok kiri atas, tapi sudah bergeser sedikit ke kanan dan ke bawah. Lalu bagaimana supaya muncul di tengah-tengah? Rumusnya adalah:

posixi X = (Width Layar - Width JFrame)/2
posisi Y = (Height Layar - Height JFrame)/2

Jadi posisi X dan Y di yang tepat supaya JFrame muncul di tengah-tengah layar, dapat diperoleh dengan rumus di atas. Pertanyaannya adalah, bagaimana cara mendapatkan Width/Height Layar komputer kita sendiri? Caranya, tambahkan line code berikut sebagai atribut dari class Main:

private Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

Code di atas adalah code untuk mendapatkan ukuran layar. Lalu implementasikan rumus posisi X dan Y diatas, sehingga sekarang source code-nya seperti ini:

import java.awt.Dimension;
import java.awt.Toolkit;

import javax.swing.JFrame;

public class Main extends JFrame {

	private Dimension layar = Toolkit.getDefaultToolkit().getScreenSize();

	public Main(){
		super("Test Java GUI");
		setSize(300, 200);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		int posisiX = (layar.width-getWidth())/2;
		int posisiY = (layar.height-getHeight())/2;
		setLocation(posisiX, posisiY);
		setVisible(true);
	}

	public static void main(String[] args) {
		new Main();
	}

}

Jangan lupa import java.awt.Dimension dan java.awt.Toolkit. Lalu Run lagi… dan sekarang sudah ada di tengah-tengah layar bukan?

Bagaimana kalau ingin mengganti icon aplikasi yang ada di JFrame? Terkadang kita bosan dengan icon tersebut atau ga mau ketahuan sama user kalau aplikasinya dibuat pakai Java. Untuk ini, akan dibahas di postingan berikutnya.