Java Foundation Classes คืออะไร?

Java Foundation Classes (JFCs) เป็นส่วนประกอบซอฟต์แวร์ที่สามารถใช้ซ้ำได้ซึ่งสามารถใช้เพื่อสร้างส่วนติดต่อผู้ใช้แบบกราฟิกในแอปพลิเคชันJava® เป็นการปรับปรุงเกี่ยวกับชุดเครื่องมือที่มาพร้อมกับ Java เวอร์ชันก่อนหน้า พวกเขามีวัตถุประสงค์เพื่อลดความซับซ้อนของการพัฒนาซอฟต์แวร์ลดเวลาในการเขียนโปรแกรมและบรรลุเป้าหมายของการสร้างแอพพลิเคชั่นที่มีลักษณะและทำงานเหมือนกันไม่ว่าจะใช้คอมพิวเตอร์ประเภทใด

JFCs เป็นชุดของคอมโพเนนต์ส่วนต่อประสานผู้ใช้ที่ขยายบน Abstract Window Toolkit (AWT) ซึ่ง แต่เดิมให้ไว้กับภาษาการเขียนโปรแกรมJava® พวกเขาเป็นส่วนประกอบ JavaBeans ™ที่เป็นส่วนหนึ่งของ Java 2®และได้รับการออกแบบให้ข้ามแพลตฟอร์มและปรับแต่งได้ มีวัตถุประสงค์เพื่อลดเวลาการเขียนโปรแกรมโดยการให้ส่วนประกอบที่สามารถนำกลับมาใช้ใหม่จากแอปพลิเคชันไปยังแอปพลิเคชันและจากแพลตฟอร์มหนึ่งไปอีกแพลตฟอร์มหนึ่ง Java Foundation Classes ไม่ได้แทนที่ Abstract Window Toolkit แต่เป็นส่วนหนึ่งของมันแทน อย่างไรก็ตามพวกเขาเปิดใช้งานจาวาอุดมคติของ "การเขียนครั้งเดียวทำงานได้ทุกที่" สมบูรณ์กว่า AWT ดั้งเดิม

AWT เปิดใช้งานการออกแบบส่วนต่อประสานกับผู้ใช้ แต่ทำได้โดยใช้ระบบหน้าต่างของระบบปฏิบัติการที่ใช้งานอยู่ สิ่งนี้ทำให้เป็นการยากที่จะสร้างแอปพลิเคชันที่มีลักษณะและการทำงานเหมือนกันบนแพลตฟอร์มใด ๆ เนื่องจากความแตกต่างโดยธรรมชาติของคุณสมบัติระหว่างระบบปฏิบัติการ AWT ก็มีข้อ จำกัด มากเช่นกันว่าชุดควบคุมที่ให้นั้นไม่กว้างพอที่จะสร้างส่วนต่อประสานผู้ใช้ที่ซับซ้อนและแอปพลิเคชันซอฟต์แวร์ขั้นสูง ส่วนประกอบ AWT คือสิ่งที่ Sun Microsystems เรียกว่า "หนา" เนื่องจากใช้ระบบโฮสต์ของหน้าต่าง

ด้วยการตระหนักถึงข้อ จำกัด ของ AWT นักพัฒนา Netscape จึงสร้างกลุ่มส่วนประกอบที่เรียกว่า Internet Foundation Classes เหล่านี้คือชุดของส่วนประกอบ "น้ำหนักเบา" ซึ่งเป็นส่วนประกอบที่เขียนขึ้นเองในJava® สิ่งนี้เป็นการขยายการทำงานของ AWT และอนุญาตให้นักพัฒนาสร้างส่วนต่อประสานผู้ใช้ที่ยังคงปรากฏเมื่อทำงานบนแพลตฟอร์มต่าง ๆ JavaSoft จากนั้นเริ่มโครงการร่วมกับ Netscape เรียกว่าโครงการ Swing โปรเจ็กต์นี้ส่งผลให้ชุดควบคุมส่วนต่อประสานกับผู้ใช้มีความหลากหลายเทียบเท่ากับที่มีในแพลตฟอร์มระบบปฏิบัติการใด ๆ

Swing เป็นชุดของส่วนประกอบที่มีน้ำหนักเบาที่ซันเปิดตัวสู่สาธารณะพร้อมกับการปรับปรุงคุณสมบัติอื่น ๆ ที่มีไว้สำหรับ Java Development Kit (JDK) เวอร์ชัน 1.2 แพคเกจของ Swing พร้อมการปรับปรุงคุณสมบัติอื่น ๆ นี้คือสิ่งที่ JavaSoft ตั้งชื่อว่า Java Foundation Classes ส่วนควบคุมอินเทอร์เฟซผู้ใช้ Swing เป็นส่วนสำคัญของ Java Foundation Classes ซึ่งรวมถึงรายการอื่น ๆ ฟังก์ชันการพิมพ์คลิปบอร์ดและการเข้าถึง JDK 1.2 รวมถึงเวอร์ชันเต็มของ JFC แม้ว่าจะมีรุ่นที่ จำกัด ซึ่งสามารถใช้ได้กับ JDK 1.1 ปัจจุบันแล้ว