1. Percobaan 2 :
Penggambaran Garis dengan Warna
Source Code :
package package3;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author Samsung
*/
public class GarisWarna extends MIDlet {
private Display display;
HelloCanvas2 canvas;
public void startApp() {
if(display == null){
canvas = new HelloCanvas2(this);
display = Display.getDisplay(this);
}
display.setCurrent(canvas);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
protected void Quit(){
destroyApp(true);
notifyDestroyed();
}
class HelloCanvas2 extends Canvas implements CommandListener{
private Command exitCommand = new Command("Exit",Command.EXIT,0);
private GarisWarna line;
public HelloCanvas2(GarisWarna line){
this.line = line;
addCommand(exitCommand);
setCommandListener(this);
}
protected void paint(Graphics g){
g.setColor(255,255,255);
g.fillRect(0, 0, getHeight(), getWidth());
g.setColor(255,0,0);
g.drawLine(0,0,getWidth()-1,getHeight()-1);
g.setColor(0,255,2);
g.drawLine(0, getHeight()/2, getWidth()-1, getHeight()/2);
g.setColor(0,0,255);
g.drawLine(0,getHeight()-1,getWidth()-1,getHeight()-1);
g.setColor(0,0,0);
g.drawLine(0,getHeight()-1, getWidth()-1, 0);
}
public void commandAction(Command arg0, Displayable arg1){
if(arg0 == exitCommand)
{
line.Quit();
}
}
}
}
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author Samsung
*/
public class GarisWarna extends MIDlet {
private Display display;
HelloCanvas2 canvas;
public void startApp() {
if(display == null){
canvas = new HelloCanvas2(this);
display = Display.getDisplay(this);
}
display.setCurrent(canvas);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
protected void Quit(){
destroyApp(true);
notifyDestroyed();
}
class HelloCanvas2 extends Canvas implements CommandListener{
private Command exitCommand = new Command("Exit",Command.EXIT,0);
private GarisWarna line;
public HelloCanvas2(GarisWarna line){
this.line = line;
addCommand(exitCommand);
setCommandListener(this);
}
protected void paint(Graphics g){
g.setColor(255,255,255);
g.fillRect(0, 0, getHeight(), getWidth());
g.setColor(255,0,0);
g.drawLine(0,0,getWidth()-1,getHeight()-1);
g.setColor(0,255,2);
g.drawLine(0, getHeight()/2, getWidth()-1, getHeight()/2);
g.setColor(0,0,255);
g.drawLine(0,getHeight()-1,getWidth()-1,getHeight()-1);
g.setColor(0,0,0);
g.drawLine(0,getHeight()-1, getWidth()-1, 0);
}
public void commandAction(Command arg0, Displayable arg1){
if(arg0 == exitCommand)
{
line.Quit();
}
}
}
}
Output :
·
Untuk membuat garis dengan warna didalam
java midlet maka membutuhkan fungsi source code import
javax.microedition.midlet.*;
·
Untuk menampilkan program pada layar
display emulator maka membutuhkan fungsi import
javax.microedition.lcdui.*;
·
Dalam membuat kelas untuk pembuatan
garis dengan warna maka kita harus membuat kelas yang merupakan turunan dari
Midlet yang bernama GarisWarna.
·
Didalam kelas GarisWarna menggunakan
fungsi private Display display; untuk
menggunakan display pada emulator yang disediakan oleh java midlet.Kemudian
membuat canvas yang merupakan kelas turunan dari kelas GarisWarna dengan
nama HelloCanvas2 menggunakan source
code HelloCanvas2 canvas;
·
Didalam public static void startApp
menggunakan fungsi if untuk memberikan
keadaan untuk mengeksekusi perintah jika
display dalam keadaan kosong maka canvas membuat canvas baru kemudian menampilkanya pada
display.
·
Display.setCurrent(canvas);
berfungsi untuk menampilkan canvas dalam display emulator.
·
Protected void Quit(){
berfungsi untuk mrnjalankan fungsi keluar.
·
Pada class HelloCanvas2 extends Canvas implements CommandListener{ berfungsi untuk membuat kelas turunan dari
Canvas yang bernama HelloCanvas2 yang menggunakan action pada fungsi
CommandListener.
·
Private Command exitCommand =
new Command(“Exit”,Command.EXIT,0); berfungsi untuk membuat perintah exit atau keluar dengan prioritas 0.
·
Private GarisWarna line;
berfungsi untuk membuat garis dengan warna pada class HelloCanvas2.
·
Protected void paint(Graphics
g);
berfungsi untuk menggunakan fungsi gambar dari turunan paint dengan parameter .
·
g.setColor();
berfungsi untuk mangatur warna.
·
g.fillRect(0,0,getHeight(),getWidth());
berfungsi untuk menggambar dari kiri atas dengan menentukan tinggi dan lebar
pada layar emulator.
·
g.drawLine();
berfungsi untuk menggambar garis pada layar emulator.
2. Percobaan 3 :
Menggambar Segi Empat
Source Code :
package package3;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author Samsung
*/
public class Kotak extends MIDlet {
private Display display;
HelloCanvas3 canvas;
public void startApp() {
if(display == null){
canvas = new HelloCanvas3(this);
display = Display.getDisplay(this);
}
display.setCurrent(canvas);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
protected void Quit(){
destroyApp(true);
notifyDestroyed();
}
class HelloCanvas3 extends Canvas implements CommandListener {
private Command exitCommand = new Command("Exit",Command.EXIT,7);
private Kotak segiempat;
public HelloCanvas3(Kotak segiempat){
this.segiempat = segiempat;
addCommand(exitCommand);
setCommandListener(this);
}
protected void paint (Graphics g){
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
g.drawRect(8,8,64,32);
g.setColor(255,255,0);
g.fillRect(8,8,64,32);
g.setColor(0,0,0);
g.drawRect(8,50,88,44);
g.drawRoundRect(108, 50, 88, 40,18, 18);
g.fillRect(8, 120, 88,44);
g.fillRoundRect(108, 120, 88, 44, 18, 18);
}
public void commandAction(Command arg0, Displayable arg1) {
if(arg0 == exitCommand){
segiempat.Quit();
}
}
}
}
Output :
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
* @author Samsung
*/
public class Kotak extends MIDlet {
private Display display;
HelloCanvas3 canvas;
public void startApp() {
if(display == null){
canvas = new HelloCanvas3(this);
display = Display.getDisplay(this);
}
display.setCurrent(canvas);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
protected void Quit(){
destroyApp(true);
notifyDestroyed();
}
class HelloCanvas3 extends Canvas implements CommandListener {
private Command exitCommand = new Command("Exit",Command.EXIT,7);
private Kotak segiempat;
public HelloCanvas3(Kotak segiempat){
this.segiempat = segiempat;
addCommand(exitCommand);
setCommandListener(this);
}
protected void paint (Graphics g){
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
g.drawRect(8,8,64,32);
g.setColor(255,255,0);
g.fillRect(8,8,64,32);
g.setColor(0,0,0);
g.drawRect(8,50,88,44);
g.drawRoundRect(108, 50, 88, 40,18, 18);
g.fillRect(8, 120, 88,44);
g.fillRoundRect(108, 120, 88, 44, 18, 18);
}
public void commandAction(Command arg0, Displayable arg1) {
if(arg0 == exitCommand){
segiempat.Quit();
}
}
}
}
Output :
Pada
dasarnya source code pada penggambaran segi empat pada java ini sama dengan source
code yang digunakan didalam pembuatan program menggunakan java midlet.Semuanya
merupakan turunan dari Midlet.Karena sebelumnya sudah saya jelaskan mengenai
sedikit fungsi source code pada Midlet,maka pada pembahasan kali ini saya hanya
akan menambahkan fungsi source code yang belum ada pada pembahasan sebelumnya.
·
Pada percobaan kali ini akan
menggambarkan kotak segi empat maka hal pertama yang dilakukan yaitu membuat
kelas yang merupakan turunan dari midlet,nama kelas diberi nama Kotak.
·
Kemudian membuat canvas baru untuk
menampilkan gambar segi empat pada emulator dengan nama HelloCanvas3.
·
Pada kelas HelloCanvas3 kita akan
membuat ktak segi empat maka kita membuat variabel segi empat pada kelas kotak
supaya dapat dipanggil pada saat dibutuhkan.
·
Untuk memanggil segiempat yang sudah
disimpan maka hanya perlu menuliskan source code this.segiempat
= segiempat;
·
Untuk menggambar kotak berwarna kuning
maka source code yang perlu ditulis yaitu :
g.setColor(0,0,0);
g.drawRect(8,8,64,32);
g.setColor(255,255,0);
g.fillRect(8,8,64,32);
·
Untuk menggambar berbagai macam jenis
kotak ,source code yang perlu ditulis yaitu seperti berikut :
g.setColor(0,0,0);
g.drawRect(8,50,88,44);
g.drawRoundRect(108, 50, 88, 40,18, 18);
g.fillRect(8, 120,
88,44);
g.fillRoundRect(108, 120, 88, 44, 18, 18);
Sekian
laporan pembahasan praktikum pemrograman lanjut untuk praktikum 3 percobaan 2
dan percobaan 3.
Maaf jika masih ada kesalahan dalam pembahasan yang saya tulis,karena saya juga masih belajar.
Maaf jika masih ada kesalahan dalam pembahasan yang saya tulis,karena saya juga masih belajar.
Sekian n terima kasih udah mampir di blog_ku ^^
terus kalo mau gambar lingkaran atau trapessium atau yang lain gimana?????
BalasHapus