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
*/
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(“” +
“CONTOH APLIKASI FULLSCREEN” +
“
” +
“by ” +
“”
);
getContentPane().add(jLabel1, BorderLayout.CENTER);
jLabel1.setHorizontalAlignment(SwingConstants.CENTER);
}
pack();
this.setSize(416, 332);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Sebelum FullScreen :

No comments:
Post a Comment