ImageData
untuk melambangkan gambar dalam format yang tidak tergantung pada suatu perangkat, dan Image
yang merupakan representasi gambar pada suatu perangkat.Suatu kontrol memiliki beberapa metode untuk menampilkan gambar di latar depan ataupun latar belakangnya. Tentunya, ini tergantung dari kontrol tersebut bagaimana hal ini akan diimplementasikan. Pada
Label
misalnya, latar belakang bisa diset berbentuk gambar menggantikan warna
latar belakangnya. Atau bisa juga label diisi dengan gambar sebagai
pengganti teksnya.Berikut ini adalah beberapa metode untuk mengeset suatu gambar pada kontrol.
Metode | Penjelasan |
setBackgroundImage(Image gambar) | Mengeset latar belakang kontrol dengan gambar sebagai pengganti warna latar belakang |
setImage(Image gambar) | Mengeset gambar sebagai pengganti teks pada kontrol |
getBackgroundImage() | Mengembalikan Image yang merupakan gambar latar belakang suatu kontrol |
getImage() | Mengembalikan Image yang merupakan gambar pada kontrol |
Color
dan RGB
atau Font
dan FontData
, gambar juga memiliki pasangan Image
dan ImageData
. ImageData
bisa juga dipergunakan untuk melakukan pengolahan gambar sederhana,
misalnya mengganti kontras melakukan clipping, dan sebagainya, akan
tetapi kita tidak akan membahas terlalu detail tentang gambar pada
bagian ini. Kita akan bahas lebih lanjut bagaimana untuk mengeset gambar
latar depan dan latar belakang suatu kontrol.Kelas Image
Kelas
Image
bisa diinstansiasi ke dalam bentuk objek dengan menggunakan beberapa
konstruktor. Salah satunya yang paling mudah digunakan adalah bentuk
konstruktor seperti Image(Device device, String namaFileGambar)
, di mana device
adalah perangkat yang akan digunakan untuk menampilkan gambar, bisa display atau printer, dan namaFileGambar
adalah path di mana file gambar yang akan kita tampilkan berada.Misalnya, pada perintah berikut
Image gambar = new Image(display, "contoh.png");
gambar
.
Objek ini bisa kita gunakan untuk mengeset gambar latar belakang atau
pengganti teks pada suatu kontrol. Akan tetapi ingat objek ini juga
harus dihapus dari sistem operasi dengan memanggil gambar.dispose()
secara eksplisit setelah tidak lagi digunakan.Jika ukuran suatu kontrol lebih besar dari pada gambar yang akan kita tampilkan di latar belakangnya, maka gambar tersebut akan diulang-ulang untuk memenuhi tampilan suatu kontrol. Kita bisa menggunakan metode instansi
getBounds()
dari suatu Image
untuk mendapatkan ukuran gambar yang diperlukan. Hasilnya bisa kita
gunakan untuk mengeset kontrol yang akan kita gunakan untuk menampilkan
gambar.Contoh berikut menampilkan dua jenis label, di mana yang pertama menampilkan gambar sebagai warna latar belakangnya, dan yang satu menampilkan gambar sebagai pengganti teks. Program lengkapnya dapat diunduh di sini.
package com.lyracc.gambarlabel; import org.eclipse.swt.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.graphics.*; public class GambarLabel { // Variabel-variabel widget kita deklarasikan sebagai // variabel privat private Display display; private Shell shell; private Label label1; private Label label2; // Konstruktor kelas ini, untuk menginisialisasi semua widget GambarLabel() { // Membuat display dan shell baru display = new Display(); shell = new Shell(display); shell.setSize(250, 200); shell.setText("Hello SWT"); // Inisialisasi label label1 = new Label(shell, SWT.CENTER | SWT.BORDER); label1.setText("Hello dari SWT"); label1.setBounds(10, 10, 200, 50); label1.setForeground(display.getSystemColor(SWT.COLOR_RED)); // Inisialisasi gambar Image gambar = new Image(display,"contoh.png"); label1.setBackgroundImage(gambar); // Set gambar sebagai latar belakang label2 = new Label(shell, SWT.CENTER | SWT.BORDER); label2.setBounds(10, 70, 200, 50); label2.setImage(gambar); // Set gambar gambar.dispose(); // Jangan lupa menghapus gambar dari memori } // Perintah "standar" SWT, harus ada pada setiap aplikasi SWT public void run() { shell.open(); while (!shell.isDisposed()) if (!display.readAndDispatch()) display.sleep(); display.dispose(); } /** * @param args */ public static void main(String[] args) { // Instansiasi kelas ini, kemudian jalankan run GambarLabel jendela = new GambarLabel(); jendela.run(); } }
Sumber : http://java.lyracc.com/belajar/java-untuk-pemula/menampilkan-gambar
Tidak ada komentar:
Posting Komentar