Я пытаюсь наложить пользовательскую прозрачность поверх JPanel
.Я хочу, чтобы оба компонента простирались до края многоуровневой панели.Я переопределил метод paintComponent
верхнего компонента, чтобы вообще ничего не делать, кроме случаев, когда я хочу отобразить наложение.Затем он рисует соответствующий текст в соответствующем месте.
Вот мое решение проблемы макета:
JLayeredPane jlp = new JLayeredPane();
jlp.setLayout(new OverlayLayout(jlp) {
@Override
public void layoutContainer(Container target) {
for (Component c: target.getComponents())
c.setBounds(0, 0, target.getWidth(), target.getHeight());
}
});
Вопрос в том, есть ли лучший способ сделать это без переопределения layoutContainer
?Это похоже на хак для меня.Я имею в виду, на самом деле я не могу поверить, что нет возможности сделать это при размещении компонентов.Но если я не переопределю метод, он оставляет пропуски на верхней и левой сторонах.
Я что-то здесь упускаю или это правильный способ справиться с этими требованиями?