Mengatur resolusi maksimum aplikasi Java Swing


Ketika kita membuat aplikasi Java Swing, sangat disarankan agar aplikasi kita mampu berjalan dalam resolusi fleksibel, artinya aplikasi kita mampu menyesuaikan resolusi sesuai dengan monitor saat itu, namun bukan berarti aplikasi kita harus berjalan fullscreen. Menurut saya pribadi, suatu aplikasi selain game atau multimedia  tidak terlalu cocok untuk dijalankan secara fullscreen, karena ketika menggunakan suatu aplikasi, ada kemungkinan pengguna beralih dengan membuka aplikasi yang lain.

Disini saya akan tips sederhana agar aplikasi kita berjalan pada resolusi yang fleksibel. Selain itu, misalnya ketika kita menggunakan sistem operasi Windows, kita menginginkan aplikasi kita berada di atas taskbar, sehingga tidak ada bagian dari JFrame yang tertutup taskbar Windows. Caranya cukup singkat, kita membuat suatu method yang berfungsi untuk mengatur resolusi dan bounds dari taskbar seperti ini

private void setUpResolution()
{
    GraphicsEnvironment env =
    GraphicsEnvironment.getLocalGraphicsEnvironment();
    /*
    * Disini kita mengatur jika taskbar windows terlihat,
    * taskbar tidak akan tertimpa JFrame pada resolusi max.
    */

    this.setMaximizedBounds(env.getMaximumWindowBounds());
    this.setExtendedState(this.getExtendedState() | this.MAXIMIZED_BOTH);
 }

Tantangan ketika menggunakan aplikasi yang bersifat resizable adalah bagaimana cara kita mengatur letak komponen ketika dilakukan  resize. Layout yang kita gunakan sangat berperan penting dalam menentukan konsistensi tampilan aplikasi kita. Saya sangat menyarankan teman-teman menggunakan GridBag layout, meskipun layout ini cukup rumit namun sangat powerful, mudah-mudahan nanti saya bisa sedikit memberikan tips menggunakan GridBag Layout.

2 responses to “Mengatur resolusi maksimum aplikasi Java Swing

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s