O que são as classes Java Foundation?
Java Foundation Classes (JFCs) são componentes de software reutilizáveis que podem ser usados para criar uma interface gráfica com o usuário em um aplicativo Java®. Eles são uma melhoria no kit de ferramentas fornecido com as versões anteriores do Java®. Eles visam simplificar o desenvolvimento de software, reduzir o tempo de programação e cumprir o objetivo de criar aplicativos com aparência e ação iguais, independentemente do tipo de computador em que são executados.
JFCs são um conjunto de componentes da interface com o usuário que se expandem no AWT (Abstract Window Toolkit) que foi originalmente fornecido com a linguagem de programação Java®. Eles são componentes JavaBeans ™ que fazem parte do Java 2® e são projetados para serem multiplataforma e personalizáveis. Eles visam reduzir o tempo de programação, fornecendo componentes que podem ser reutilizados de aplicativo para aplicativo e de plataforma para plataforma. As Java Foundation Classes, na verdade, não substituem o Abstract Window Toolkit, mas fazem parte dele. No entanto, eles habilitam o ideal Java® de "escrever uma vez, executar em qualquer lugar" mais completamente do que o AWT original.
O AWT permite o design da interface do usuário, mas o faz usando o sistema de janelas do sistema operacional no qual está sendo executado. Isso dificulta a criação de aplicativos com aparência e comportamento iguais em qualquer plataforma, devido às diferenças inerentes nos recursos entre os sistemas operacionais. O AWT também era muito limitado, pois o conjunto de controles fornecidos não era amplo o suficiente para criar interfaces de usuário complexas e aplicativos de software avançados. Os componentes do AWT são o que a Sun Microsystems chama de "peso pesado" porque eles usam o sistema de janelas do host.
Reconhecendo as limitações do AWT, os desenvolvedores do Netscape criaram um conjunto de componentes chamado Internet Foundation Classes. Estes eram um conjunto de componentes "leves", componentes escritos nativamente em Java®. Isso estendeu a funcionalidade do AWT e permitiu que os desenvolvedores criassem interfaces de usuário que mantinham a aparência quando executadas em plataformas diferentes. A JavaSoft iniciou um projeto conjunto com o Netscape, chamado de projeto Swing. Esse projeto resultou em um conjunto de controles de interface com o usuário com uma variedade comparável à disponível em qualquer plataforma do sistema operacional.
O Swing é um conjunto de componentes leves que a Sun lançou ao público em combinação com várias outras melhorias de recursos destinadas ao Java Development Kit (JDK) versão 1.2. Este pacote do Swing, além de outras melhorias de recursos, foi o que a JavaSoft chamou de Java Foundation Classes. Os controles da interface do usuário Swing são a parte principal das Java Foundation Classes, que também inclui, entre outros itens, funções de impressão, área de transferência e acessibilidade. O JDK 1.2 inclui a versão completa do JFC, embora tenha sido disponibilizada uma versão limitada que poderia ser usada com o JDK 1.1 atual.