Voice in the Gentle Wind

กันยายน 10, 2007

Nimbus จะเสร็จแล้ว

Filed under: java, swing — deans4j @ 3:30 am

Jasper Potts รายงานควาบคืบหน้า Swing Look & Feel ตัวใหม่ Nimbus (ของแท้ไม่มุก) ว่าเสร็จไปส่วนใหญ่แล้ว ที่เหลือคือขั้นตอนขัดเงาทำให้มันสวย โดยคราวนี้มีการพูดถึงเทคโนโลยีที่ถูกใช้ไปในการสร้าง L&F ตัวใหม่นี้ด้วย

  • 2D Vector – ทุกส่วนใน Nimbus นั้นถูกเรนเดอร์ด้วยภาพเวกเตอร์ ทำให้ขนาดของตัว L&F เมื่อประกอบลง jar เล็กมาก เพียง 56K เท่านั้นเอง
  • HD Ready – ด้วยความที่ทำงานอยู่บนพื้นฐานเวกเตอร์ ทำให้สามารถขยายภาพโดยไม่ขึ้นกับความละเอียดของหน้าจอ
  • สร้างจากพื้นฐาน Painter Interface ใน SwingX ส่งผลให้แนวคิดของการ reuse หน้าตาและเอฟเฟกต์จาก Nimbus เป็นไปได้
  • ปรับแต่งได้หมด รายละเอียดของคอมโพเนนต์ต่างๆ ถูกบันทึกค่าไว้ในคลาส UIDefaults จึงทำให้การปรับแต่งหน้าตาทำได้โดยตรงจากการแก้ไขค่าตั้งต้นที่กำหนด
  • ส่งผลให้ 3-rd party คอมโพเนนต์สามารถปรับแต่งให้หน้าตาสอดคล้องกับ Nimbus ได้
  • และที่(เค้าว่า)เจ๋งที่สุด คือ Nimbus ถูกวาดขึ้นจากเครื่องมือที่สร้างขึ้นใหม่เพื่อการณ์นี้โดยเฉพาะ โปรแกรมมีลักษณะคล้ายๆ Photoshop หรือ Illustrator ขนาดย่อม โดยคนวาดจะวาดภาพเวกเตอร์ตามสถานะของคอมโพเนนต์ต่างๆ แล้วภาพนั้นจะถูกคอมไพล์แปลงเป็นโค้ดที่ใช้ Java2D ภายในคลาส Painter อีกที โดยทำมารองรับความสามารถระดับสูงเช่นการทำ sub-pixel การไล่สี gradient แบบซับซ้อน การทำเลเยอร์และเอฟเฟกต์ต่างๆ เช่นการเงาพื้นหลัง เป็นต้น ซึ่งเครื่องมือตัวนี้คาดว่าคงจะโอเพนซอร์สแน่นอนในอนาคต คนใช้นอกจากจะสามารถเอาไปใช้สร้าง Look & Feel ใหม่ๆ ของตัวเอง ยังเป็นเครื่องมือดีๆ เอาไว้สร้าง Painter เอฟเฟกต์ได้ด้วย

ที่มา – Jasper Potts’s Blog

เรื่อง Painter ใน SwingX ถ้าสนใจต้องเข้าไปอ่านที่ SwingLabs นะครับ มาแน่ๆ ใน JDK 7.0 อธิบายแบบสั้นๆ คือต้องการสร้างแนวคิดในการ reuse เอฟเฟกต์ให้เป็นไปได้ข้าม L&F ซึ่งปัจจุบันทำได้ยากเพราะมันผูกกับหน้าตา L&F ต้องแฮกกันเอาเองถึงจะใช้ได้

Advertisements

2 ความเห็น »

  1. จั่วหัวว่า Nimbus เลยอ่าน Jasper Potts เป็น James Potter ซะงั้น ;-P

    ความเห็น โดย chanwit — กันยายน 10, 2007 @ 6:20 am

  2. อ่า ตอนแรกก็รู้สึกแบบเดียวกันเลย – -“

    ความเห็น โดย deans4j — กันยายน 10, 2007 @ 5:48 pm


RSS feed for comments on this post. TrackBack URI

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

บลอกที่ WordPress.com .

%d bloggers like this: