2013-04-03 3 views
0

, в то время как позиционирование моих JLabels Я обнаружил проблему, которую до сих пор я не мог решить. JLabels были перекрывающимися.Компоненты, перекрывающиеся при использовании GridBagLayout

Это фрагмент из кода относительно GridBagLayout:

c = new GridBagConstraints(); 

    c.gridx = 0; 
    c.gridy = 0; 
    c.gridwidth = 3; 
    c.fill = GridBagConstraints.HORIZONTAL; 
    c.ipady = 20; 
    c.weightx = 3; 
    c.weighty = 1; 
    c.insets = new Insets(0,5,5,5); 

    all.add(header, c); 

    c.gridx = 0; 
    c.gridy = 1; 
    c.weightx = 2; 
    c.weighty = 4; 
    c.insets = new Insets(5,5,5,5); 

    all.add(sts, c); //this label overlapped 

    c.gridx = 1; 
    c.gridy = 1; 
    c.weightx = 1; 
    c.weighty = 5; 
    c.insets = new Insets(5,5,5,5); 

    all.add(cl, c); //this label overlapped 

Заранее спасибо

+0

снова для лучшей помощи, скорее всего, отправьте SSCCE, короткий запуск, скомпилированный, примерно на номер, – mKorbel

ответ

3

Имея gridwidth из 3 означает, что компонент будет занимать 3 места по й сетке, пожалуйста, прочитайте сетка мешок макет учебник http://docs.oracle.com/javase/tutorial/uiswing/layout/gridbag.html

Вы первый компонент в точке x0 это продлит 3 колонки на х2, следовательно, следующее место выгода сетки x3

Смежные вопросы