Anda di halaman 1dari 31

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 methodmethod tanpa event-handling

Canvas

harus mengimplementasikan
method paint()

(0,0)

X ++

Y++

(getWidth()-1, getHeight()-1)

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|L

T|HC

BS|L
B|L

T|R
BS|R

B|HC

B|R

BS|HC
T = TOP
B = BOTTOM
L = LEFT

R = RIGHT
HC = HCENTER
BS = BASELINE

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){
}