Selasa, 28 Juni 2011

KeyListener in Java






Assalamualaikum Wr.. Wb..
Sepertinya penulis sudah lama tidak pernah meng-update blog ini lagi, karena begitu banyak kesibukan dari luar hingga penulis lupa dengan tulis menulis di blog ini.
Sekarang penulis akan menyampaikan tentang pembuatan KeyListener di java untuk menggerakan gambar atau membaca inputan karakter dari Keyboard, adapun tulisan ini dibuat karena permintaan dari salah satu teman penulis yang dari kampus, katanya sih ingin dibuatkan tentang GAME KEYBOARD, hemm.... penulis bingung maksud dari pertanyaan tersebut, namun pada intinya mungkin teman penulis maksudnya ingin dibuatkan sebuah game sederhana yang hanya sebuah gambar bergerak dengan menggunakan tombol navigasi di keyboard ( mungkin tu maksudnya ) he..he...

ya dah sekarang kita langsung kepokok permasalahannya sajah.

Menggerakan gambar dengan tombol navigasi

buat kelas interface dengan nama
ListenerKeyboard.java

kelas ini digunakan sebagai template untuk mendengarkan tombol navigasi dan semua karakter yang ada di Keyboard

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package latihan.game.util;

import java.awt.event.KeyEvent;

/**
*
* @author Islam
*/
public interface ListenerKeyboard {

public void LeftMode();

public void RigthMode();

public void UpMode();

public void DownMode();

public void BackSpace();

public void AllCharacter(KeyEvent e);

public String getText();
}


Kemudian buat kelas
PanelImage.java

Kelas ini untuk panel yang akan kita berikan gambar dan mengatur lokasi sesuai dengan tombol navigasi

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package latihan.game.widget;

import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JPanel;

/**
*
* @author Islam
*/
public class PanelImage extends JPanel{
private Image img;
private int location_X=50,location_Y=50;
private String status="";

public PanelImage(String filename) {
img = new ImageIcon(filename).getImage();

}

@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D gd = (Graphics2D) g.create();
gd.drawImage(img, location_X, location_Y, img.getWidth(null), img.getHeight(null), null);
gd.drawString(status, location_X, location_Y);
gd.dispose();
}

public void Left(){
if(location_X==0)
return;
else
location_X--;
status = "Ke Kiri \n (Left)";
repaint();
}

public void Rigth(){
location_X++;
status = "Ke Kanan \n (Rigth)";
repaint();
}

public void Up(){
if(location_Y==0)
return;
else
location_Y--;
status = "Ke Atas \n (UP)";
repaint();
}

public void Down(){
location_Y++;
status = "Ke Bawah \n (Down)";
repaint();
}


}

Setelah itu baru buat kelas
ActionGameImage.java

Kelas ini merupakan implementasi dari kelas ListenerKeyboard dan masing-masing method memiliki aksinya sendiri.

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package latihan.game.action;

import java.awt.event.KeyEvent;
import javax.swing.JOptionPane;
import latihan.game.util.ListenerKeyboard;
import latihan.game.widget.PanelImage;

/**
*
* @author Islam
*/
public class ActionGameImage implements ListenerKeyboard{

private PanelImage panel;

public ActionGameImage(PanelImage panel) {
this.panel=panel;
}

@Override
public void LeftMode() {
panel.Left();

}

@Override
public void RigthMode() {
panel.Rigth();
}

@Override
public void UpMode() {
panel.Up();
}

@Override
public void DownMode() {
panel.Down();
}

@Override
public void BackSpace() {
return;
}

@Override
public void AllCharacter(KeyEvent e) {
JOptionPane.showMessageDialog(null, "Anda Menekan hurup " +e.getKeyChar());
}

@Override
public String getText() {
return null;
}

}

dan sekarang buat aksi untuk component panelnya turunkan dari kelas KeyAdapter
buat kelas dengan nama

ActionImage.java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package latihan.game.util;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

