JPanel в JScrollPane не регулирует размер динамически - PullRequest
0 голосов
/ 02 мая 2020

У меня есть JScrollPane и JPanel.

    JScrollPane scrollPane_yst = new JScrollPane();
    scrollPane_yst.setBorder(null);
    scrollPane_yst.setViewportBorder(null);
    panel.add(scrollPane_yst);

    JPanel panel_yst = new JPanel();
    panel_yst.setPreferredSize(new Dimension(150, 1000));
    panel_yst.setBorder(null);
    panel_yst.setBackground(Color.DARK_GRAY);
    scrollPane_yst.setViewportView(panel_yst);
    panel_yst.setLayout(new BoxLayout(panel_yst, BoxLayout.Y_AXIS));

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

ОТВЕТ:

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

Из-за этого размер этих панелей был испорчен. Просто не устанавливайте PreferredSize компонентов, которые вы добавляете на панель.

1 Ответ

1 голос
/ 02 мая 2020

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

Из-за этого размер этих панелей был испорчен. Просто не устанавливайте PreferredSize компонентов, которые вы добавляете на панель.

...