Что означает «J» в JApplet? - PullRequest
       16

Что означает «J» в JApplet?

3 голосов
/ 20 марта 2009

Что означает «J» в JApplet?

Ответы [ 4 ]

13 голосов
/ 20 марта 2009

Когда Sun начала работать над Swing, у них были такие вещи, как javax.swing.Button. Это вызвало проблемы для программ, которые используют java.awt.Button. Основная проблема, если я правильно помню, заключалась в том, что сообщения об ошибках компилятора сбивали с толку.

Sun решила префиксировать все компоненты Swing с J, чтобы устранить эту проблему.

Первоначально Swing назывался JFC - Java Foundation Classes ... предположительно, J произошел от этого.

IFC из Netscape была основой для JFC ... одна и та же команда разработала оба.
Команда переместилась из Netscape в Sun.
J был там при первой передаче источника лицензиатам (я был человеком, который получил падение в моей компании).

JClass BWT и IFC (который стал JFC, который стал Swing) также были несовместимы ... " Могу ли я использовать элементы управления BWT в среде IFC? "

Редактировать: Ответ на электронное письмо от члена команды Swing ...

"Названия un-J были уже заняты AWT, и мы думали, что это полезно использовать общий префикс для различения «компоненты» из других классов в пакет. "

Уже принятая часть соответствует тому, что я сказал о компиляторе, но не подтверждает это.

7 голосов
/ 20 марта 2009

'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.

enter image description here

Swing - это большой набор компонентов, от самых простых, таких как метки, до очень сложных, таких как таблицы, деревья и стилизованные текстовые документы.
Почти все компоненты Swing являются производными от одного родителя с именем JComponent, который расширяет класс AWT Container.
Таким образом, Swing лучше всего описать как слой поверх AWT, а не как его замену.
Если вы сравните его с иерархией компонентов AWT, вы заметите, что для каждого компонента AWT существует эквивалент Swing с префиксом «J» .
Единственным исключением является класс AWT Canvas, для которого JComponent, JLabel или JPanel могут использоваться в качестве замены. Многие классы Swing не имеют аналогов AWT.

1 голос
/ 26 марта 2009

J следует после соглашения, используемого в классах Swing.

Согласно javadoc :

Расширенная версия java.applet.Applet, которая добавляет поддержку архитектуры компонентов JFC / Swing

Архитектура JFC / Swing отличается от архитектуры AWT.

Есть несколько отличий, но наиболее значительным является то, что AWT использует собственный код для визуализации виджетов (так же, как и SWT ), в то время как Swing является «легковесным», потому что все написано с использованием Java.

Итак, ответ на ваш вопрос

Что означает «J» в JApplet?

Это означает, что это апплет, который поддерживает архитектуру Swing.

Я думаю, TofuBeer и VonC - отличные ответы, но они не касаются (по крайней мере, напрямую) вашего вопроса. Вместо этого они идут дальше, объясняя, почему J в компонентах колебания, и их не следует путать с тоннами других J перед другими классами вне Sun.

1 голос
/ 20 марта 2009

J означает Java. Основное различие между классами JSomeName и их «предыдущей» версией заключается в том, что J-классы были разработаны для использования с Swing (или любым другим графическим инструментарием), тогда как другие были с того времени, когда был доступен только AWT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...