Использовать размер объекта при его создании - Java

Узнай цену своей работы

Формулировка задачи:

Здравствуйте! Вопрос не сложный, но я не могу кратко сформултровать суть для поиска в гугле. В окно JFrame я добавляю элемент (JCanvas, JPanel - неважно). В конструкторе этого элемена мне необходимо использовать его размеры. Проблема в том, что пока не пройдёт создание объекта (как я понял сам конструктор) размеры этого элемента будут 0x0.

Решение задачи: «Использовать размер объекта при его создании»

textual
Листинг программы
private void initializeGUI() {
    this.getContentPane().setLayout(null);
 
    //после этих строк можно использовать размеры ContentPane
    this.setPreferredSize(new Dimension(this.WIDTH_MAIN_WINDIW, this.HEIGHT_MAIN_WINDIW));
    this.pack();
 
    System.out.println(this.getWidth() + " " + this.getHeight());//800 600
    System.out.println(this.getContentPane().getWidth() + " " + this.getContentPane().getHeight());//790 568
    PP_Canvas c1 = new PP_Canvas(this.getContentPane().getWidth(), this.getContentPane().getHeight());
 
    //можно перенести в конструктор холста
    c1.setSize(this.getContentPane().getWidth(), this.getContentPane().getHeight());
 
    this.getContentPane().add(c1);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.25 из 5
Похожие ответы