Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 02.07.2019
Сообщений: 3

Менеджер GridBagLayout

02.07.2019, 20:19. Показов 685. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Почему не получается получить кнопку 1 в 2 раза длинее по ширине чем кнопка 2 ?
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
public class Tutorial extends JPanel 
{
    JButton b1, b2;
    
    
    public Tutorial()
    {
        this.setLayout(new GridBagLayout());
        
        b1 = new JButton("Кнопка 1");
        
        
        add(b1, new GridBagConstraints(
                0, 0, 
                2, 1, 
                0.0, 0.0, 
                GridBagConstraints.NORTH, 
                GridBagConstraints.BOTH, 
                new Insets(0, 0, 0, 0), 
                0, 0));
        
            b2 = new JButton("Кнопка 2");
        
        add(b2, new GridBagConstraints(
                2, 0,  
                1, 1,  
                0.0, 0.0, 
                GridBagConstraints.NORTH, 
                GridBagConstraints.BOTH, 
                new Insets(0, 0, 0, 0), 
                0, 0));
        
        
    }
 
    public static void main(String[] args) 
    {
        Tutorial t = new Tutorial();
 
        JFrame jf = new JFrame("Мое окно");
        jf.setSize(500, 500);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jf.setVisible(true);
        jf.add(t);
    }
 
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.07.2019, 20:19
Ответы с готовыми решениями:

GridBagLayout
Здравствуйте, решил немножко разобраться с GridBagLayout. После получаса мучений решил спросить мнение специалистов.public class GUI...

GridBagLayout
Почему, когда я добавляю элементы с помощью GridBagLayout они остаются в центре JFrame , хоть я задаю c.anchor = GridBagConstraints.NORT,...

GridBagLayout
Помогите пожалуйста разобраться с расположением компонентов. Хочу, чтобы всё начиналось от верхнего левого угла, вместо этого все элементы...

5
0 / 0 / 0
Регистрация: 02.07.2019
Сообщений: 3
02.07.2019, 20:26  [ТС]
вот скрин
Миниатюры
Менеджер GridBagLayout  
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
02.07.2019, 20:58
А в каком месте ты делаешь кнопку 1 в два раза длиннее, чем кнопка 2? Я чёт не могу найти

Добавлено через 2 минуты
Кстать, рекомендую добавить в проект этот класс и использовать вместо стандартного GridBagConstraints
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
import java.awt.GridBagConstraints;
import java.awt.Insets;
 
public class GBC extends GridBagConstraints {
    private static final long serialVersionUID = 546863289045908743L;
 
    public GBC(int gridx, int gridy) {
        this.gridx = gridx;
        this.gridy = gridy;
    }
    
    public GBC(int gridx, int gridy, int gridwidth, int gridheight) {
        this(gridx, gridy);
        this.gridwidth = gridwidth;
        this.gridheight = gridheight;
    }
    
    public GBC setAnchor(int anchor) {
        this.anchor = anchor;
        return this;
    }
    
    public GBC setFill(int fill) {
        this.fill = fill;
        return this;
    }
    
    public GBC setWeight(double weightx, double weighty) {
        this.weightx = weightx;
        this.weighty = weighty;
        return this;
    }
    
    public GBC setInsets(int distance) {
        this.insets = new Insets(distance, distance, distance, distance);
        return this;
    }
    
    public GBC setInsets(int top, int left, int bottom, int right) {
        this.insets = new Insets(top, left, bottom, right);
        return this;
    }
    
    public GBC setIpad(int ipadx, int ipady) {
        this.ipadx = ipadx;
        this.ipady = ipady;
        return this;
    }
}
С ним можно добавлять компоненты таким образом
Java
1
add(button, new GBC(0, 0).setAnchor(GBC.CENTER).setInsets(5).setWeight(0, 0));
1
0 / 0 / 0
Регистрация: 02.07.2019
Сообщений: 3
03.07.2019, 15:20  [ТС]
вот тут
Java
1
2
3
4
5
6
7
8
add(b1, new GridBagConstraints(
                0, 0, 
                2, 1, 
                0.0, 0.0, 
                GridBagConstraints.NORTH, 
                GridBagConstraints.BOTH, 
                new Insets(0, 0, 0, 0), 
                0, 0));
я пытаюсь кнопку 1 сделать в 2 раза длинее чем кнопка 2

3-й параметр конструктора устанавливаю в 2 , это gridwidth
0
 Аватар для Goongala
1022 / 562 / 185
Регистрация: 18.08.2013
Сообщений: 2,027
Записей в блоге: 2
03.07.2019, 17:52
SCBistNB, так к размеру кнопки эт не имеет никакого отношения. Этот параметр указывает, сколько места она будет занимать. Размер кнопки надо менять через метод .setPreferredSize() самой кнопки

Добавлено через 7 минут
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
55
56
57
import java.awt.Dimension;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
 
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
 
public class test extends JPanel 
{
    JButton b1, b2;
    
    
    public test()
    {
        this.setLayout(new GridBagLayout());
        
        b1 = new JButton("Кнопка 1");
        b2 = new JButton("Кнопка 2");
        Dimension d = b2.getPreferredSize();
        b1.setPreferredSize(new Dimension(d.width * 2, d.height));
        
        add(b1, new GridBagConstraints(
                0, 0, 
                2, 1, 
                100.0, 0.0, 
                GridBagConstraints.NORTH, 
                GridBagConstraints.NONE, 
                new Insets(0, 0, 0, 0), 
                0, 0));
        
        
        add(b2, new GridBagConstraints(
                2, 0,  
                1, 1,  
                0.0, 0.0, 
                GridBagConstraints.NORTH, 
                GridBagConstraints.NONE, 
                new Insets(0, 0, 0, 0), 
                0, 0));
        
        
    }
 
    public static void main(String[] args) 
    {
        test t = new test();
 
        JFrame jf = new JFrame("Мое окно");
        jf.setSize(500, 500);
        jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        jf.setVisible(true);
        jf.add(t);
    }
 
}
0
09.07.2019, 22:30

Не по теме:


Windows XP Media Center edition либо скин Media Center edition... Ностальжи :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.07.2019, 22:30
Помогаю со студенческими работами здесь

Не работает GridBagLayout()
"живу" на убунте , решил выучить джаву, дошел до создания окон так вот почему не работает GridBagLayout() ? (еклипс) написал вот такой...

GridBagLayout java
решил заняться изучением менеджера расстановки GridBagLayout. Возникли вопросы: как сделать, чтобы кнопка2 прикреплялась к северному...

JPanel GridBagLayout
Здравствуйте, нужно получить такое расположение двух JPanel в GridBagLayout http://s1.ipicture.ru/uploads/20130404/DmttQruH.jpg ...

Помогите с GridBagLayout
Здравствуйте.Помогите пож-та с GridBagLayout.Ниже код.Хочется поставить два RadioaButtona,два текстовых поля и два Buttona рядом с каждым...

GridBagLayout в JPanel (я новичок)
Здравствуйте. Пишу графический интерфейс для приложения с шифрами, и идея такова. Сверху меню-бар для выбора шифра, чуть ниже 2 панели,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru