วันศุกร์ที่ 8 กรกฎาคม พ.ศ. 2554
Package ของ Java
วันศุกร์ที่ 1 กรกฎาคม พ.ศ. 2554
การสร้าง Bean ใน NetBeans
1. สร้าง Projectใหม่ ไปที่ File -- New Project
5. ตั้งชื่อ Class แล้วกด Finish
6. ทำการ import file beans เข้ามาใน NetBeans ให้เลือก Tool-->>Palatte-->>AWT Components
8. จากครั้งที่แล้วที่ได้สร้างโปรแกรม CounterBeans ที่นำมาประกอบมี OurButton (อยู่ใน buttons.jar) , Counter (อยู่ในCounter.jar)และ TickTock(อยู่ใน misc.jar) ทำการเลือกไฟล์ .JAR ทั้ง3ไฟล์แล้วกด Next
9. โปรแกรมจะแสดงตัว Beans ทั้งหมดจากไฟล์ .JAR ถ้าไม่พบไฟล์ที่ต้องการ ให้เลือกติ๊กที่ Show All JavaBeans ด้านล่างก่อนแล้วเลือก Beans ที่ใชั้ทั้ง 3 ตัว คือ Counter ,OurButton, TickTock ตามภาพ
11. . ต่อไปเป็นการประกอบตัวหน้าตาโปรแกรม โดยการลาก Beans ที่ Import เข้ามาจัดวางลงในหน้าต่างส่วนกลาง โดยเริ่มต้นที่ลากปุ่มมาใส่จาก Beans OurButtonตั้งค่า Propertie ในกล่องด้านขวามือ ช่อง Label เพื่อเปลี่ยนข้อความบนปุ่ม
สร้าง 3 ปุ่มคือ Start Stop และ Reset
12. ลาก Counter มาจัดวาง แล้วทำการปรับขนาดให้เรียบร้อย
ปรับค่า Intervalในกล่อง Properties ด้านขวามือเป็น 1 (เพิ่มขึ้นทีละ1)
เลือก Events -- PropertyChange -- propertyChange
ชื่อCounter.stop(); เพื่อหยุด และ ชื่อCounter.reset(); เพื่อเคลียร์ค่า
วันพุธที่ 29 มิถุนายน พ.ศ. 2554
การนำ Bean มาใช้ใน Bean Box

วันจันทร์ที่ 27 มิถุนายน พ.ศ. 2554
กาสร้างไฟล์ JAR สำหรับ Java Bean
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);
}
}
Main-Class: counter.Counter
Name: counter/Counter.class
Java-Bean: True
วันอาทิตย์ที่ 26 มิถุนายน พ.ศ. 2554
ตัวอย่าง java class library ที่สร้าง Object โดยใช้แนวคิดแบบ Factory Method
java.util.Calendar ซึ่งเราสามารถใช้งาน class นี้เพื่อเรียกดูเวลาของเครื่องที่เราใช้อยู่ได้ และสามารถจัดเป็น format ต่างๆที่เราต้องการได้อีกด้วย และจากรูปเราจะเห็นว่าการสร้าง Object ของ class Calendar นั้นใช้คำสั่ง getInstance() แทนที่จะใช้คำสั่ง new Calendar()
ส่วน class ControlFactory นั้นอยู่ในแพคเกจ javax.naming.ldap.ControlFactoryซึ่งเป็น class ซึ่งเอาไว้สร้างออบเจคของคอนโทรลแบบ LDAPv3 ซึ่งถูกกำหนดโดย RFC2251 และจากรูปเราจะเห็นว่าการสร้าง Object ของ class ControlFactory นั้นใช้คำสั่ง getControlInstance() แทนที่จะใช้คำสั่ง new ControlFactory()
การใช้งาน Design Pattern ใน NetBeans

















































