1 / 30

MIDP Low Level User Interface

MIDP Low Level User Interface. PemrogramanAplikasi Mobile. MIDP Low Level User Interface. Dengan menggunakan High Level User Interface seperti Form, List dan Field Input, programmer tidak perlu khawatir tentang menggambar pixel layar atau mengatur posisi teks pada layar .

rozene
Download Presentation

MIDP Low Level User Interface

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MIDP Low Level User Interface Marsel Willem Aipassa, S. Kom. PemrogramanAplikasi Mobile

  2. MIDP Low Level User Interface DenganmenggunakanHigh Level User Interface seperti Form, List dan Field Input, programmer tidakperlukhawatirtentangmenggambarpixel layarataumengaturposisitekspadalayar. DenganmenggunakanLow Level User Interface, programmer memilikikendalipenuhterhadaplayar, menggambarsebuahgaris, menggambargambarberanimasidanlain sebagainya. Marsel Willem Aipassa, S. Kom.

  3. Low Level User Interface (LO-UI) • SuatukelemahanketikamenggunakanHI-UI adalah program tidakmemilikikendalipenuhsebuahlayar. • Adasaatnyadimanakitainginmenggambarsuatugarisatauanimasidanmengaturpixel padalayar. • Kelas yang akandipelajariadalahkelasCanvas dankelasGraphic yang memilikimetodeuntukmenggambargaris, kotak, sudutdanteks. Marsel Willem Aipassa, S. Kom.

  4. Canvas • Canvas adalah subclass dari Displayable. Kelasiniharusdi-extend kekelaskitauntukdapatmenggunakanfungsi-fungsiyang ada. • SistemkoordinatdariCanvas dimulaidarinol. Pojokkiriatasdarilayarberkkordinat(0,0). Koordinat x bertambahdarikirikekanan. Dan koordinat y bertambahdariataskebawah. • Pojokkananbawahlayarberkoordinat(getWidth-1, getHeight-1). Marsel Willem Aipassa, S. Kom.

  5. SistemKoordinat Marsel Willem Aipassa, S. Kom.

  6. Contoh “Hello World” Marsel Willem Aipassa, S. Kom.

  7. Contoh “Hello World” Marsel Willem Aipassa, S. Kom.

  8. Event Key • Subclass dari Canvas dapatmeresponsebuahevent tomboldenganmetode-metodesebagaiberikut: • Untukmendapatkan“String” namasebuahkunci, digunakanmetodegetKeyName(intkeyCode) Marsel Willem Aipassa, S. Kom.

  9. Game Action • Kelas Canvas mendefenisikan Game Action sebagaiberikut: UP, DOWN, LEFT, RIGHT, FIRE, GAME_A, GAME_B, GAME_C, GAME_D. • UntukmenterjemahkankeyCodeyang didapatkedalamGame Action digunakanfungsigetGameCode(keyCode). • Jikasuatuprogram akanmeresponkey UP, biasanyamenggunakanKEY_NUM2. Akantetapimetodetidaklahsesuaijikabekerjauntukperangkatyang berbeda layout keypad. DalamkasusinidibutuhkanfungsigetGameCode. Marsel Willem Aipassa, S. Kom.

  10. Contoh Event Key Marsel Willem Aipassa, S. Kom.

  11. Event Pointer • Selain Event Key, program MIDP dapatjugamenanganiEvent Pointer. • public booleanhasPointerEvents(). Akanmengembalikannilaitrue jikasebuahperangkatmendukungpointer yang bersifatditekandandilepaskan. • public booleanhasPointerMotionEvents(). Akanmengembalikannilaitrue jika, sebuahperangkatmendukungevent gerakandaripointer. Marsel Willem Aipassa, S. Kom.

  12. Event Pointer (2) • Sebuah event di-generate lewataktifitaspointer sebagaiberikut: • protected void pointerPressed(int x, int y) • protected void pointerReleased(int x, int y) • protected void pointerDragged(int x, int y) Marsel Willem Aipassa, S. Kom.

  13. Graphic • Graphic adalahkelasutamauntukmenulisteks, menggambar, garis, kotakdansudut. • Kelasinimemilikimetodeuntukmenentukanwarna, font, dan stroke. Marsel Willem Aipassa, S. Kom.

  14. Warna • Kelas Display memilikimetodeuntukmengecekapakahsuatuperangkatmendukunglayarberwarnaataulayarmonochrome. • public booleanisColor(). Mengembalikannilaitrue jikalayarberwarnadansebaliknya. • public intnumColors(). Mengembalikanjumlahwarna(atau level abu-abuuntuklayarmonochrome) yang didukungsebuahperangkat. Marsel Willem Aipassa, S. Kom.

  15. Warna (2) • Untukmengesetwarnayang digunakanuntukmetodegrafikselanjutnya, digunakanmetodesetColor. • public void setColor(int RGB). Padabentukiniwarnaditentukandalambentuk0x00RRGGBB. • public void setColor(int red, int green, int blue). • Untuklayarmonochrome dapatdigunakanfungsisetGrayScale(intvalue) untukmemlihnilaiabu-abuuntukmenggantioperasimenggambar. Marsel Willem Aipassa, S. Kom.

  16. Font • Font memilikitigaattributyaitubentuk, style danukuran. Font tidakbisadiciptakanolehaplikasi, akantetapiaplikasimemintasistemmemilihmodel font dansistemakanmengembalikanfont yang sesuaidenganfont yang diminta. • Font adalahsebuahkelastersendiriyang memilikimetode-metodeuntukmemintasebuahfont darisistem. Marsel Willem Aipassa, S. Kom.

  17. Font (2) • public static Font getFont(int face, int style, int size). Mengembalikansebuahfont darisistemyang sesuaidenganatribut. Atribut face dapatberupaFACE_SYSTEM, FACE_MONOSPACE, atau FACE_PROPORTIONAL. Style dapatberupaSTYLE_PLAIN, STYLE_BOLD, STYLE_ITALIC, dan STYLE_UNDERLINED. Size dapatberupaSIZE_SMALL,SIZE_MEDIUM, SIZE_LARGE. • public static Font getDefaultFont(). Akanmengembalikanfont default yang digunakanolehsistem. • public static Font getFont(intfontSpecifier). DapatberupaFONT_INPUT_TEXT atau FONT_STATIC_TEXT. Marsel Willem Aipassa, S. Kom.

  18. Contoh Font • MasukkanperintahberikutpadabarissebelumbarisuntukmenggambarString. g.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_BOLD | Font.STYLE_ITALIC, Font.SIZE_MEDIUM)); Marsel Willem Aipassa, S. Kom.

  19. Stroke • MetodesetStrokeStyle(intstyle) digunakanuntukmenetapkanjenisstroke yang akandipakaiuntukgarissudutataukotak • public void setStrokeStyle(int style). Style dapatberupaSOLID atau DOTTED. Marsel Willem Aipassa, S. Kom.

  20. Anchor Points • Teksdigambarsesuaidengansebuahanchor points. • public void drawString(String str, int x, int y, int anchor) • Anchor harusmerupakansebuahkombinasiantaraletakhorisontaldanvertikal. Penggabunganinimenggunakanoperasibitwise OR (|). Marsel Willem Aipassa, S. Kom.

  21. Anchor Points (2) Marsel Willem Aipassa, S. Kom.

  22. Menggambar String • public void drawString(String str, int x, int y, int anchor). X dan Y merupakankoordinatdarianchor. Marsel Willem Aipassa, S. Kom.

  23. MenggambarGaris • public void drawLine(int x1, int y1, int x2, int y2) Marsel Willem Aipassa, S. Kom.

  24. MenggambarKotak • public void drawRect(int x, int y, int width, int height) • public void drawRoundRect(int x, int y, int width, int height, intarcWidth, intarcHeight) • public void fillRect(int x, int y, int width, int height) • public void fillRoundRect(int x, int y, int width, int height, intarcWidth, intarcHeight) Marsel Willem Aipassa, S. Kom.

  25. MenggambarKotak (2) Marsel Willem Aipassa, S. Kom.

  26. MenggambarSudut • public void drawArc(int x, int y, int width, int height, intstartAngle, intarcAngle) • public void fillArc(int x, int y, int width, int height, intstartAngle, intarcAngle) • O derajatterletakpadajarumjam 3. Marsel Willem Aipassa, S. Kom.

  27. MenggambarSudut (2) Marsel Willem Aipassa, S. Kom.

  28. Menggambar Image • public void drawImage(Image img, int x, int y, int anchor). • Perbedaan anchor padadrawStringdandrawImageadalahBASELINE padadrawStringdanVCENTER padadrawImage. Marsel Willem Aipassa, S. Kom.

  29. Menggambar Image (2) Marsel Willem Aipassa, S. Kom.

  30. TerimaKasih • Tugas: • Buatlahaplikasijam analog berbasis low level user interface. Marsel Willem Aipassa, S. Kom.

More Related