Можно ли использовать размер JPanel для установки размера компонентов внутри JPanel? Когда я пытаюсь использовать getHeight () или getWidth () в JPanel, он всегда возвращает 0. Я знаю, что он получает свой размер после упаковки JFrame, но как можно использовать размеры JPanel и применить его к компонент внутри него? Как то так
JPanel panel = new JPanel();
JLabel label = new JLabel();
label.setWidth(panel.getWidth());
panel.add(label);
EDIT:
Смотрите пример кода ниже. Что мне делать, если я хочу, чтобы мой Jlabel был таким же широким, как и мой JPanel? В этом случае неправильно использовать boxlayout?
public class Main extends JFrame{
public Main(){
JPanel panel = new JPanel();
panel.setLayout(new BoxLayout(panel, BoxLayout.PAGE_AXIS));
panel.setBorder(BorderFactory.createLineBorder(Color.blue));
JLabel label = new JLabel();
label.setBorder(BorderFactory.createLineBorder(Color.red));
label.setText("label1");
label.setMinimumSize(panel.getPreferredSize());
label.setPreferredSize(panel.getPreferredSize());
panel.add(label);
add(panel);
setDefaultCloseOperation(EXIT_ON_CLOSE);
pack();
setSize(500,500);
setVisible(true);
}
public static void main(String[] args)
{
new Main();
}
}