'J' был впервые выпущен KL Group (теперь quest.com) , чей революционный BWT составляет основу современного усовершенствованного AWT под названием Swing /JFC.
Итак, происходит от предка сегодняшнего KL JClass :
( не так, согласно ответу TofuBeer : я оставляю остальное как ответ сообщества, потому что он подробно описывает, что такое JClass, но «J» может вообще не прийти из интеграции их библиотека в Swing.)
JClass SwingSuite , новый набор расширений и улучшений для Swing в комплекте разработчика Java (TM) Sun Microsystems, Inc. (JDK (TM) версии 1.2): он совпадает с объявлением Sun о наличие JDK 1.2, сделанного сегодня во время Java (SM) Business Expo (SM) в Нью-Йорке.
JClass JavaBeans
доступны во многих популярных Java IDE и являются основными компонентами, используемыми профессиональными и корпоративными разработчиками по всему миру.
JClass 3.6 включает версии "J", которые работают с пакетом javax.swing, что позволяет сегодня разрабатывать и развертывать с JDK 1.2 .
С JClass 3.6 - 4.0 Руководство по портированию и KL Group выпускает обновление Swing для JClassLine (март 1998) :
Чтобы приспособиться к различным типам сред, которые могут использовать разработчики Java, мы разработали версии наших продуктов JClass, которые можно использовать для конкретных комплектов разработки Java (JDK). Ниже перечислены различия между различными версиями:
- Версия "J": используется JDK 1.1 + Swing 1.1 (рекомендуется JDK 1.1.8 + Swing 1.1.1)
- Версия "K": использует Java 2 (рекомендуется JDK 1.2.2)
JClass 3.6 и предыдущие версии использовали несколько иную буквенную схему, которая выглядит следующим образом:
- Версия "T": использует API JDK 1.0.2 и реализует "переходный" JavaBeans
- «Unlettered» версия: использует JDK 1.1.x и включает полную реализацию JavaBean
- «S» версия: используется JDK 1.1 / Swing 1.0.3
- Версия "J": используется JDK 1.2 или JDK 1.1 с Swing 1.1
Немного общего контекста:
С Базовый Java-апплет и JApplet :
AWT (Abstract Windowing Toolkit) был частью Java с самого начала, но почти с самого начала стало ясно, что AWT не был достаточно мощным или гибким для написания сложных, сложных приложений.
Это не мешает ему быть полезным - особенно для апплетов, которые обычно не так сложны, как полномасштабные, независимые приложения.
Библиотека графического интерфейса пользователя Swing была создана для решения проблем с AWT. С выпуском версии 1.2 Java Swing стал официальной частью Java. (Версии Java, начинающиеся с 1.2, также довольно смущающе называют «Java 2».)
Есть все еще веские причины для написания апплетов на основе AWT, например, отсутствие поддержки во многих веб-браузерах для Java 2. Однако на этом этапе любой, кто пишет автономное графическое приложение на Java, почти наверняка должен используя Swing.
Классы, составляющие библиотеку Swing, можно найти в пакете javax.swing
. Swing включает класс javax.swing.JApplet
, который будет использоваться в качестве основы для написания апплетов.
JApplet
на самом деле является подклассом Applet
, поэтому JApplets
на самом деле Applets
в обычном смысле.
Тем не менее, JApplets
имеют много дополнительной структуры, которую обычные апплеты не имеют . Из-за этой структуры рисование JApplet
является более сложным делом и обрабатывается системой.
Итак, когда вы создаете подкласс JApplet
, вам не следует писать для него метод paint()
. Как мы увидим, если вы хотите нарисовать JApplet
, вы должны добавить в апплет компонент, который будет использоваться для этой цели. С другой стороны, вы можете и вообще должны написать метод init()
для подкласса JApplet
.
Swing - это большой набор компонентов, от самых простых, таких как метки, до очень сложных, таких как таблицы, деревья и стилизованные текстовые документы.
Почти все компоненты Swing являются производными от одного родителя с именем JComponent
, который расширяет класс AWT Container
.
Таким образом, Swing лучше всего описать как слой поверх AWT, а не как его замену.
Если вы сравните его с иерархией компонентов AWT, вы заметите, что для каждого компонента AWT существует эквивалент Swing с префиксом «J
» .
Единственным исключением является класс AWT Canvas
, для которого JComponent
, JLabel
или JPanel
могут использоваться в качестве замены. Многие классы Swing не имеют аналогов AWT.