Почему окну при создании не присваивается размер?

102
06 января 2022, 14:00

Есть класс

  import javax.swing.*;
  import java.awt.*;
  public class GraphicsWindow extends JDialog {
  public GraphicsWindow create(){
    setVisible(true);
    setPreferredSize(new Dimension(900, 900));
    add(new GraphicsPanel());
    return this;
}
}

В нем я хочу создать диалоговое окно с заранее нарисованной панелью GraphicsPanel (это тоже мой класс, который к этому вопросу отношения не имеет).

В методе actionPerformed (ActionEvent e) я обрабатываю событие нажатия на кнопку

if (e.getSource() == graphicsButton){
GraphicsWindow graphicDialog = new GraphicsWindow().create();
graphicDialog.setVisible(true);
}

Которое должно создавать окно размером 900 на 900, как я указал в методе create() Однако почему-то окну не присваивается никакой размер и вот что выходит в итоге:

Почему так происходит? Как это исправить?

Answer 1

Задайте минимальное значение величины окна.

    Dimension dim = new Dimension( 900, 900);
    setPreferredSize( dim );
    setMinimumSize(  dim );

Поскольку окно содержит панель в которой тоже не указаны минимальные размеры и она пустая, окно сжимается.

READ ALSO
Написание JPQL запроса

Написание JPQL запроса

Собственно нужно правильно написать запрос взять из таблицы фамилию ,которая чаше всех встречается за полгода

153
Появление клавиатуры фризит recycleview

Появление клавиатуры фризит recycleview

Есть несколько recycleview с разным количеством элементов загружаемых с сервератак же есть searchview реализован getFilter

234
MVP andoid и поворот экрана, использование ViewModel

MVP andoid и поворот экрана, использование ViewModel

Задался я вопросом как быть при повороте экрана, если ты используешь паттерн архитектуры MVPУвидел много советов использовать для этого Moxy

100
break в Java выход из цикла

break в Java выход из цикла

Всем доброго времени! Данный код взят из книги Head First JavaПри выполнении данного кода получается вывод в консоль в виде :"6 14"

101