не меняется положение полей для ввода текста при использовании GridBagLayout

191
06 февраля 2018, 08:54
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class Tabbet extends JFrame {
    JPanel panel1, panel2, panel3, panel4, panel5, panel6, panel7, panel8, panel9, panel10; //создание панелей 
    JLabel label1, label2, label3, label4, label5, label6, label7, label8, label9, label10; //создание иконки 
    JTabbedPane tabbed; //панель вкладок 
    JTextField text1, text2, text3, text4, text5, text6, text7;
    //GridBagConstraints gbc =new GridBagConstraints (); 
    GridBagLayout gbl = new GridBagLayout();
    GridBagConstraints gbc = new GridBagConstraints();

    public Tabbet() {
        super("Health Certificate"); //название окна 
        //размещение 
        setLayout(gbl);


        /*цвета*/

        /*вкладки*/
        panel1 = new JPanel();
        panel2 = new JPanel();
        panel3 = new JPanel();
        panel4 = new JPanel();
        panel5 = new JPanel();
        panel6 = new JPanel();
        panel7 = new JPanel();
        panel8 = new JPanel();
        panel9 = new JPanel();
        panel10 = new JPanel();
        /*поле для ввода текста*/
        text1 = new JTextField("id", 20);
        gbc.gridx = 0;
        gbc.gridy = 0;
        add(text1, gbc);
        text2 = new JTextField("birthday", 20);
        gbc.gridx = 5;
        gbc.gridy = 1;
        panel1.add(text2, gbc);
        text3 = new JTextField("sex", 20);
        gbc.gridx = 2;
        gbc.gridy = 2;
        panel1.add(text3, gbc);
        text4 = new JTextField("race", 20);
        gbc.gridx = 3;
        gbc.gridy = 3;
        panel1.add(text4, gbc);
        text5 = new JTextField("blood type", 20);
        gbc.gridx = 4;
        gbc.gridy = 4;
        panel1.add(text5, gbc);
        text6 = new JTextField("heigh", 20);
        gbc.gridx = 5;
        gbc.gridy = 5;
        /*gbc.gridwidth= 2; 
        gbc.gridheight= 1;*/
        panel1.add(text6, gbc);
        text7 = new JTextField("weight", 20);
        gbc.gridx = 6;
        gbc.gridy = 6;
        panel1.add(text7, gbc);
        /*вкладки*/
        label1 = new JLabel("Tabbet1");
        label2 = new JLabel("Tabbet2");
        label3 = new JLabel("Tabbet3");
        label4 = new JLabel("Tabbet4");
        label5 = new JLabel("Tabbet5");
        label6 = new JLabel("Tabbet6");
        label7 = new JLabel("Tabbet7");
        label8 = new JLabel("Tabbet8");
        label9 = new JLabel("Tabbet9");
        label10 = new JLabel("Tabbet10");
        /*текст на вкладках*/
        panel1.add(label1);
        panel2.add(label2);
        panel3.add(label3);
        panel4.add(label4);
        panel5.add(label5);
        panel6.add(label6);
        panel7.add(label7);
        panel8.add(label8);
        panel9.add(label9);
        panel10.add(label10);
        /*поле для ввода вкладка 1*/
        panel1.add(text1, gbc);




        tabbed = new JTabbedPane();
        tabbed.add("1", panel1);
        tabbed.add("Tabbet2", panel2);
        tabbed.add("Tabbet3", panel3);
        tabbed.add("Tabbet4", panel4);
        tabbed.add("Tabbet5", panel5);
        tabbed.add("Tabbet6", panel6);
        tabbed.add("Tabbet7", panel7);
        tabbed.add("Tabbet8", panel8);
        tabbed.add("Tabbet9", panel9);
        tabbed.add("Tabbet10", panel10);
        tabbed.setPreferredSize(new Dimension(680, 350));
        this.add(tabbed);



        this.setSize(700, 400);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
        setLayout(new BorderLayout());
    }
    public static void main(String args[]) {
        new Tabbet();
    }
}
Answer 1

GridBagLayout применять надо к JPanel к примеру:

selectPanel.setLayout(new java.awt.GridBagLayout());
faceaccTextField.setName("faceaccTextField");
faceaccTextField.setPreferredSize(new java.awt.Dimension(80, 35));
gridBagConstraints = new java.awt.GridBagConstraints();
gridBagConstraints.gridx = 2;
gridBagConstraints.gridy = 3;
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
gridBagConstraints.weightx = 1.0;
selectPanel.add(faceaccTextField, gridBagConstraints);

И вообще зачем вручную все это делать, пользуйтесь встроенными конструктарами в среде разработке.

READ ALSO
Перестал запускаться сайт с Tomcat после подключения Hibernate

Перестал запускаться сайт с Tomcat после подключения Hibernate

Разбираюсь с Hibernate и Tomcat, сделала пробную страницу сайта, навесила несколько сервлетов, запуск с Tomcat прошел норм, на запросы сервлеты реагировалиПотом...

203
Разделить cookie

Разделить cookie

Есть скрипт который подключается на сайт

117
Получение значения инпутов в массив [требует правки]

Получение значения инпутов в массив [требует правки]

Доброго времени сутокПредставим, что есть 3 текстовых инпута, в которые вводят какие-то значения (не обязательно во все, а допустим только...

165