우아하고 고급스러운 JFrame
레이아웃을 수행하는 방법을 배우려고합니다. 나는 내가 생각하기에 다소 단순 할 수있는 것을 만들려고 노력하고 있지만, 나는 그것에 어려움을 겪고있다. 레이아웃을 작동 시키려고 몇 시간 동안 (내가 이미 가지고 있음에도 불구하고) 어슬렁 거리는 것과는 대조적으로, 나는 내가 묘사하려는 레이아웃에 가장 적합한 컨벤션이 무엇인지 물어볼 것이라고 생각했다.Java 레이아웃 서식 (GridBagLayout)
레이아웃
는 기본적으로, 2 열 싶지만, 첫 번째 열은 두 번째 열보다 넓게. 첫 번째 열에는 셀이 하나만 있으며 해당 셀의 가운데에 아이콘이 붙은 JLabel
이 표시됩니다. 두 번째 열은 4 행을 가지며 각각에 JComponent
이 있습니다 (상관 없습니다). 또 다른 핵심은 JFrame
의 모든 구성 요소가 원하는 크기를 유지하며 셀 또는 사용자의 용도에 맞게 늘리지 않는 것입니다. 지금까지이 두 가지 방법으로 일을 생각했습니다
:
BorderLayout
을의JLabel
-icon에서 여기 원하는 레이아웃의 사진입니다 나머지 부분을 제어하는 장치는GridLayout
/GridBagLayout
입니다.GridBagLayout
4x4 여기서JLabel
-icon은 이론상 공간의 75 %를 차지하는 3x4 영역을 차지합니다.
내가 원하는 결과를 제공하지 않습니다. 생각/제안? 모든 도움과 제안을 매우 진심으로 감사드립니다.
첫 번째 솔루션이 작동하지 않는 이유는 무엇입니까? 나 한테 잘됐다. – wchargin
크기를 유지하려면'JFrame.setResizable (false) '를 사용하지 않는 것이 어떻습니까? – nullptr
구성 요소의 크기는 유지해야합니다. 예를 들어,'GridLayout' (어쨌든 내 지식에 내가 틀렸다면, 내가 여기있는 이유를 고쳐주십시오)을 사용하면 JButton이 셀의 전체 공간을 차지합니다. 크기에 상관없이 나는 그것을 설정했다. 그게 내가 원하는 걸 그게 아니야. –