Groovy에서 SwingBuilder를 사용하여 GridBagLayout을 실행하는 데 문제가 있습니다. GridBagLayout과 Groovy가 아니라고 생각합니다. 그래서 자바에서 똑같이 작동한다고 가정합니다. 나는 윈도우의 정확히 50 %를 복용 왼쪽에있는 텍스트 창으로 창을하고 싶은텍스트 필드에 텍스트를 입력 할 때 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이됩니까?