Control
memiliki metode untuk mengeset huruf kontrol. Berikut ini adalah beberapa metode pada kelas Control
untuk mengatur warna.Metode | Penjelasan |
setFont(Font huruf) | Mengeset huruf suatu kontrol |
getFont() | Mengambil huruf suatu kontrol. Tipe keluarannya bertipe Font |
Font
. Kelas Font
terdapat
pada paket org.eclipse.swt.graphics
.Seperti pada warna dengan
Color
dan RGB
, huruf memiliki dua kelas sejenis, yaitu Font
dan FontData
. Kelas Font
, seperti Color
adalah huruf yang sudah dialokasikan oleh sistem operasi, sedangkan FontData
seperti RGB
adalah representasi huruf yang belum dialokasi oleh sistem operasi.Ingat bahwa jenis huruf sangat dipengaruhi oleh sistem operasi. Jenis huruf tertentu hanya ada pada sistem operasi tertentu, sehingga sangat sulit untuk membuat aplikasi yang bergantung pada huruf tertentu. Kita bisa juga mengontrol penggunaan huruf hingga detail, misalnya jeda antar huruf, tinggi huruf dan lainnya, tapi dalam prakteknya, teknik ini jarang digunakan untuk memodifikasi suatu kontrol. Kecuali jika Anda ingin membuat widget sendiri, atau ingin menggambar langsung pada kanvas. Kita tidak akan membahas hingga ke level detail seperti ini.
Kelas Font
Instansi kelas
Font
digunakan untuk melambangkan huruf yang sebenarnya yang telah diberikan oleh sistem operasi.Kelas ini bisa hanya bisa dibuat dengan membuat objek sendiri dengan menggunakan konstruktornya. Programmer bertanggung jawab untuk menghapus objek ini dari memori sistem dengan menggunakan
dispose()
setelah kita selesai menggunakannya. Berikut ini adalah konstruktor kelas Font
yang tersedia :Konstruktor | Penjelasan |
Font(Device device, FontData fd) | Membuat huruf pada suatu perangkat (baik display atau printer) dengan input FontData |
Font(Device device, FontData[] fds) | Membuat huruf pada suatu perangkat (baik display atau printer) dengan input beberapa FontData yang tersusun dalam bentuk array (hanya Mac OS yang bisa memiliki lebih dari satu jenis huruf) |
Font(Device device, String name, int height, int style) | Membuat
huruf pada suatu perangkat (baik display atau printer) dengan input
nama, tinggim dan gayanya. Gaya adalah salah satu atau gabungan dari SWT.NORMAL , SWT.BOLD , dan SWT.ITALIC |
Misalnya kita hanya ingin mengubah ukuran huruf dari suatu kontrol. Cara yang paling mudah dan bisa bekerja untuk semua platform adalah dengan mengambil huruf yang digunakan suatu kontrol, dengan menggunakan
getFont()
, kemudian mengambil instansi FontData
dari Font
yang dihasilkan. Kemudian kita konstruksi lagi Font
baru dengan menambahkan ukuran huruf, atau gayanya. Dengan huruf yang baru, kita gunakan setFont()
untuk mengaplikasikannya pada kontrol kita.Untuk mengambil
FontData
dari suatu Font
, kita bisa gunakan metode instansi getFontData()
dari kelas Font
.
Akan tetapi yang dikembalikan adalah array dari FontData. Pada Windows
hanya ada satu huruf yang dikembalikan, akan tetapi pada Mac OS,
beberapa huruf bisa dikembalikan. Misalnya lihat contoh berikut ini..... Font huruf = label1.getFont(); FontData[] dataHuruf = huruf.getFontData(); ....
Kelas
FontData
bisa diambil dari suatu widget (seperti contoh sebelumnya), dari sistem
operasi (mengambil huruf yang disediakan oleh sistem operasi), atau
membuatnya sendiri. Untuk mengambil FontData yang tersedia pada suatu perangkat, kita bisa menggunakan metode instansi
getFontList(String namaFace, boolean scalable)
dari suatu perangkat yang dikembalikan dalam bentuk array. namaFace
adalah nama huruf yang akan kita ambil, dan jika scalable
bernilai true, hanya huruf yang bisa diperbesar/diperkecil tanpa
mengurangi keindahan huruf saja yang akan diambil. Misalnya contoh
berikut mengambil semua huruf yang tersedia pada display,FontData[] daftarHuruf = display.getFontList(null, true);
Konstruktor | Penjelasan |
FontData() | Membuat instansi FontData kosong |
FontData(String string) | Membuat instansi FontData dengan input string yang menjelaskan nama dan ukuran huruf, dengan format seperti yang dikembalikan oleh metode toString() |
FontData(String nama, int tinggi, int gaya) | Membuat instansi FontData dengan input nama, tinggi huruf dan gaya. Gaya huruf bisa merupakan salah satu atua kombinasi dari SWT.NORMAL , SWT.BOLD dan SWT.ITALIC |
Metode | Penjelasan |
getName() | Mengembalikan String yang merupakan nama huruf |
setName(String nama) | Mengeset nama huruf |
getStyle() | Mengembalikan int yang merupakan gaya huruf |
setStyle(int gaya) | Mengeset gaya huruf, salah satu atau kombinasi dari SWT.NORMAL , SWT.BOLD dan SWT.ITALIC |
getHeight() | Mengembalikan int yang merupakan tinggi atau ukuran huruf |
setHeight(int tinggi) | Mengeset tinggi huruf |
getLocale() | Mengambil kedaerahan (locale) huruf dalam bentuk String |
setLocale(String locale) | Mengeset kedaerahan huruf |
- Ambil
Font
dari label tersebut - Ambil
FontData
dariFont
- Modifikasi setiap
FontData
yang dikembalikan - Buat
Font
baru - Gunakan
setFont()
untuk mengeset huruf ke label tersebut
... Font huruf = label1.getFont(); FontData[] dataHuruf = huruf.getFontData(); for (int i = 0; i < dataHuruf.length; i++) { dataHuruf[i].setStyle(SWT.BOLD | SWT.ITALIC); dataHuruf[i].setHeight(dataHuruf[i].getHeight() * 2); } Font hurufBaru = new Font(display, dataHuruf); label1.setFont(hurufBaru); hurufBaru.dispose(); ...
package com.lyracc.hurufdanwarnalabel; import org.eclipse.swt.*; import org.eclipse.swt.widgets.*; import org.eclipse.swt.graphics.*; public class HurufDanWarnaLabel { // Variabel-variabel widget kita deklarasikan sebagai // variabel privat private Display display; private Shell shell; private Label label1; private Label label2; private Color warna1; private Color warna2; // Konstruktor kelas ini, untuk menginisialisasi semua widget HurufDanWarnaLabel() { // Membuat display dan shell baru display = new Display(); shell = new Shell(display); shell.setSize(500, 200); shell.setText("Hello SWT"); // Inisialisasi label label1 = new Label(shell, SWT.CENTER | SWT.BORDER); label1.setText("Hello dari SWT"); label1.setBounds(10, 10, 400, 50); // Set warna, cara pertama dengan mengambil warna dari sistem label1.setBackground(display.getSystemColor(SWT.COLOR_BLUE)); label1.setForeground(display.getSystemColor(SWT.COLOR_YELLOW)); // Modifikasi huruf Font huruf = label1.getFont(); FontData[] dataHuruf = huruf.getFontData(); for (int i = 0; i < dataHuruf.length; i++) { dataHuruf[i].setStyle(SWT.BOLD | SWT.ITALIC); dataHuruf[i].setHeight(dataHuruf[i].getHeight() * 2); } Font hurufBaru = new Font(display, dataHuruf); label1.setFont(hurufBaru); hurufBaru.dispose(); label2 = new Label(shell, SWT.CENTER | SWT.BORDER); label2.setText("Hallo dari SWT"); label2.setBounds(10, 70, 200, 25); // Set warna, cara kedua dengan membuat objek Color dan RGB warna1 = new Color(display, new RGB(255,255,0)); // menggunakan objek RGB warna2 = new Color(display, 0, 0, 255); // konstruktor Color jenis lain label2.setBackground(warna1); label2.setForeground(warna2); warna1.dispose(); // objek ini harus dihapus manual dari memori warna2.dispose(); // objek ini harus dihapus manual 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 HurufDanWarnaLabel jendela = new HurufDanWarnaLabel(); jendela.run(); } }
Sumber : http://java.lyracc.com/belajar/java-untuk-pemula/mengeset-huruf
Tidak ada komentar:
Posting Komentar