วันจันทร์ที่ 27 มิถุนายน พ.ศ. 2554

กาสร้างไฟล์ JAR สำหรับ Java Bean


สวัสดีครับ วันนี้เรามาสร้าง Bean ใช้กันดีกว่าครับ หลายคนอาจสงสัยว่าเจ้า Bean นั้นคืออะไร Bean ก็คือ class ของ java นั่นแหละครับ แต่จะมีวิธีการเขียนและนำไปใช้งานแตกต่างกับ class ปกติครับ การเขียน Bean จะมีกฎอยู่ 3 ข้อแต่ผมไม่ขอพู้ถึงครับ สามารถอ่านได้ในบทความนี้ครับ http://thaiprogrammer.blogspot.com/2008/09/3-java-bean-class.html และต่อไปนี้จะเป็นการสร้าง Bean เป็น JAR ไฟล์เพื่อนำไปใช้งานต่อไปครับ

1. ทำการเขียน class ที่ต้องการนำมาทำเป็น Bean ในตัวอย่างนี้ ใช้ Counter.java มี Code โปรแกรมดังนี้

package counter;

import java.awt.*;

public class Counter extends Canvas implements java.io.Serializable {

private final static int XPAD = 10;

private final static int YPAD = 10;

private int count;

private boolean operate;

public Counter() {

count = 0;

operate = true;

}

public void reset() {

count = 0;

repaint();

}

public void start( ) {

operate = true;

}

public void stop() {

operate = false;

}

public synchronized void increment() {

if(operate) {

++count;

adjustSize();

repaint();

}

}

public void setFont(Font font) {

super.setFont(font);

adjustSize();

}

/*

public Dimension getPreferredSize() {

Graphics g = getGraphics();

FontMetrics fm = g.getFontMetrics();

int w = fm.stringWidth("" + count) + 2 * XPAD;

int h = fm.getHeight() + 2 * YPAD;

return new Dimension(w, h);

}

*/

private void adjustSize() {

Dimension d = getPreferredSize();

setSize(d.width, d.height);

Component parent = getParent();

if(parent != null) {

parent.invalidate();

parent.doLayout();

}

}

public void paint(Graphics g) {

Dimension d = getSize();

FontMetrics fm = g.getFontMetrics();

int x = (d.width - fm.stringWidth("" + count))/2;

int y = (d.height + fm.getMaxAscent() -

fm.getMaxDescent())/2;

g.drawString("" + count, x, y);

g.drawRect(0, 0, d.width - 1, d.height - 1);

}

}


2. สร้างไฟล์ Manifest เป็นไฟล์ที่บอกถึงคุณลักษณะต่างของ JAR ไฟล์นั้นๆ เขียน code ดังนี้

Main-Class: counter.Counter

Name: counter/Counter.class

Java-Bean: True



บรรทัดสุดท้ายจำเป็นต้องขึ้นบรรทัดใหม่ 1 8ครั้ง และเซฟไฟล์ชื้อ Counter.mf

3. หลังจากสร้างไฟล์ทั้งสองเราก็ได้ไฟล์ดังภาพ

4. เปิด Command Prompt ขึ้นมา

สมมติว่า path ที่จะสร้าง JAR อยู่ที่ C:\Users\Admin\Desktop\Component\ex3\bean
cd C:\Users\Admin\Desktop\Component\ex3\bean (ถ้าไฟล์อยู่ที่อื่นให้ใช้ path นั้นๆ)
javac –d . Counter.java
คำสั่ง compile และ –d หมายถึงสร้าง โฟลเดอร์ตาม package ที่อยู่ใน source code
jar –cfm Counter.jar Counter.mf .\counter\*.*
คำสั่งสร้าง JAR File

ถ้าคำสั่งถูกต้อง จะได้ไฟล์ในโฟลเดอร์ดังภาพ และจะได้ Counter.jar ตามที่ต้องการ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น