มีกรอบ gui ค่อนข้างมากสำหรับ Java แต่สิ่งที่ได้รับการยอมรับว่าเป็นกรอบทางเลือกของวันนี้
ต่อไปนี้เป็นความเข้าใจของฉันเกี่ยวกับกรอบงานที่แตกต่างกันโปรดแก้ไขฉันหากฉันผิด นี่เป็นชุดคำถามที่กำหนดไว้อย่างหลวม ๆ แต่ฉันก็ยังคิดว่ามันมีค่าสำหรับทุกคนที่คิดว่าจะสร้างแอปพลิเคชั่น gui ที่หลากหลาย
เป็นรากฐานของการแกว่งมากมันทำงานได้ดี แต่ขาดองค์ประกอบขั้นสูง หากคุณต้องการสร้างแอปพลิเคชั่นที่หลากหลาย AWT อาจไม่ใช่วิธีที่จะไป อย่างไรก็ตามสำหรับแอปพลิเคชั่น gui ขนาดเล็กที่ไม่ต้องการส่วนต่อประสานผู้ใช้ที่หลากหลาย สิ่งนี้อาจเหมาะสมอย่างสมบูรณ์แบบเพราะมันเป็นกรอบการทดลองและพิสูจน์แล้ว
อ้างอิงจาก AWT ตามที่ระบุไว้ก่อนหน้า ในวัยเด็กมันถูกมองว่าช้าและบั๊กกี้และทำให้ IBM สร้าง SWT สำหรับ Eclipse อย่างไรก็ตามด้วย Java 5 (หรือ 6?) Swing กลายเป็นเฟรมเวิร์กของทางเลือกสำหรับการสร้างแอปพลิเคชันใหม่ Swing มีส่วนประกอบมากมาย แต่ยังขาดในบางพื้นที่ ตัวอย่างหนึ่งที่ไม่มีส่วนประกอบแบบ TreeTable ที่โดดเด่นซึ่งสามารถทำการเรียงลำดับและกรอง / ค้นหา
สร้างโดย IBM สำหรับ Eclipse พวกเขาคิดว่า Swing ไม่เหมาะกับ Eclipse ในขณะนั้น โดยตัวของมันเองค่อนข้างต่ำและใช้วิดเจ็ตดั้งเดิมของแพลตฟอร์มผ่าน JNI ไม่เกี่ยวข้องกับ Swing และ AWT เลย API ของพวกเขาค่อนข้างคึกคักและไม่ง่าย พวกเขามีองค์ประกอบขั้นสูงบางอย่างเช่น TreeTable (แต่ฉันไม่คิดว่าพวกเขาสนับสนุนการเรียงลำดับและกรองออกจากกล่อง) SWT ใช้การผูกพื้นเมือง (ผ่าน JNI?) และการพูดจาโผงผางบนอินเทอร์เน็ตคือเฟรมเวิร์กนี้ไม่ควรใช้ในโครงการของวันนี้ (ทำไมจะไม่ล่ะ?)
ขึ้นอยู่กับการสวิงและภารกิจคือการสร้างองค์ประกอบที่หลากหลายสำหรับการแกว่ง ยังอยู่ระหว่างการพัฒนา (ไม่แอ็คทีฟมาก ๆ ) มีชุดของคอมโพเนนต์ที่ดีมากเช่น TreeTable แต่ TreeTable ไม่รองรับการกรองและการเรียงลำดับเท่าที่ฉันรู้ อย่างไรก็ตามสนับสนุนการค้นหาด้วยการไฮไลต์
โปรดทราบว่า SwingX เป็นส่วนประกอบ (AFAIU) ที่เป็นส่วนขยายหรือองค์ประกอบขององค์ประกอบสวิงที่มีอยู่
JGoodies
กรอบที่ฉันไม่รู้อะไรเลย ... จุดแข็งและจุดอ่อนของมันคืออะไร? Jgoodies ของชุดอะไรนอกเหนือจากส่วนที่เหลือ?
JGoodies OTOH เป็นเรื่องเกี่ยวกับ PLAF และเลย์เอาต์
เรือธงล่าสุดของ Java / Oracle สัญญาว่าจะเป็นมาตรฐานในการพัฒนาเดสก์ท็อปหรือเว็บแอปพลิเคชั่นที่หลากหลาย
มันแสดงผล UI โดยใช้ Java2D จึงลดผลกระทบของมรดก (IMO, bloated) ของ Swing และ AWT (@Augustus Thoo)
มันเป็นจุดสนใจหลักที่ดูเหมือนว่าจะใช้กับ RIA (แอปพลิเคชันอินเทอร์เน็ตที่สมบูรณ์) แต่ดูเหมือนว่ามันจะสามารถนำไปใช้กับแอปพลิเคชันเดสก์ท็อปได้ และเป็นความคิดเห็นส่วนตัวดูน่าสนใจมาก! ฉันชอบเป็นพิเศษมันเป็นโครงการอาปาเช่
https://cwiki.apache.org/PIVOT/frequently-asked-questions-faq.html
java wrapper ไปยังไลบรารี qt ดั้งเดิมซึ่งเขียนด้วย c / c ++ มีประสิทธิภาพมากใช้อย่างกว้างขวางและเป็นที่ยอมรับ มีส่วนประกอบ GUI จำนวนมากและ API ที่ใช้งานง่าย
ดังนั้นเพื่อพยายามสรุปสิ่งที่ฉันถาม:
สมมติว่าฉันต้องการสร้างแอปพลิเคชันเดสก์ท็อปในวันนี้ที่ Java ซึ่งมีส่วนประกอบขั้นสูงมากมายฉันควรเลือกอะไร และทำไม?
กรอบใดในกรอบเหล่านี้ที่ควรรับรู้ว่าเลิกใช้แล้วและควรรับรู้เป็นกรอบแห่งอนาคตอันไกลโพ้น
กรอบมาตรฐาน deo พฤตินัยในปัจจุบันคืออะไรและเครื่องมือใดที่คุณใช้ในการสร้างแอปพลิเคชัน java gui?
ฉันอาจเสียใจที่ขอสิ่งนี้ แต่ไม่ลองเลย:
C # /. Net ได้รับการกล่าวถึงว่ามีชุดส่วนประกอบที่ใช้งานง่ายซึ่งสามารถยืดหยุ่นได้ในทุกทิศทางที่เป็นไปได้ และหลังจากการตรวจสอบจาวาเฟรมเวิร์กที่แตกต่างกันในระดับหนึ่งฉันไม่สามารถพูดได้เหมือนกันเกี่ยวกับ Java ทำไมนี้ ทำไมจาวา (ซึ่งเป็นภาษาการเขียนโปรแกรมที่ใช้กันอย่างแพร่หลายที่สุดในโลก) ไม่ได้มีชุด GUI เหมือนกัน?
มันเป็นเพียงแค่ java ที่ใช้องค์ประกอบ gui ของพวกเขาในระดับที่ต่ำกว่ามากและเป็นไปได้ที่จะเขียนส่วนประกอบขั้นสูงเหล่านี้ทั้งหมดที่ฉันกำลังมองหา แต่คุณต้องทำมากถ้าไม่ได้ทั้งหมดด้วยตัวเอง?