Я пытаюсь наложить небольшую панель (sub
) на большую панель (parent
). Размеры sub меньше, чем у родителя.Можно ли наложить JPanel поверх другого?
JPanel sub = new JPanel();
JPanel parent = new CustomPanel();
Я хотел бы переопределить метод paintComponent
родителя нарисовать суб в верхнем левом углу, со смещением 5 пикселей от верхней и левой сторон. Это выглядело бы примерно так:
class CustomPanel extends JPanel() {
JPanel sub = null;
public CustomPanel(JPanel sub) {
this.sub = sub;
}
@Override
public void paintComponent(Graphics g) {
this.paintComponent(g);
// TODO: Here is where I would call something like sub.paint();
// However, I want sub to "start its paint" 5 pixels inside of
// parent's dimensions. How do I specify this?
Можно ли рассказать югу о том, чтобы нарисовать себя в определенном месте? Ужасная идея?
Проблема, заключающаяся в том, что 'parent' также содержит нетривиальную компоновку компонентов. Наложение ('sub') должно опираться на них, но я не думаю, что я могу уйти от их позиционирования вручную. – sdasdadas
см. Обновленный ответ –
добавлено 3-е решение –