Tutorial Java: Membuat Aplikasi dengan Full Screen Exclusive Mode
Tutorial Information
Program | Java |
Version | JDK 6+ |
Difficulty | Pemula |
Estimated Time | 30 Menit |
Download | Click this link |
Sebuah aplikasi bisa ditampilkan ke layar monitor dalam Full Screen Mode ataupun Windowed Mode. Tergantung dari tujuan penggunaan aplikasi, Anda dapat memilih mode tampilan yang sesuai dengan kebutuhan. Sebagai contoh untuk aplikasi game dengan spesifikasi cukup tinggi, akan lebih baik jika menggunakan mode tampilan Full Screen.
Proses penggambaran tampilan ke layar pada Windowed Mode dikendalikan oleh Sistem Operasi, sedangkan pada Full Screen Mode tampilan ke layar seluruhnya diatur oleh aplikasi tersebut. Ketika berada dalam Full Screen Mode, Anda dapat mengatur Display Mode sehingga tentunya Anda dapat menyamakan bit depth dari seluruh tampilan. Selain itu juga dengan hanya satu tampilan aplikasi di layar, tentunya hal ini akan mengakibatkan meningkatnya performa dari aplikasi.
Jika Full Screen Mode tidak tersupport, pemaksaan menggunakan Full Screen Mode hanya akan menurunkan performance aplikasi.Ide dasar dari program yang akan Anda buat adalah membuat sebuah objek dari class yang diturunkan dari JFrame dan menampilkannya ke layar dengan Full Screen Mode. Kemudian menambahkan pada frame tersebut pilihan-pilihan untuk mengganti display mode yang tersupport oleh monitor.
- Langkah pertama, buatlah sebuah class yang di extend dari class
JFrame. Class ini memiliki konstruktor yang menerima sebuah objek dari
class GraphicsDevice. Pada frame ini hanya terdapat sebuah tombol exit
yang digunakan untuk keluar dari Full Screen mode.
123456789101112131415161718192021222324252627282930
public
class
FullScreenFrame
extends
JFrame
implements
ActionListener {
GraphicsDevice device;
Container mainPanel;
JButton btnExit;
public
FullScreenFrame(GraphicsDevice device) {
this
.device = device;
btnExit =
new
JButton(
"CLICK HERE TO EXIT"
);
btnExit.addActionListener(
this
);
//Pengaturan tampilan
mainPanel = getContentPane();
mainPanel.setLayout(
new
BorderLayout());
JPanel panel =
new
JPanel(
new
FlowLayout(FlowLayout.CENTER));
panel.add(btnExit);
mainPanel.add(panel, BorderLayout.CENTER);
//Deklarasi awal frame
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public
void
actionPerformed(ActionEvent e) {
if
(e.getSource() == btnExit) {
System.exit(
0
);
}
}
}
- Kemudian tambahkan code dibawah pada deklarasi awal frame pada
konstruktor. Kode ini bertujuan untuk membuat frame tidak dapat di
resize dan tidak didekorasi (Sebuah aplikasi full screen tidak
memerlukan dekorasi frame). Untuk resizeable sangatlah penting karena
resize pada aplikasi full screen dapat berakibat fatal.
12
setResizable(
false
);
setUndecorated(
true
);
- Sekarang untuk membuat aplikasi menjadi Full Screen Mode tambahkan method berikut pada class di atas.
123
public
void
startFullScreen() {
device.setFullScreenWindow(
this
);
}
- Kemudian setelah class tersebut telah selesai, Anda uji coba dengan
menjalankan method main berikut (boleh diletakkan dimanapun, untuk
mudahnya Anda sertakan saja ke class di atas).
1234567
public
static
void
main(String[] args) {
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = env.getDefaultScreenDevice();
FullScreenFrame f =
new
FullScreenFrame(device);
f.startFullScreen();
}
- Compile dan jalankan. Berikut adalah tampilan yang seharusnya didapat.
- Sekarang Anda dapat membuat class baru serupa dengan class diatas,
namun memiliki list akan semua display mode yang disupport monitor untuk
mencoba pergantian display mode. Silahkan Anda buat kerangka dasarnya
seperti kode di bawah ini.
123456789101112131415161718
public
class
DisplayModeChange
extends
JFrame
implements
ListSelectionListener ,ActionListener {
// letak object
public
DisplayModeChange(GraphicsDevice device) {
this
.device = device;
defaultMode = device.getDisplayMode();
}
public
void
start() {
device.setFullScreenWindow(
this
);
}
@Override
public
void
valueChanged(ListSelectionEvent e) {
}
@Override
public
void
actionPerformed(ActionEvent e) {
}
}
- Kemudian tambahkan sebuah method dengan kode sebagai berikut. Method
ini berguna untuk membentuk tampilan pada aplikasi seperti label yang
berisi mengenai informasi Display Mode saat ini, list akan Display Mode
yang didukung oleh monitor, serta tombol-tombol untuk mengganti Display
Mode dan tombol untuk keluar dari aplikasi.
123456789101112131415161718
public
void
initComponent() {
modes = device.getDisplayModes();
listData =
new
String[modes.length];
for
(
int
i =
0
; i < modes.length; i++) {
// kode list data
}
list =
new
JList(listData);
list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
list.setVisibleRowCount(
6
);
list.addListSelectionListener(
this
);
JScrollPane scrollList =
new
JScrollPane(list);
// kode lain
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(
false
);
setUndecorated(
true
);
}
1modes = device.getDisplayModes();
- Langkah berikutnya adalah memberi aksi pada tombol-tombol yang telah
Anda buat. Hal ini bisa dilakukan dengan menambahkan kode berikut pada
method actionPerformed yang sebelumnya telah Anda buat namun masih
kosong.
12345678910111213141516
if
(e.getSource() == btnChange) {
device.setDisplayMode(modes[list.getSelectedIndex()]);
DisplayMode mode = device.getDisplayMode();
// panggil method set text
}
if
(e.getSource() == btnDefault) {
device.setDisplayMode(defaultMode);
DisplayMode mode = device.getDisplayMode();
// panggil method set text
}
if
(e.getSource() == btnExit) {
device.setDisplayMode(defaultMode);
System.exit(
0
);
}
1device.setDisplayMode(modes[list.getSelectedIndex()]);
- Sekarang setelah class tersebut telah selesai, yang perlu Anda
lakukan hanyalah menambah sebuah method main untuk mencoba class
tersebut. Method main ini bisa langsung ditambahkan pada class tersebut.
Berikut kodenya.
1234567
public
static
void
main(String[] args) {
GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment();
GraphicsDevice device = env.getDefaultScreenDevice();
DisplayModeChange f =
new
DisplayModeChange(device);
f.initComponent();
f.start();
}
- Class sudah bisa dicompile dan dijalankan. Tampilan yang didapat seperti di gambar ini.
0 komentar:
Posting Komentar