Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Java Foundation Classes
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Graphical framework}} {{Multiple issues| {{Notability|date=March 2022}} {{One source|date=March 2022}} }} The '''Java Foundation Classes''' ('''JFC''') are a graphical framework for building portable [[Java (programming language)|Java]]-based [[graphical user interface]]s (GUIs). JFC consists of the [[Abstract Window Toolkit]] (AWT), [[Swing (Java)|Swing]] and [[Java 2D]]. Together, they provide a consistent user interface for Java programs, regardless of whether the underlying user interface system is [[Microsoft Windows|Windows]], [[macOS]] or [[Linux]]. ==History== AWT existed before JFC. [[Abstract Window Toolkit|AWT]] was heavily criticized for being little more than a wrapper around the native graphical capabilities of the host platform. That meant that the standard [[widget (computing)|widget]]s in the AWT relied on those capabilities of the native widgets, requiring the developer to also be aware of the differences between host platforms. An alternative graphics library called the [[Internet Foundation Classes]] was developed in more platform-independent code by [[Netscape Communications Corporation|Netscape]]. At the same time, another graphics library, called [[Application Foundation Classes]] (AFC), was developed independently by [[Microsoft]]. It was made to be easier to extend the graphic components, but was primarily aimed for use with the [[Microsoft Java Virtual Machine]]. On April 2, 1997, [[Sun Microsystems]] and [[Netscape Communications Corporation|Netscape]] announced their intention to combine IFC with other technologies to form the "Java Foundation Classes".<ref>{{cite web |url=http://www2.prnewswire.com/cgi-bin/stories.pl?ACCT=104&STORY=/www/story/84048&EDATE= |title=Sun and Netscape to jointly develop Java Foundation Classes |publisher=[[Netscape Communications Corporation]] |date=1997-04-02 |accessdate=2007-07-14 |url-status=dead |archiveurl=https://web.archive.org/web/20120509230952/http://www2.prnewswire.com/cgi-bin/stories.pl?ACCT=104&STORY=%2Fwww%2Fstory%2F84048&EDATE= |archivedate=2012-05-09 }}</ref> The "Java Foundation Classes" were later renamed "Swing", adding the capability for a [[pluggable look and feel]] of the widgets. This allowed Swing programs to maintain a platform-independent code base, but mimic the look of a native application. The release of JFC made IFC obsolete, and dropped interest for Microsoft's AFC. Using the Java programming language, Java Foundation Classes (JFC) are pre-written code in the form of class libraries (coded routines) that give the programmer a comprehensive set of graphical user interface (GUI) routines to use. The Java Foundation Classes are comparable to the [[Microsoft Foundation Class Library]] (MFC). JFC is an extension of the original Java Abstract Windowing Toolkit (AWT). Using JFC and Swing, an additional set of program components, a programmer can write programs that are independent of the windowing system within a particular operating system. ==See also== * [[Standard Widget Toolkit]] * [[Java Class Library]] ==References== {{Reflist}} {{Java desktop}} ==External links== * [http://java.sun.com/products/jfc/ Official JFC website at Sun] [[Category:JDK components]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Java desktop
(
edit
)
Template:Multiple issues
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)