ความแตกต่างที่สำคัญ – AWT กับ Swing
Java เป็นภาษาโปรแกรมระดับสูงที่พัฒนาโดย Sun Microsystems Java รองรับการเขียนโปรแกรมเชิงวัตถุที่ช่วยในการออกแบบและพัฒนาซอฟต์แวร์โดยใช้วัตถุ เมื่อคอมไพล์โปรแกรม Java จะถูกแปลงเป็น bytecode bytecode นั้นถูกตีความโดย Java Virtual Machine (JVM) บนแพลตฟอร์มใด ๆ ดังนั้นจึงเป็นภาษาการเขียนโปรแกรมที่โปรแกรมเมอร์สามารถเขียนเพียงครั้งเดียวและทำงานบนแพลตฟอร์มใดก็ได้ Java สามารถใช้ในการพัฒนาแอพพลิเคชั่นได้หลากหลาย เช่น เดสก์ท็อป มือถือ และเว็บแอพพลิเคชั่น ภาษานี้มีชุดเครื่องมือสำหรับการสร้าง Graphical User Interfaces (GUI) ที่สมบูรณ์ สองคนคือ AWT และ Swingบทความนี้กล่าวถึงความแตกต่างระหว่าง AWT และ Swing ความแตกต่างที่สำคัญระหว่าง AWT และ Swing คือ AWT เป็นชุดเครื่องมือหน้าต่างกราฟิกและวิดเจ็ตอินเทอร์เฟซผู้ใช้ที่ขึ้นกับแพลตฟอร์มดั้งเดิมของ Java ในขณะที่ Swing เป็นชุดเครื่องมือวิดเจ็ต GUI สำหรับ Java ที่เป็นส่วนขยายสำหรับ AWT
AWT คืออะไร
A Graphical User Interface เป็นอินเทอร์เฟซสำหรับผู้ใช้เพื่อให้คำแนะนำสำหรับซอฟต์แวร์ในการทำงาน ประกอบด้วยองค์ประกอบกราฟิกต่างๆ ส่วนประกอบ GUI บางส่วน ได้แก่ หน้าต่าง ปุ่ม กล่องคำสั่งผสม พื้นที่ข้อความ กล่องรายการ และป้ายกำกับ การใช้ส่วนประกอบเหล่านี้ โปรแกรมเมอร์สามารถพัฒนาส่วนต่อประสานผู้ใช้แบบโต้ตอบสำหรับแอปพลิเคชันได้ GUI ขึ้นอยู่กับเหตุการณ์ การคลิกปุ่ม ปิดหน้าต่าง การพิมพ์บางอย่างในกล่องข้อความเป็นตัวอย่างของเหตุการณ์ที่อาจเกิดขึ้นในแอปพลิเคชันที่ใช้ Graphical User Interface วันนี้แอปพลิเคชั่นจำนวนมากมี GUI แอปพลิเคชั่นมือถือ ระบบจองตั๋วเครื่องบิน เครื่องเบิกเงินสดอัตโนมัติ มีอินเทอร์เฟซแบบกราฟิกที่หลากหลายเพื่อให้ลูกค้าใช้แอปพลิเคชันได้อย่างง่ายดาย
AWT ย่อมาจาก Abstract Window Toolkit AWT ต้องการอ็อบเจ็กต์ OS ดั้งเดิมเพื่อใช้งานฟังก์ชันต่างๆ ดังนั้นส่วนประกอบ AWT จึงมีน้ำหนักมากและต้องการพื้นที่หน่วยความจำมากขึ้น ส่วนประกอบ AWT ยังใช้เวลาในการดำเนินการ จำนวนของส่วนประกอบที่มีอยู่ใน AWT นั้นน้อยที่สุด จำเป็นต้องนำเข้าแพ็คเกจ javax.awt เพื่อพัฒนาแอปพลิเคชัน GUI ที่ใช้ AWT
รูปที่ 01: AWT และวงสวิง
ส่วนประกอบ AWT บางส่วน ได้แก่ ปุ่ม, ฟิลด์ข้อความ, กล่องดรอปดาวน์, แถบเลื่อน, หน้าต่าง, เฟรม, แผง, ป้ายกำกับ หลังจากสร้างวัตถุแล้ว ก็สามารถวางลงในคอนเทนเนอร์ได้ คอนเทนเนอร์มีพื้นที่สำหรับโหลดส่วนประกอบAWT ไม่รองรับรูปลักษณ์และสัมผัสที่เสียบได้ ดังนั้น แอปพลิเคชัน AWT ที่พัฒนาขึ้นในระบบปฏิบัติการหนึ่งอาจดูไม่เหมือนกันในระบบปฏิบัติการอื่น
สวิงคืออะไร
Swing เป็นชุดเครื่องมือวิดเจ็ต GUI สำหรับ Java เป็นส่วนหนึ่งของ Java Foundation Classes (JFC) ของ Oracle เป็น Application Programming Interface เพื่อสร้าง GUI สำหรับแอปพลิเคชัน Java มันถูกสร้างขึ้นบน AWT API Swing ได้รับการพัฒนาเพื่อให้ส่วนประกอบที่ยืดหยุ่นและซับซ้อนกว่า AWT Swing ประกอบด้วยองค์ประกอบพื้นฐาน เช่น ป้ายกำกับ กล่องข้อความ ปุ่ม นอกจากนี้ยังมีส่วนประกอบขั้นสูงเพิ่มเติม บางส่วน ได้แก่ ต้นไม้ ตาราง รายการ บานหน้าต่างเลื่อน และบานหน้าต่างแบบแท็บ หากโปรแกรมเมอร์ต้องการใช้แอปพลิเคชัน Swing จำเป็นต้องนำเข้าแพ็คเกจ javax.swing แพ็คเกจนี้มีคลาสสำหรับ Java Swing API เช่น JButton, JRadioButton, JTextField, JCheckbox เป็นต้น
ส่วนประกอบสวิงไม่มีรหัสเฉพาะแพลตฟอร์ม ดังนั้น Swing จึงเป็นอิสระจากแพลตฟอร์มต่างจาก AWT ตรงที่ Swing ไม่ต้องการการเรียก OS ดั้งเดิมเพื่อสร้างส่วนประกอบ JVM มีหน้าที่เรียกใช้เมธอดดั้งเดิม ส่วนประกอบ Swing มีน้ำหนักเบา พื้นที่หน่วยความจำที่ต้องการก็น้อยที่สุดเช่นกัน นี่เป็นปัจจัยสำคัญในการเรียกใช้แอปพลิเคชันที่ใช้ Swing ได้เร็วขึ้น ในการพัฒนาแอปพลิเคชัน Model, View, Controller (MVC) เป็นรูปแบบการออกแบบทั่วไป โมเดลแสดงถึงข้อมูล มุมมองแสดงถึงการนำเสนอในขณะที่คอนโทรลเลอร์เป็นส่วนต่อประสานระหว่างโมเดลและมุมมอง สวิงตามรูปแบบนี้ สวิงรองรับรูปลักษณ์และสัมผัสที่เสียบได้ โดยรวมแล้วมีประสิทธิภาพมากกว่า AWT
ความคล้ายคลึงกันระหว่าง AWT และ Swing คืออะไร
ทั้งสองเป็นชุดเครื่องมือที่ใช้ Java เพื่อสร้างส่วนต่อประสานกราฟิกกับผู้ใช้
AWT กับ Swing ต่างกันอย่างไร
AWT vs สวิง |
|
AWT คือหน้าต่างดั้งเดิมที่ขึ้นกับแพลตฟอร์ม Java, กราฟิก และชุดเครื่องมือวิดเจ็ตส่วนต่อประสานผู้ใช้ก่อนหน้า Swing | Swing คือชุดเครื่องมือวิดเจ็ต GUI สำหรับ Java ซึ่งเป็นส่วนหนึ่งของ Java Foundation Class (JFC) ของ Oracle |
การพึ่งพาแพลตฟอร์ม | |
AWT ส่วนประกอบขึ้นอยู่กับแพลตฟอร์ม | ส่วนประกอบสวิงเป็นอิสระจากแพลตฟอร์ม |
จำนวนส่วนประกอบ | |
AWT มีส่วนประกอบน้อยกว่า | สวิงมีจำนวนส่วนประกอบที่สูงกว่า |
ส่วนประกอบ | |
AWT ส่วนประกอบมีน้ำหนักมาก | ส่วนประกอบสวิงมีน้ำหนักเบา |
MVC | |
AWT ไม่ตาม MVC. | สวิงตาม MVC |
ความเร็ว | |
AWT ไม่เร็วเท่าวงสวิง | สวิงเร็วกว่า AWT |
พื้นที่หน่วยความจำที่ต้องการ | |
AWT ส่วนประกอบต้องการพื้นที่หน่วยความจำมากขึ้น | ส่วนประกอบสวิงต้องการพื้นที่หน่วยความจำน้อยลง |
แพ็คเกจที่จำเป็น | |
AWT ต้องนำเข้าแพ็คเกจ javax.awt | Swing ต้องการการนำเข้าแพ็คเกจ javax.swing |
รูปลักษณ์ที่เสียบได้ | |
AWT ไม่รองรับรูปลักษณ์ที่เสียบได้ | สวิงให้รูปลักษณ์และสัมผัสที่เสียบได้ |
สรุป – AWT vs สวิง
บทความนี้กล่าวถึงเครื่องมือออกแบบส่วนต่อประสานกราฟิกกับผู้ใช้สองตัวคือ AWT และ Swing ความแตกต่างระหว่าง AWT และ Swing ก็คือ AWT นั้นเป็นชุดเครื่องมือหน้าต่างกราฟิกและวิดเจ็ตส่วนต่อประสานกับผู้ใช้บนแพลตฟอร์มดั้งเดิมของ Java ในขณะที่ Swing เป็นชุดเครื่องมือวิดเจ็ต GUI สำหรับ Java ซึ่งเป็นส่วนขยายสำหรับ AWT Swing ให้ฟังก์ชันการทำงานที่สมบูรณ์ยิ่งขึ้นเมื่อเปรียบเทียบกับ AWT รูปลักษณ์ของ GUI ที่สร้างโดยใช้ Swing ดูดีกว่า GUI ที่มี AWT ต่างจาก AWT ตรงที่ Swing รองรับรูปลักษณ์และสัมผัสที่เสียบได้และเพิ่มความสามารถในการใช้งานของแอปพลิเคชัน
ดาวน์โหลดเวอร์ชัน PDF ของ AWT vs Swing
คุณสามารถดาวน์โหลดไฟล์ PDF ของบทความนี้และใช้เพื่อวัตถุประสงค์ออฟไลน์ตามหมายเหตุอ้างอิง โปรดดาวน์โหลดไฟล์ PDF ที่นี่: ความแตกต่างระหว่าง AWT และ Swing