160 likes | 268 Views
PEMOGRAMAN APLIKASI BERGERAK (Java ME). CANVAS.
E N D
Canvas merupakansubkelasdariDisplayable yang menggunakanantarmukagrafis level rendah. Canvas mempunyaimetodepaint (Graphics g) yang akandiaksessetiap kali Canvas terbentukdanmetoderepaint() dipanggil, dalammetodeinilahobjekGraphicsdigunakanuntukmenggambarpada Canvas. Metoderepaint() digunakanuntukmenyegarkan (refresh) Canvas. • Graphicsadalahobjek yang digunakanuntukmenggambarkangambar, maupun string padalayar. ObjekGraphicstidakperludibentuk (create) karenaobjekiniakanotomatisdibangkitkansaatobjek Canvas terbentuk.
Dalamlibrary yang mendefinisikan Graphics, javax.microedition,lcdui.Graphics, terdapatbeberapakonstantatitikawalpenggambaransebagaiberikut • Konstantapenggambarantersebuttidakdapatdipakaihanyadengansatubuahsisivertikalmaupun horizontal, tetapiharuskedua-duanya. Sebagaicontoh, Graphics.TOP | Graphics.LEFT , dimanaGraphics.TOPdilihatdarisisivertikal Canvas danGraphics.LEFTdilihatdarisisi horizontal Canvas.
Metode-metodepengambaranpadaGraphicspadajavax.microedition.lcdui.Graphicsadalahsebagaiberikut : 1. void drawLine(int x1, int y1, int x2, int y2) menggambarkangarisdarititik x1, y1 ketitik x2, y2.
Contoh : • protectedvoid paint(Graphics g) • { • g.drawLine(50, 50, 200,50); • } • Penjelasan : x1 = 50, y1 = 50, x2 = 200, y2 = 50 • Garisdimulaidarititik (50,50) sampaiketitik(200,50)
2. void drawArc(int x, int y, int width, int height, intstartAngle, intarcAngle) • Menggambarkansebuahkurvadidalamwilayahkotak yang berawaldarititikx,ysebagaititikkiriatasseluaswidth x height, dimanastartAngleadalahtitikawalpenggambarankurva (0 samadenganletakjarum jam diangka 3, jika 90 samadenganletakjarum jam padaangka 12) danarcAnglemerupakanbesarderajatkurva.
Contoh : • protectedvoid paint(Graphics g) { • g.drawArc(89, 98, 90, 200, 0, 30); • }
3. void drawRect(int x, int y, int width, int height) • Menggambarkotakdenganx,ysebagaititikkiriatasseluaswidth x height . • Contoh : • protectedvoid paint(Graphics g) { • g.drawRect(35, 40, 60, 40); • }
4. void drawRoundRect(int x, int y, int width, int height, intarcWidth, intarcHeight) • Menggambarkotakbersisilengkungdenganx,ysebagaititikkiriatasseluaswidth x heightdengansisilengkungdidalamkotakseluasarcWidth x arcHeight. • Contoh: • protectedvoid paint(Graphics g) { • g.drawRoundRect(55, 45, 60, 68, 22, 15) • }
5. void drawstring(String str, int x, int y, int anchor) • Menggambarkanstringstrdenganx,ysebagaititikkiriataspenggambarandan anchor adalahkonstantatitikawalpenggambaran. • Contoh : • protectedvoid paint(Graphics g) { • g.drawString("FroZT*WiDz", 45, 60,Graphics.TOP|Graphics.LEFT); • }
6. void drawImage(Image img, int x, int y, int anchor) • MenggambarImage(gambar) denganx,ysebagaititikkiriataspenggambarandan anchor sebagaikonstantatitikawalpenggambaran. • Contoh:
public class testing extends Canvas implements CommandListener { private tesmidletmidlet; Image img; public testing() { this.midlet = midlet; try{ img =Image.createImage("/frzt.png"); } catch(Exception e){ } } protected void paint(Graphics g) { g.drawImage(img, 0, 0, Graphics.TOP|Graphics.LEFT); }
Contoh Image (ii) • publicclass Gambar extends Canvas implements CommandListener { • private Midlet midlet; • Image Merah0, Biru0, Kuning0, Hijau0, Joker; • public Gambar(Midlet midlet) { • this.midlet = midlet; • try { • Merah0 = Image.createImage("/M0.png"); • Hijau0 = Image.createImage("/H0.png"); • Biru0 = Image.createImage("/B0.png"); • Kuning0 = Image.createImage("/K0.png"); • Joker = Image.createImage("/Joker.png"); • } • catch (Exception e) {} • }
Contoh Image (ii) protectedvoid paint(Graphics g) { g.drawImage(Merah0,0,0, Graphics.TOP |Graphics.LEFT); g.drawImage(Biru0,210,0, Graphics.TOP |Graphics.LEFT); g.drawImage(Kuning0,0,250, Graphics.TOP |Graphics.LEFT); g.drawImage(Hijau0,210,250, Graphics.TOP |Graphics.LEFT); g.drawImage(Joker,100,140, Graphics.TOP |Graphics.LEFT); } Maka akan menampilkan tampilan sebagai berikut: