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 FontDatayang 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, danSWT.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 FontDatakosong | 
| FontData(String string) | Membuat instansi FontDatadengan input string yang menjelaskan nama dan ukuran huruf, dengan format seperti yang dikembalikan oleh metodetoString() | 
| FontData(String nama, int tinggi, int gaya) | Membuat instansi FontDatadengan input nama, tinggi huruf dan gaya. Gaya huruf bisa merupakan salah satu atua kombinasi dariSWT.NORMAL,SWT.BOLDdanSWT.ITALIC | 
| Metode | Penjelasan | 
| getName() | Mengembalikan Stringyang merupakan nama huruf | 
| setName(String nama) | Mengeset nama huruf | 
| getStyle() | Mengembalikan intyang merupakan gaya huruf | 
| setStyle(int gaya) | Mengeset gaya huruf, salah satu atau kombinasi dari SWT.NORMAL,SWT.BOLDdanSWT.ITALIC | 
| getHeight() | Mengembalikan intyang 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 Fontdari label tersebut
- Ambil FontDatadariFont
- Modifikasi setiap FontDatayang dikembalikan
- Buat Fontbaru
- 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