У меня проблема с GridBagLayout в groovy с SwingBuilder для запуска. Я думаю, проблема в GridBagLayout, а не в Groovy, поэтому я предполагаю, что это будет работать на Java.GridBagLayout сохраняет размер при вводе текста в текстовое поле
У меня есть следующий простой вид:
new SwingBuilder().edt {
frame(title: 'test', defaultCloseOperation: JFrame.EXIT_ON_CLOSE, pack: true, show: true) {
gridBagLayout()
widget(textPane(background: java.awt.Color.RED), constraints: gbc(gridx:0, gridy: 0, weightx: 0.5, weighty: 1, fill: GBC.BOTH, gridheight: GBC.REMAINDER))
widget(textPane(background: java.awt.Color.GREEN), constraints: gbc(gridx: 1, gridy: 0, weightx: 0.5, weighty: 1, fill: GBC.BOTH))
label(text: "test label", background: java.awt.Color.BLUE, opaque: true, constraints: gbc(gridx: 1, gridy: 1, weightx: 0.5, fill: GBC.BOTH))
}
}
Я хотел бы иметь окно с текстом панели на левой стороне, принимая ровно 50% от окна. На правой стороне окна (остальные 50%) находится другая текстовая панель и ниже (хотя и с минимальным требуемым размером) ярлык.
Код выше работает и создает окно, которое я хочу, , но, как только я начинаю вводить левую одностороннюю текстовую панель, левая сторона начнет занимать больше места (чем 50% окна).
Как я могу достичь описанного выше плана, так что обе стороны будут всегда 50:50 независимо от того, какой текст вводится в текстовые панели?