Новые строки с использованием GridBagLayout - PullRequest
0 голосов
/ 19 апреля 2020

Итак, я прочитал пару других вопросов, и, честно говоря, это идет прямо над моей головой. Для моего последнего задания в Comp Sci я пытаюсь создать итальянский глагол-конъюгатор, у меня есть все фоновые методы, поэтому у меня проблемы не в этом.

Я пытаюсь выяснить макет моего JFrame. И я не могу заставить кнопки (Verificare и Risistimare) установить значение go в нижней части панели сопряжения.

Кроме того, я действительно хотел, чтобы кнопки RadioButton и кнопка перевода охватывали всю панель чем Squa sh на 2 секции сетки. ITAL 1001 Конъюгатор JFrame

Я включил 2 раздела кода:

  1. первый - это раздел макета мешка сетки с Verificare и Risistimare кнопки, которые на самом деле находятся ниже следующего раздела в моем GUI

    // CONJUGATION PANEL
    add(conjPanel); // set invisible until event
    conjPanel.setBorder(conjBorder);
    conjPanel.setLayout(new GridBagLayout());
    
    // Reset GridBagConstraints
        gbc.gridx = 0;
        gbc.gridy = 0;
        gbc.gridwidth = 1; //GridBagConstraints.RELATIVE;
    
    conjPanel.add(prefixes);
        gbc.gridx = 1;
    conjPanel.add(piPanel);
        gbc.gridx = 2;
    conjPanel.add(ppPanel);
        gbc.gridwidth = GridBagConstraints.REMAINDER;
        gbc.gridx = 3;
    conjPanel.add(iPanel);
        gbc.gridwidth = 1;// GridBagConstraints.RELATIVE;
        gbc.gridy = 1;
        gbc.gridx = 2;
    conjPanel.add(verificare);  // set invisible until event
        gbc.gridwidth = 1;// GridBagConstraints.REMAINDER;  
        gbc.gridx = 3;
    conjPanel.add(risistemare); // set invisible until event
    // prefixes
    prefixes.setLayout(new GridLayout(6,1));
        prefixes.add(io);
        prefixes.add(tu);
        prefixes.add(luilei);
        prefixes.add(noi);
        prefixes.add(voi);
        prefixes.add(loro);
    // presente indicativo
    piPanel.setLayout(new GridLayout(7,1));
        piPanel.add(piTitle);
        piPanel.add(ioPI);
        piPanel.add(tuPI);
        piPanel.add(luileiPI);
        piPanel.add(noiPI);
        piPanel.add(voiPI);
        piPanel.add(loroPI);
    // passato prossimo
    ppPanel.setLayout(new GridLayout(7,1));
        ppPanel.add(ppTitle);
        ppPanel.add(ioPP);
        ppPanel.add(tuPP);
        ppPanel.add(luileiPP);
        ppPanel.add(noiPP);
        ppPanel.add(voiPP);
        ppPanel.add(loroPP);
    // imperfetto
    iPanel.setLayout(new GridLayout(7,1));
        iPanel.add(iTitle);
        iPanel.add(ioI);
        iPanel.add(tuI);
        iPanel.add(luileiI);
        iPanel.add(noiI);
        iPanel.add(voiI);
        iPanel.add(loroI);
    
  2. , здесь я попал к RadioButtons, которые не будут правильно выстраиваться

    // MAIN Panel add(mainPanel); mainPanel.setLayout(grid); // First row (y = 0) gbc.gridwidth = 3; gbc.gridy = 0; gbc.gridx = 0; mainPanel.add(inserisciLabel, gbc); gbc.gridwidth = GridBagConstraints.REMAINDER; gbc.gridx = 3; mainPanel.add(verboInput, gbc); // Second row (y = 1) gbc.gridwidth = 2;<br> gbc.gridy = 1; gbc.gridx = 0; mainPanel.add(english); gbc.gridx = 2; mainPanel.add(italiano); gbc.gridx = 4; mainPanel.add(translate); // Third row (y = 2) gbc.gridy = 2; gbc.gridx = 2; mainPanel.add(perMeButton, gbc); gbc.gridx = 4; mainPanel.add(provaButton, gbc);

Если вы не догадались, я впервые отправляю сообщение на форум, и хотя я неплохо разбираюсь в компьютерах, у меня есть склонность быть немного толстый, когда дело доходит до материала макета. Пожалуйста, дайте мне знать, если я смогу объяснить лучше и заранее спасибо!

...