Полосы прокрутки для вкладок в JTabbedPane не работают для других систем — Java Swing

#java #swing #windowbuilder

#java #swing #windowbuilder

Вопрос:

Это то, что я делаю, чтобы добавить вкладки в tabbedpane

 tabbedPane = new JTabbedPane(JTabbedPane.TOP);

        panel = new Panel(this);
        panel.setPreferredSize(new Dimension(0, 0));
        panel.setMinimumSize(new Dimension(10, 10));
        GroupLayout groupLayout = new GroupLayout(this);
        groupLayout.setHorizontalGroup(
        groupLayout.createParallelGroup(Alignment.LEADING)
        .addGroup(Alignment.TRAILING, groupLayout.createSequentialGroup()
        .addGroup(groupLayout.createParallelGroup(Alignment.TRAILING)
        .addComponent(tabbedPane, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 850, Short.MAX_VALUE)
        .addComponent(panel, GroupLayout.PREFERRED_SIZE, 850, Short.MAX_VALUE))
        .addGap(88))
        );
        groupLayout.setVerticalGroup(
        groupLayout.createParallelGroup(Alignment.LEADING)
        .addGroup(groupLayout.createSequentialGroup()
        .addComponent(panel, GroupLayout.PREFERRED_SIZE, 27, GroupLayout.PREFERRED_SIZE)
        .addPreferredGap(ComponentPlacement.RELATED)
    .addComponent(tabbedPane, GroupLayout.PREFERRED_SIZE, 676, groupLayout.PREFERRED_SIZE)
        .addContainerGap(14, Short.MAX_VALUE))
        );
        panela= new panelb(this);
        JScrollPane scrollPane_panela = new JScrollPane(panela);
            tabbedPane.addTab("Birth History", null, scrollPane_panela, null);
        setLayout(groupLayout);

        panelb= new panleb(this);
           JScrollPane scrollPane_panleb = new JScrollPane(panleb);
           tabbedPane.addTab("Headache History", null, scrollPane_panleb, null);
        setLayout(groupLayout);

        panelc= new panelc(this);
        JScrollPane scrollPane_Tpanelc = new JScrollPane(panelc);   
        tabbedPane.addTab("Treatment History", null, scrollPane_panelc, null);
        setLayout(groupLayout);
  

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

размер в компоненте add — это то, что выдает проблему

Любые предложения были бы большой помощью

Комментарии:

1. Есть ли какие-либо исключения? Пожалуйста, поделитесь минимальным тестируемым кодом.

2. нет, когда я меняю предпочтительный размер в методе addcomponent на размер по умолчанию, tabbedpane исчезает, я не мог точно понять, что его вызывает. извините

3. Извините, но это не тестируемый код. Я не могу вам помочь.

4. .AddComponent(tabbedPanel, groupplayout. PREFERRED_SIZE, 27, groupplayout. PREFERRED_SIZE). Это то, что вызывает ошибку, которую я чувствую

Ответ №1:

Спасибо за ответ. Проблема в том, что я добавил tabbedpane в splitpane, где границы были установлены вручную. когда я удалил эти границы, чтобы позволить менеджеру компоновки узнать предпочтительный размер. Все работает нормально