Membuat Aplikasi FullScreen Dengan Java


Puter – puter cari sana-sini akhirnya ketemu juga. Ketemu apa, ketemu tentang cara membuat sebuah window FullScreen dalam Java. Gini caranya, mudah – mudahan bermanfaat…

Dalam paket java.awt terdapat sebuah class GraphicsDevice yang berhubungan dengan Screen atau tampilan yang ada dilayar, salah satunya adalah FullScreen. GraphicsDevice bukanlah sebuah class yang dapat secara instan dibuat. Maksudnya apa yach, maksudnya kita gak bisa mendeklarasikan variabel GraphicsDevice seperti ini :

// source code
GraphicsDevice device = new GraphicsDevice();
// end source code

Itu adalah suatu kesalahan, karena memang dari sononya “GraphicsDevice” gak bisa dideklarasikan secara instan, untuk mendeklarasikan variabel GraphicsDevice kita perlu bantuan class “GraphicsEnvironment” yang ada dalam paket “java.awt”. Jadi untuk mendeklarasikan variabel “GraphicsDevice”, kita perlu memanggil sebuah metode static milik GE, yaitu “getDefaultScreenDevice()”, tapi sama halnya GD, variabel GE pun tak bisa langsung dideklarasikan secara instan, harus menggunakan metode static milik GE itu sendiri yaitu “getLocalGraphicsEnvironment()”, jadi untuk mendeklarasikannya harus seperti ini :

// source code
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = env.getDefaultScreenDevice();
// end source code

Dan untuk membuat sebuah window dan turunannya (misalnya Frame, JFrame, Dialog) ditampilkan secara FullScreen maka bisa menggunakan metode “setFullScreenWindow(Window namaWindow)” milik “GraphicsDevice”. Jadi misalnya kita mau membuat sebuah JFrame ditampilkan menjadi FullScreen maka harus seperti ini :

// source code
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = env.getDefaultScreenDevice();
JFrame frame = new JFrame(“JUDUL”);
device.setFullScreenWindow(frame);
// end source code

Maka frame akan ditampilkan secara FullScreen, mamun sayangnya bar title akan tetap tampil, jadi untuk menghilangkan bar title, gunakan metode “setUndecorated(boolean set)” milik JFrame, dengan memberi nilai “false”. Sehingga menjadi seperti ini :

// source codeGraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = env.getDefaultScreenDevice();

JFrame frame = new JFrame(“JUDUL”);
frame.setUndecorated(true);

device.setFullScreenWindow(frame);

// end source code

Namun tampilnya window secara FullScreen tergantung pada supportnya platform yang kita gunakan dalam menampilkan sebuah program FullScreen, sehingga untuk mengetahui apakah platform kita mensuport FullScreen gunakanlah metode “isFullScreenSupported()” milik GD, yang akan membawa nilai “true” jika platform mensupport FullScreen, dan “false” jika platform tidak mensupport FullScreen. Sehingga akan lebih baik jika source kodenya kita tambah seperti ini :

// source codeGraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = env.getDefaultScreenDevice();

JFrame frame = new JFrame(“JUDUL”);
frame.setUndecorated(true);

if(device.isFullScreenSupported()) {
device.setFullScreenWindow(frame);
}

// end source code

Ini adalah contoh JFrame yang ditampilkan secara FullScreen :

/**
* FullScreenApp.java
*
* copyright 2007 echo_khannedy@yahoo.co.id
*/
package wordpress.echo;
import java.awt.BorderLayout;
import java.awt.GraphicsDevice;
import java.awt.GraphicsEnvironment;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import javax.swing.WindowConstants;
import javax.swing.SwingUtilities;
/**
* Membuat aplikasi fullscreen
*
* @author echo
*
*/
@SuppressWarnings(“serial”)
public class FullScreenApp extends javax.swing.JFrame {
private JLabel jLabel1;
/**
* Auto-generated main method to display this JFrame
*/
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
FullScreenApp inst = new FullScreenApp();
inst.setLocationRelativeTo(null);
// membuat frame menjadi fullscreen
GraphicsDevice device = GraphicsEnvironment
.getLocalGraphicsEnvironment().getDefaultScreenDevice();
if(device.isFullScreenSupported()) {
device.setFullScreenWindow(inst);
}
inst.setVisible(true);
}
});
}
/**
* Default constructor
*/
public FullScreenApp() {
super();
initGUI();
}
/**
* Deklarasi komponen GUI
*/
private void initGUI() {
try {
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
BorderLayout thisLayout = new BorderLayout();
getContentPane().setLayout(thisLayout);
super.setUndecorated(true);
this.setTitle(“Full Screen App”);
{
jLabel1 = new JLabel(“<html>” +
“<b>CONTOH APLIKASI FULLSCREEN</b>” +
“<br><br>” +
“<i>by echo_khannedy@yahoo.co.id</i>” +
“</html>”
);
getContentPane().add(jLabel1, BorderLayout.CENTER);
jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
}
pack();
this.setSize(416, 332);
} catch (Exception e) {
e.printStackTrace();
}
}
}

Sebelum FullScreen :

Setelah FullScreen :

Iklan

18 pemikiran pada “Membuat Aplikasi FullScreen Dengan Java

  1. mas gimana caranya bikin aplikasi kalau dipilih mode full screen semua component yang ada didalam JPanel juga ikut membesar?misalnya ada JLabel yang berisikan tulisan, nah kalau dipilih mode full screen JLabelnya ikut membesar beserta ukuran tuliannya.

  2. Ping balik: Belajar JaVa « WAHYU FIGHTER

  3. Ping balik: Tutorial Java dari Eko Kurniawan Khannedy « nge-WP@net

  4. Kok saya coba pake setUndecorated true malah muncul exception ya??

    Exception in thread “main” java.awt.IllegalComponentStateException: The frame is displayable. Tu karna apa ya?

  5. saya pengguna baru eclipse n jigloo nh..
    mw tanya tntg jigloo,,kn skrg ada edisi jigloo yg free, tp ktika sy coba ko plugin jigloo tsb ga bs drag n drop ya??
    atau mgkn karena yg free,,makanya kita tdk diberi akses untuk mencoba..
    thanx b4..

  6. bisa gak frame nya gak bisa di alt tab. biar g bisa ngapa2in klo framenya masih full screen. kl di alt tab tak kan bisa pindah ke window lain bysanya

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s