2015-09-07 7 views
0

Я использую GridBagLayout и размещаю на нем, как показано на рисунке, JLabel. Мне удалось установить размер JLabel на нужный номер через ipadx и ipady, но я, похоже, не работаю с его положением. Кажется, он всегда сосредоточен на середине, в то время как я хотел бы начать с красной точки и не переставлять себя, когда я изменяю размер окна. Что мне делать?Java - GridBagLayout position JLabel

enter image description here

Спасибо. Код, который я использую также:

GridBagLayout gbl = new GridBagLayout(); 
setLayout(gbl); 
GridBagConstraints gbc = new GridBagConstraints(); 

JLabel jl = new JLabel("This is a jlabel!", SwingConstants.CENTER); 
jl.setBorder(BorderFactory.createLineBorder(Color.black)); 
gbc.fill = GridBagConstraints.HORIZONTAL; 
gbc.ipadx = 87; 
gbc.ipady = 220; 
add(jl, gbc); 
+0

Play с якоря и заливки – MadProgrammer

ответ

1

я улучшил его ... Теперь вы можете работать с вкладышами для размещения на эту метку вокруг JFrame, но после некоторых исследований я бы рекомендовал выбирать различные layout manager.

Так что ваш код будет выглядеть так:

Dimension d = new Dimension(350, 400); 
GridBagLayout gbl = new GridBagLayout(); 
JFrame frame = new JFrame("Heloo"); 
frame.setLayout(gbl); 
GridBagConstraints gbc = new GridBagConstraints(); 

JLabel jl = new JLabel("This is a jlabel!", SwingConstants.CENTER); 
jl.setBorder(BorderFactory.createLineBorder(Color.black)); 
gbc.ipadx = 87; 
gbc.ipady = 220; 
gbc.insets = new Insets(0, 0, 360, 340);// here work with JFrame size!! 

Надежда этот код поможет :)

+0

Пробовали и дает такие же результаты, как мой код: S – darkchampionz

+0

I улучшил этот ответ ... надеюсь, это поможет. – edasssus

+0

Он сделал! Спасибо! Если я изменю размер окна, он, похоже, тоже будет двигаться. У вас есть решение для этого последнего? ;) – darkchampionz

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