Эй, я новичок в этом
Я хочу, чтобы динамическое содержимое было таким же широким, как родительское окно (и автоматически изменяло его ширину), но при необходимости могло прокручиваться вниз (если содержимое превышает доступное пространство).
Я добавляю и удаляю несколько вещей, таких как Jpanel
или JinternalFrame
в JScrollPanel
.
Большинство вещей, будь то пользовательские классы или менеджер компоновки, которые я пробовал, либо только скрывали полосу прокрутки (но не препятствовали добавлению контента в горизонтальном направлении навсегда), либо только сокращали его.
Я пытался
https://tips4java.wordpress.com/2009/12/20/scrollable-panel/ но он только растягивается или сжимается
public class MainView extends JFrame {
private ScrollablePanel contentPane;
private JScrollPane scrollPane;
...
в конструкторе:
...
contentPane = new ScrollablePanel(new BorderLayout());
contentPane.setScrollableWidth(ScrollablePanel.ScrollableSizeHint.NONE);
contentPane.setScrollableHeight(ScrollablePanel.ScrollableSizeHint.NONE);
contentPane.setBorder(new EmptyBorder(1, 1, 1, 1));
scrollPane = new JScrollPane(contentPane);
setContentPane(scrollPane);
разные Sizehints или Layouts, такие как Flowlayout по умолчанию, либо хуже, либо одинаковы
вертикальная прокрутка работает как положено, но не ограничивает содержимое в горизонтальном направлении (и, кажется, мне не разрешено добавлять скриншоты) мне не нужны эти классы, если вы думаете, что это может быть реализовано иначе