Pengenalan low level UI Pengenalan tentang Canvas Menggambar dan menampilkan teks, gambar, garis, kotak, dan sudut Menentukan warna, huruf, dan coretan untuk operasi menggambar
Canvas adalah subclass dari Displayable Canvas adalah class abstrak yang harus di-extend atau dijadikan subclass sebelum digunakan Canvas akan mendefinisikan method- method tanpa event-handling Canvas harus mengimplementasikan method paint()
(0,0) (getWidth()-1, getHeight()-1) X ++ Y++
protected void paint(Graphics g) { g.setColor(255, 255, 255 ); g.fillRect(0, 0, getWidth(),getHeight()); g.setColor(0, 0, 0); g.drawString(text, getWidth()/2, getHeight()/2, Graphics.TOP | Graphics.HCENTER); }
Tambahkan object Command Gunakan method addCommand() untuk menambahkan Command Gunakan setCommandListener() Tambahkan commandListener
private Command exitCommand = new Command("Exit", Command.EXIT, 0); addCommand(exitCommand); setCommandListener(this);
class HelloCanvas extends Canvas implements CommandListener {... public void commandAction(Command c, Displayable d){ if (c == exitCommand){ // Perintah yang dijalankan }
Graphics adalah sebuah class utama untuk menggambar text, image, lines, persegi panjang dan sudut Memiliki method-method untuk menentukan pewarnaan, jenis huruf, dan ketebalan garis.
Public boolean isColor() mengembalikan nilai true jika display supports color, dan sebaliknya Public int numColors() mengembalikan nomor (atau gray levels) dari warna yang didukung oleh perangkat
Untuk menentukan warna yang akan digunakan pada method Graphics digunakanlah method setColor() public void setColor(int red, int green, int blue) public void setColor(int RGB)
Font memiliki tiga attribute yaitu face, style, dan size Aplikasi akan mendapatkan attribute font dari sistem Tidak semua attribute Font yang diinginkan oleh aplikasi dapat tersedia di sistem
public static Font getFont(int face, int style, int size) public static Font getDefaultFont() public static Font getFont(int fontSpecifier)
Font Face : FACE_SYSTEM, FACE_MONOSPACE, atau FACE_PROPORTIONAL. Style : STYLE_PLAIN atau kombinasi dari STYLE_BOLD, STYLE_ITALIC, dan STYLE_UNDERLINED.
Kombinasi dari style dapat didefinisikan dengan menggunakn bitwise OR atau operator OR (|). : STYLE_BOLD | STYLE_ITALIC Font size: SIZE_SMALL, SIZE_MEDIUM, atau SIZE_LARGE
Text akan digambar relatif terhadap anchor point Anchor merupakan kombinasi dari konstanta horisontal (LEFT, HCENTER, atau RIGHT) dan sebuah konstanta vertikal (TOP, BASELINE atau BOTTOM). Konstanta horisontal and vertikal harus dikombinasikan dengan bitwise OR
T = TOP B = BOTTOM L = LEFT R = RIGHT HC = HCENTER BS = BASELINE T|HC BS|HC B|HCB|L B|R BS|RBS|L T|LT|R
Public void drawString(String str, int x, int y, int anchor); Public void drawChar(char karakter, int x, int y, int anchor);
public void drawLine(int x1, int y1, int x2, int y2) Menggambar garis dengan warna dan jenis garis yang telah didefinisikan pada koordinat (x1,y1) dan (x2,y2).
public void drawRect(int x, int y, int width, int height); public void drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight);
public void fillRect(int x, int y int width, int height); public void fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight);
Public void drawArc(intx, int y, int width, int height, int startAngle, int arcAngle); Public void fillArc(int x, int y, int width, int height, int startAngle, int arcAngle);
public void drawImage(Image img, int x, int y, int anchor) Anchor haruslah sebuah kombinasi antara konstanta horisontal dan konstanta vertikal Konstanta horisontal dan vertikal akan dikombinasikan dengan bitwise OR (|)
try { Image image = Image.createImage("/jedi.png"); g.drawImage(image, getWidth()/2, getHeight()/2, Graphics.VCENTER | Graphics.HCENTER); } catch (Exception e){ }