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 method-
method 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
 Untukmenentukan 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

 Aplikasiakan 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

 Fontsize: 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 T|R

BS|L BS|R

B|L B|HC B|R

BS|HC
T = TOP R = RIGHT
B = BOTTOM HC = HCENTER
L = LEFT 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){
}