2010-04-01 5 views
4

Я всегда был немного размытым по разнице между стеклянным стеклом и многослойной панелью. Является ли стеклянное стекло по существу просто «самым верхним слоем корневой панели» или ведет себя по-другому? Когда вы будете использовать слоистую панель вместо стекла?Вариант использования стеклянной панели или слоистой панели

ответ

8

Это две разные вещи:

  • слоистой панели является назначение всех содержимого, которые добавляются или показанных внутри JFrame. Например, каждый нормальный компонент, такой как JLabels, JTextFields, JTable и т. Д. Кроме того, он принудительно обрабатывает z-порядок элементов, которые добавляются к нему, чтобы он мог обрабатывать всплывающие меню или эффекты перетаскивания: это, потому что всплывающее меню добавлено к слоистой панели с az, превышающей нормальные компоненты, причем конечный эффект остается поверх других вещей. См. here, чтобы лучше понять поведение.

  • панель стекол является дополнительным слоем, который скрыт по умолчанию и остается в любом случае на верхней панели в слоя. Таким образом, в основном все, что вы рисуете на стеклянном стекле, всегда будет видно: вы можете думать о нем как о прозрачном листе, который применяется на верхней части обычного JFrame, который вы можете использовать для использования специальных эффектов.

Оба слоистой панели и панель стекла размещены на корневой панели, что является основой, из которой каждый кадр строится.