Есть ли предел JPanel для отображения на JFrame? - PullRequest
0 голосов
/ 09 декабря 2018

У меня проблемы с добавлением JPanels в JFrame.У моего JFrame есть GridBagLayout, куда я добавляю эти JPanels по горизонтали, я протестировал его с двумя случаями, первый показывал 55 JPanels, расположенных подряд с полосой прокрутки, второй не работал вообще, он должен был отображать76 JPanels, но результат очень странный:

enter image description here

Я не публикую код, потому что я думаю, что он не имеет ничего общего с кодом, может бытьэто предел программирования GUI с Swing.Я не смог найти никакой информации об этом (пределе) или той же самой проблеме, которая происходит со мной.

Спасибо

РЕДАКТИРОВАТЬ

Хорошо, я работал над следующим кодом:

import javax.swing.*;
import java.awt.*;

public class TestingFrame extends JPanel {

    public TestingFrame() {

        this.setLayout(new GridBagLayout());
        GridBagConstraints gbc = new GridBagConstraints();

        gbc.gridx = 0;
        gbc.gridy = 0;
        gbc.weightx = 0.0;
        gbc.weighty = 0.0;

        gbc.anchor = GridBagConstraints.LINE_START;
        gbc.fill = GridBagConstraints.BOTH;


        int numOfPanels = 10000;

        for (int i = 0; i < numOfPanels; ++i) {
            JPanel toAdd = new JPanel();
            JButton tmp = new JButton("HELLO IT'S ME");

            toAdd.add(tmp);

            gbc.gridx = i;
            this.add(toAdd, gbc);
        }

    }

    public static void main(String[] args) {

        JFrame frame = new JFrame();

        TestingFrame view = new TestingFrame();

        JScrollPane scrPane = new JScrollPane(view);

        frame.add(scrPane);
        frame.pack();

        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }

}

Этот код воспроизводит ошибку, о которой я говорил ранее.Обратите внимание, что для воспроизведения ошибки требовалось больше панелей из-за количества компонентов JPanels, которые я сейчас использую, они меньше оригинальных (всего одна кнопка).

...