Почему диалог не является компонентом в Scala Swing? - PullRequest
9 голосов
/ 12 июля 2011

Этот вопрос возникает потому, что я хочу захватить LostFocusEvent из Dialog. К сожалению, это событие не запускается для компонентов, не относящихся к Component. Я хочу спросить, какова цель Dialog, не производная от Component, но RichWindow по сравнению с библиотекой Swing?

1 Ответ

1 голос
/ 31 июля 2011

Я думаю, что на самом деле лучший способ получить ответ - связаться с Инго Майером напрямую, но, возможно, вам удастся вывести некоторые мысли из его статьи в блоге Scala.swingпакет в 2.8 и выше :

Иерархия окон

Вот как выглядит иерархия окон Java AWT / Swing:

AWT/Swing window hierarchy

Хотя AWT Frame и Dialog совместно используют общий базовый класс Window, расширения Swing не имеют отношения подкласса или расширяют общий интерфейс, даже если они совместно используют общие функциональные возможности, отсутствующие в AWT.В попытке немного исправить ситуацию мы изменили иерархию оконных окон в scala.swing, которая теперь выглядит следующим образом:

scala.swing hierarchy

[...]

Этот дизайн позволяет нам включить общий код-обертку в класс RichWindow.

Так что я предполагаю, что это преднамеренный дизайн автора, утверждающего, что Windows на самом деле не является компонентами таким же образом, что и рамки и кнопки, и их можно перенести в другие контейнеры.

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