/**
*
* @author Islam
*/
public class ActionImage extends KeyAdapter{

private ListenerKeyboard listener;

public ActionImage() {
}

@Override
public void keyPressed(KeyEvent e) {

super.keyPressed(e);

if(e.getKeyCode()==KeyEvent.VK_LEFT){
listener.LeftMode();

}else if(e.getKeyCode()==KeyEvent.VK_RIGHT){
listener.RigthMode();

}else if(e.getKeyCode()==KeyEvent.VK_UP){
listener.UpMode();

}else if(e.getKeyCode()==KeyEvent.VK_DOWN){
listener.DownMode();

}else if(e.getKeyCode()==KeyEvent.VK_BACK_SPACE){
listener.BackSpace();

}else {
listener.AllCharacter(e);
}


}

public void addListener(ListenerKeyboard listener){
this.listener=listener;
}

}


Setelah semua aksinya telah dibuat baru sekarang kita masuk ke GUI-nya
buat kelas dengan nama

FormGameImage.java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package latihan.game.gui;

import javax.swing.JFrame;
import latihan.game.action.ActionGameImage;
import latihan.game.util.ActionImage;
import latihan.game.widget.PanelImage;

/**
*
* @author Islam
*/
public class FormGameImage extends JFrame{

private PanelImage panel = new PanelImage("gambar.png");
private ActionGameImage listener = new ActionGameImage(panel);

public FormGameImage(){
initComponent();
ActionImage action = new ActionImage();
action.addListener(listener);
panel.addKeyListener(action);
panel.setFocusable(true);

}

private void initComponent(){
setDefaultCloseOperation(3);
setContentPane(panel);
setLocationRelativeTo(null);
setSize(300, 300);

}
}

lalu untuk menjalankannya buat kelas dengan nama

MainGameImage.java

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package latihan.game.main;


import latihan.game.gui.FormGameImage;

/**
*
* @author Islam
*/
public class MainGameImage {

public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {

public void run() {
new FormGameImage().setVisible(true);
}
});
}
}

Silahkan download linknya disini


Senin, 07 Februari 2011

Aplikasi Perpustakaan (Library Application) vers 1.0

Sekarang sudah banyak aplikasi perpustakan yang bertebaran di google , disini penulis telah merilis aplikasi perpustakaan vers 1.0 Beta, maksud Beta disini menandakan bahwa aplikasi ini masih belum lengkap dan stabil untuk dioperasikan secara maksimal. nah... jika temen-temen berminat ingin memaksimalkan performa aplikasi ini maka temen-temen bisa menjadi donatur atau membeli aplikasi kepada penulis., untuk lebih lengkapnya silahkan download dokumentasi aplikasi ini pada artikel sebelumnya.

Silahkan download dan coba Library Application disini

atau Download Library Application

Langkah-langkah Menjalankan Library Application
1. Download Library Application
2. Setelah itu install Aplikasi
3. Jangan dulu dijalankan, import db_perpus masukan ke Database yang anda miliki.
4. Bila sudah di import maka jalankan Aplikasi.
5. Selesai dan enjoy " Selamat Menikmati Aplikasi Perpustakaan ini "

Note : untuk menjalankan aplikasi ini komputer anda harus terinstall jdk/jre 1.6 keatas
bila anda tidak memiliki jdk/jre anda bisa download disini

Minggu, 30 Januari 2011

Aplikasi Perpustakaan


Apakah Bapak/Ibu guru disekolah yang memiliki perpustakan sudah puas dengan pengelolaan data buku secara manual? bila masih banyak kendala dalam proses pengolahannya, saya siap membantu Bapak/Ibu guru untuk memanajemen data buku agar mudah untuk dikelola. adapun sebagai pertimbangan Bapak/Ibu guru untuk melihat karya aplikasi saya yaitu saya lampirkan dalam bentuk dokumentasi untuk dibaca dan dipahami, tentang fitur yang telah disediakan di aplikasi perpustakaan saya ini.

Bahan pembuatan aplikasi Perpustakaan.
- Java Programming Language J2SE
- MySQL Server

File bisa didownload disini......