Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / GridBagLayout ведет себя некорректно / 4 сообщений из 4, страница 1 из 1
11.02.2015, 13:18
    #38876925
Pane
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridBagLayout ведет себя некорректно
Здравствуйте!
Хочу разместить на панели 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
11.02.2015, 13:37
    #38876953
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridBagLayout ведет себя некорректно
PaneЧто я делаю не так?
Используешь LayoutManager предназначенный для WYSIWYG. Используй MigLayout - он одинаково удобен и для ручного кодирования и для WindowBuilder Pro.
...
Рейтинг: 0 / 0
11.02.2015, 13:40
    #38876957
Aghial
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridBagLayout ведет себя некорректно
Код: 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
11.02.2015, 13:47
    #38876974
Pane
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
GridBagLayout ведет себя некорректно
Ну а почему GridBagLayout в данной ситуации не работает?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / GridBagLayout ведет себя некорректно / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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