GirdBagLayout Confusion - PullRequest
       20

GirdBagLayout Confusion

0 голосов
/ 05 марта 2019

Я работал над созданием этого конкретного макета с использованием GridBagLayout:

Сегодня каким-то образом мне удалось этого добиться, однако я абсолютно не представляю, как.Я понимаю механику сетки, но меня смущает именно переопределение setpreferredsize, а также weightx и weightty.

Например, изменение веса моего кода с 1 на 0 приведет к следующему:

Возврат к весу x 1 и изменение моего веса на 0 вместо этого приведут к следующему:

Наконец, для каждой из моих 3 панелей яиспользуйте следующий код при его создании:

 JPanel connectionPanel = new JPanel() {
        @Override
        public Dimension getPreferredSize() {
            return new Dimension(100, 100);
        }
    };

Изменение размеров одной панели с 100 до, скажем, 500 приведет к этому:

Похожее происходитпри изменении высоты.

Все, что я пытаюсь понять, это как работает weightx, weightty и setpreferredsize.

Когда я вызываю getpreferredsize моих панелей, он возвращает ширину и высоту 0!

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

Может кто-нибудь объяснить, как они связаны?

Я прочитал документы, но ониочень расплывчатоИсследовали часами и до сих пор не понимают.

...