powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / GridBagLayout ведет себя некорректно
4 сообщений из 4, страница 1 из 1
GridBagLayout ведет себя некорректно
    #38876925
Pane
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
Хочу разместить на панели 7 кнопок: 4 кнопки вверху, 3 кнопки внизу, причем под 4-й кнопкой должны находиться седьмая и часть шестой. Пишу следующий код:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
package prgridbaglayout;

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

public class PrGridBagLayout extends JFrame{

    JPanel panel=new JPanel();
    GridBagLayout gbl=new GridBagLayout();
    JButton btn1=new JButton("btn1");
    JButton btn2=new JButton("btn2");
    JButton btn3=new JButton("btn3");
    JButton btn4=new JButton("btn4");
    JButton btn5=new JButton("btn5");
    JButton btn6=new JButton("btn6");
    JButton btn7=new JButton("btn7");

    public PrGridBagLayout() {
        super("Менеджер раскладки");
        addWindowListener(new WindowAdapter(){
                                  public void windowClosing(WindowEvent e){
                                      dispose();
                                      System.exit(0);
                                  }
                              });

        btn4.setPreferredSize(new Dimension(200,25));
        btn7.setPreferredSize(new Dimension(100,25));
        panel.setLayout(gbl);
        panel.add(btn1,             new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0
            ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
        panel.add(btn2,             new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0
            ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
        panel.add(btn3,             new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0
            ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
        panel.add(btn4,             new GridBagConstraints(3, 0, 2, 1, 0.0, 0.0
            ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
        panel.add(btn5,             new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0
            ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
        panel.add(btn6,             new GridBagConstraints(1, 1, 3, 1, 0.0, 0.0
            ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, 5), 0, 0));
        panel.add(btn7,             new GridBagConstraints(4, 1, 1, 1, 0.0, 0.0
            ,GridBagConstraints.LAST_LINE_END, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));

        this.getContentPane().add(panel);
        pack();
        show();
    }

    public static void main(String[] args){
        PrGridBagLayout cl=new PrGridBagLayout();
    }
}



Но почему-то при запуске под четвертой кнопкой находится только седьмая. Что я делаю не так?
...
Рейтинг: 0 / 0
GridBagLayout ведет себя некорректно
    #38876953
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaneЧто я делаю не так?
Используешь LayoutManager предназначенный для WYSIWYG. Используй MigLayout - он одинаково удобен и для ручного кодирования и для WindowBuilder Pro.
...
Рейтинг: 0 / 0
GridBagLayout ведет себя некорректно
    #38876957
Aghial
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: java
1.
2.
        panel.add(btn6,             new GridBagConstraints(1, 1, 3, 1, 0.0, 0.0
            ,GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(5, 5, 5, -95), 0, 0));



хотя так наверное не стоит делать и действительно применить другой менеджер раскладки
...
Рейтинг: 0 / 0
GridBagLayout ведет себя некорректно
    #38876974
Pane
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну а почему GridBagLayout в данной ситуации не работает?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / GridBagLayout ведет себя некорректно
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]