Свинг: Могут ли дети выйти за пределы своих родителей? - PullRequest
4 голосов
/ 23 мая 2011

Может ли дочерний элемент JComponent отображаться в Swing за пределами родительского элемента JComponent или дочерние элементы всегда обрезаются до границ родительского элемента?

Ответы [ 2 ]

4 голосов
/ 23 мая 2011

Пока дочерний компонент является легковесным компонентом, он будет ограничен границами родительского компонента. Однако, если он слишком большой, он будет вырезан, масштабирование не будет.

Если ребенок является компонентом с большим весом, а отец - компонентом с небольшим весом, ребенок будет отображаться за пределами родительских границ.

Здесь есть действительно хорошая статья об этом: http://java.sun.com/developer/technicalArticles/GUI/mixing_components/index.html (не помню, кто меня туда направил, но спасибо!)

Еще одно обновление, о котором я не знал (в ссылке):

По состоянию на JDK 6, обновление 12 и JDK 7 собрать 19 релизов, теперь это возможно легко смешивать тяжелый вес и легкие компоненты в том же контейнер.

1 голос
/ 23 мая 2011

На самом деле вы можете сбросить границы клипа экземпляра Graphics, используемого в методе paint ().Просто сохраните старый клип, установите новый, сделайте рисование за пределами родительских границ и установите исходный клип обратно.

...