2013-05-28 8 views
2

У меня проблемы с настройкой моего combobox, чтобы он был ближе к метке «band directory». Как переместить поле со списком слева, всего на 5 пикселей помимо метки. Я попытался установить горизонтальные вставки для моей метки и отрицательные вставки для моего списка, но это все еще не сработало.Java gridbaglayout проблемы

Вот мой код:

public void createGUI() 
{ 
    main_panel = new JPanel(); 
    main_panel.setLayout(new GridBagLayout()); 
    GridBagConstraints gc = new GridBagConstraints(); 

    label = new JLabel("Band Directory:"); 
    band_combobox = new JComboBox(); 
    members_panel = new JPanel(); 
    members_panel.setBorder(title); 
    members_list = new JLabel(); 
     members_panel.add(members_list); 

    gc.fill = GridBagConstraints.HORIZONTAL; 
    gc.gridx = 0; 
    gc.gridy = 0; 
    gc.insets = new Insets(0, 0, 10, 0); 
     main_panel.add(label, gc); 

    gc.fill = GridBagConstraints.HORIZONTAL; 
    gc.gridx = 1; 
    gc.gridy = 0; 
    gc.insets = new Insets(0, 0, 10, 0); 
     main_panel.add(band_combobox, gc); 

    gc.fill = GridBagConstraints.HORIZONTAL; 
    gc.gridx = 0; 
    gc.gridy = 1; 
    gc.insets = new Insets(0, 0, 10, 0); 
     main_panel.add(members_panel, gc); 

//more code 
} 

enter image description here

+0

Лично я бы избежать GrindBagLayout и вместо того, чтобы использовать несколько вложенных экземпляров других менеджеров компоновки. –

ответ

5

Попробуйте отрегулировать переполнение members_panel ...

gc.fill = GridBagConstraints.HORIZONTAL; 
gc.gridx = 0; 
gc.gridy = 1; 
gc.insets = new Insets(0, 0, 10, 0); 
gc.gridwidth = 2; // Allows the members_panel to use 2 columns within the grid 
main_panel.add(members_panel, gc); 
+0

Это работает! большое спасибо :) – user1352609

+0

Это приятное изменение: P – MadProgrammer