내 질문은 매우 간단하지만 GridBagLayout
을 사용하여 가능합니까? 다른 레이아웃에서는 더 쉬울 수도 있지만 내 목표는 그렇게하는 것입니다.GridBagLayout에서 고정 너비로 셀을 만들 수있는 방법
기본적으로 고정 폭으로 열이있는 방법이 있는지 궁금합니다.
내 질문은 매우 간단하지만 GridBagLayout
을 사용하여 가능합니까? 다른 레이아웃에서는 더 쉬울 수도 있지만 내 목표는 그렇게하는 것입니다.GridBagLayout에서 고정 너비로 셀을 만들 수있는 방법
기본적으로 고정 폭으로 열이있는 방법이 있는지 궁금합니다.
당신은
protected GridBagLayoutInfo GetLayoutInfo(Container parent, int sizeflag)
그냥 호출 GridBagLayout's
방법을 슈퍼를 무시하려고 public int columnWidths[]
배열 필드를 변경할 수 있습니다 (I는이 셀 긴 또는 짧은 라벨 내부에 넣을 경우 그래서, 그것의 폭을 변경하지 않습니다) 원하는 너비를 업데이트합니다.
+1, 결코 그 'Layout'에서 깊은 생각하지 않았다. 흥미로운 접근 방법 :-) –
안녕하세요, 트릭을 고맙습니다.하지만 내가 제안한 것을 할 수 없었습니다. 나는 그것이 귀찮은 것을 알 수 있지만, 당신의 솔루션을 구현하는 코드의 구체적인 부분을 제공해 주시겠습니까? 시도했지만 오류 메시지가 있습니다 ... –
주어진 열의 크기가 그 안에있는 구성 요소의 크기 또는 달라질 수있는 제약 조건의 결과로 결정됩니다. – MadProgrammer
FlowLayout을 사용하여 JPanel 내부에 JLabel을 배치합니다. (JLabel) JPanel의 적절한 크기를 설정합니다. JPanel을 GridBagLayout와 함께 JPanel에 넣습니다. –
@Gilbert Le Blanc Thanx하지만 솔직히 잘 작동하지 않습니다. setPreferredSize() 메소드는 이것을 호출 할 때 필요하지 않은 높이에 대한 정보를 필요로하기 때문입니다. 그리고 그 동작은 그다지 견고하지 못합니다. 창 크기가 변경 (축소)되고 크기가 변경되어 더 이상 제공된 데이터에 맞지 않습니다. 나는'setPreferredSize()'가 그렇게 좋은 생각이 아닐 것이라고 생각한다 ... –