Swing

דוגמה לווידג'טים של Swing ב-Java.
Swing היא ממשק משתמש גרפי (GUI) של ערכת כלים (widget toolkit) ל-Java. היא חלק ממחלקות התשתית של JFC) Java) - שהן ממשק תכנות יישומים (API) ומטרתן לספק ממשק משתמש גרפי לתוכניות Java.

Swing פותחה על מנת לספק סט מתוחכם יותר של רכיבי GUI מאשר ה-Abstract Window Toolkit (בקיצור AWT).

Swing מספקת עיצוב ומראה אשר מחקים את אלו של מספר פלטפורמות, ובנוסף תומכת במכניזם המאפשר לשנות את העיצוב של GUI בזמן ריצה . יכולת זו מאפשרת לעיצוב ולמראה של האפליקציות להיראות לא קשורים לפלטפורמת היסוד. בנוסף לרכיבים הרגילים, כגון כפתורים, Check boxes ותוויות (לייבלים), Swing מספקת מספר קומפוננטים מתקדמים כגון עצים, טבלאות, רשימות, Tabbed panel ו-Scroll panes.

בניגוד לרכיבי AWT, רכיבים ב-Swing כתובים לחלוטין ב-Java ולא תלויים בפלטפורמות אחרות. בדצמבר 2008, סאן מיקרוסיסטמס שחררה את JavaFX ,אשר נועדה להיות היורשת של Swing.

== דוגמאות ==
אפליקציה אשר יוצרת חלון שבו הטקסט "Hello World":<syntaxhighlight lang="java">
// Hello.java (Java SE 5)
import javax.swing.*;

public class Hello extends JFrame {
 public Hello() {
 super("hello");
 this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
 this.add(new JLabel("Hello, world!"));
 this.pack();
 this.setVisible(true);
 }

 public static void main(final String[] args) {
 new Hello();
 }
}
</syntaxhighlight>

== ראו גם ==
* JavaFX
* Java
* ממשק משתמש גרפי (GUI)
* אורקל (חברה)

== לקריאה נוספת ==
<div class="mw-content-ltr">
* Loy, Marc; Eckstein, Robert; Wood, Dave; Elliott, James; Cole, Brian (2012). Java Swing (2 ed.). O'Reilly Media, Inc. p. 53. 
</div>

== קישורים חיצוניים ==

* 
<div class="mw-content-ltr">
* [https://www.techopedia.com/definition/26102/java-swing "What is Java Swing? - Definition from Techopedia".] Techopedia Inc. Retrieved 2018-11-03.
* Yap, Chee (2003-04-30). [https://cs.nyu.edu/~yap/classes/visual/03s/lect/l7/ "JAVA SWING GUI TUTORIAL"]. New York University (NYU). Retrieved 2018-11-03.
* [https://opensourceforu.com/2017/07/developing-basic-gui-application-using-javafx-eclipse/ "Developing a basic GUI application using JavaFX in Eclipse"].
* [https://jaxenter.com/jdk-11-javafx-separate-module-142186.html "JDK 11 update: JavaFX will be decoupled from the JDK".]
* [https://opensourceforu.com/2017/07/developing-basic-gui-application-using-javafx-eclipse/ "Developing a basic GUI application using JavaFX in Eclipse".]
* Smith, Donald (March 7, 2018). [https://blogs.oracle.com/java-platform-group/the-future-of-javafx-and-other-java-client-roadmap-updates "The Future of JavaFX and Other Java Client Roadmap Updates".]
* Zukowski, John (August 21, 2007). [https://www.infoworld.com/article/2077754/swing-threading-and-the-event-dispatch-thread.html "Swing threading and the event-dispatch thread"]. JavaWorld. Retrieved 2020-07-26.
* Fowler, Amy. [https://www.oracle.com/java/technologies/a-swing-architecture.html "A Swing Architecture Overview"]. Sun Microsystems. Retrieved 2020-07-26.
* Zakhour, Sharon; Petrov, Anthony (April 2010). [https://www.oracle.com/technical-resources/articles/java/mixing-components.html "Mixing Heavyweight and Lightweight Components"]. Oracle. Retrieved 2020-07-26.
* Strenn, Stephen (March 3, 2006). [https://web.archive.org/web/20170917172003/http://www.javalobby.org/java/forums/t65168.html "Swing vs. SWT Performance - Have a Look at the Call Stacks"]. Javalobby. Archived from the original on 2017-09-17.
* http://docs.oracle.com/javase/tutorial/uiswing/concurrency/dispatch.html The Event Dispatch Thread
* [https://www.oracle.com/technetwork/java/javase/overview/javafx-overview-2158620.html "JavaFX Developer Home"]. www.oracle.com.
* [https://www.javatpoint.com/java-swing 14. Java Swing Tutorial - javapoint. (3/08/20)]
</div>

קטגוריה:Java
קטגוריה:ממשקי משתמש
קטגוריה:אורקל