나는 그것이 받아 들인 대답과 다른 것을보고 있습니다.
1) 그 방법의 사용을 완전히 피해야합니까?
절대 피하십시오! 레이아웃 관리자에게 컴포넌트의 크기 제약을 표현할 수 있습니다. 레이아웃 관리자를 사용하지 않고 시각적 레이아웃을 직접 관리하려고하면 사용하지 않을 수 있습니다.
불행히도 Swing에는 합리적인 기본 크기가 제공되지 않습니다. 그러나 구성 요소의 크기를 설정하는 대신 합리적인 기본값으로 자체 구성 요소를 내림차순으로 만드는 것이 좋습니다. (이 경우 하위 클래스에서 setXXX를 호출합니다.) 또는 동일한 효과를 위해 getXXX 메소드를 대체 할 수 있습니다.
2) 방법은 이유 때문에 정의되었습니다. 언제 사용해야합니까? 어떤 맥락에서? 어떤 목적으로?
항상. 구성 요소를 작성할 때 해당 구성 요소의 사용에 따라 실제 최소 / 기본 / 최대 크기를 설정하십시오. 예를 들어 영국과 같은 국가 기호를 입력 할 수있는 JTextField가있는 경우 기본 크기는 두 문자 (현재 글꼴 등)에 맞도록 넓어야하지만 더 커질 수는 없습니다. 결국 국가 기호는 두 문자입니다. 반대로, 예를 들어 고객 이름을 입력하기위한 JTextField가있는 경우 20 자에 대한 픽셀 크기와 같은 크기를 선호하지만 레이아웃 크기를 조정하면 더 커질 수 있으므로 최대 크기를 더 많이 설정하십시오. 동시에 0px 너비의 JTextField를 갖는 것은 의미가 없으므로 현실적인 최소 크기를 설정하십시오 (픽셀 크기는 2 자라고 말하십시오).
3) 이러한 방법을 사용하면 어떤 부정적인 결과가 발생합니까?
(화면 해상도가 다른 시스템간에 이식성을 추가하는 것만 생각할 수 있습니다).
부정적인 결과는 없습니다. 레이아웃 관리자를위한 힌트입니다.
4) LayoutManager가 원하는 모든 레이아웃 요구를 정확하게 충족시킬 수 있다고 생각하지 않습니다.
레이아웃의 작은 변형마다 새로운 LayoutManager를 구현해야합니까?
아뇨. 일반적인 접근 방식은 가로 및 세로 레이아웃과 같은 다른 기본 레이아웃 관리자를 계단식으로 배열하는 것입니다.
예를 들어, 아래 레이아웃 :
<pre>
+--------------+--------+
| ###JTABLE### | [Add] |
| ...data... |[Remove]|
| ...data... | |
| ...data... | |
+--------------+--------+
</pre>
두 부분이 있습니다. 왼쪽과 오른쪽 부분은 가로 레이아웃입니다. 오른쪽 부분은 가로 레이아웃에 추가 된 JPanel이며이 JPanel에는 단추를 세로로 배치하는 세로 레이아웃이 있습니다.
물론 이것은 실제 레이아웃으로 까다로워 질 수 있습니다. 따라서 MigLayout과 같은 그리드 기반 레이아웃 관리자는 심각한 것을 개발하려는 경우 훨씬 좋습니다.
5) 4에 대한 대답이 "예"이면 LayoutManager 클래스가 확산되어 유지 관리가 어려워지지 않습니까?
매우 특별한 것이 필요하지 않으면 레이아웃 관리자를 개발하지 않을 것입니다.
6) 비율을 정의 해야하는 상황에서 ...
구성 요소의 자식 (예 : child1은 공간의 10 %, child2 40 %, child3 50 %를 사용해야 함) 사이에 사용자 정의 LayoutManager를 구현하지 않고도 달성 할 수 있습니까?
기본적으로 원하는 크기를 설정 한 후에는 백분율로 아무것도하지 않을 수 있습니다. 단순히 백분율이 의미가 없기 때문에 (예를 들어 JTextField가 창 크기의 10 %를 갖는 것은 의미가 없습니다.) JTextField가 0px 너비가되도록 창을 축소하거나 JTextField가 다중 디스플레이 설정).
그러나 백분율을 사용하여 GUI의 더 큰 빌딩 블록 (예 : 패널)의 크기를 제어 할 수 있습니다.
JSplitPane을 사용하여 두면의 비율을 미리 설정할 수 있습니다. 또는 MigLayout을 사용하여 백분율, 픽셀 및 기타 단위로 이러한 제약 조건을 설정할 수 있습니다.
JEditorPane
자체 너비를 제안하지 않는 with with HTML 사용 . OTOH 내가 놓친 것이 확실하지 않습니다. 스레드의 답글을주의 깊게 검토하지만 특히 후자의 경우 의견이 있으면 관심이있었습니다.