2014-04-14 2 views
0

현재 엘리베이터 시뮬레이션을 만드는 작업이 있습니다. 현재 내가있는 곳은 다음과 같습니다. elevator ui레이아웃 옵션에 대한 조언 받기

오른쪽의 콤보 상자가 변경되면 플로어 라인이 자동으로 패널 크기에 따라 다시 그려지는 방식입니다. 까다로운 부분은 이제 플로어 라인 바로 위에있는 왼쪽 '플로어'패널에 플로어 넘버를 인쇄하기를 원합니다. 그러나 나는 그것에 대해 어떻게 생각하는지 모른다. null 레이아웃을 설정하고 jlabels을 바닥 높이 (어레이에 저장 한 것)에 따라 배치하는 아이디어에 놀랐습니다. 그러나 내가 본 모든 곳에서 사람들은 이것이 나쁜 생각이라고 말했습니다.

누군가 레이아웃 관리자로이를 수행 할 수있는 방법을 제안 할 수 있습니까? 감사.

+1

브레이크를 아래로 관리 덩어리로 ... 예를 들어

... GridBagLayout과 함께 접착 될 것이다 나는 어쩌면 10 개의 다른 패널을 볼 수 있는데, 각각 레이아웃 요구 사항이 있습니다. – MadProgrammer

답변

2

시작하면 관리 덩어리로 UI 분해에 의해, 이것은 당신이 ...로 시작 ...

... 압도하기없이 각 섹션의 개별 요구 사항에 초점을 맞출 수

enter image description here

BorderLayout.NORTH 위치에 빨간색 섹션하여 BorderLayout.CENTER 위치에 녹색을 배치하는 BorderLayout의 사용을 건의 할 것입니다. 헤더가 (적어도) 두 부분으로 나눠진다

Header

... ... 다음에, 이것은 다음을 ... GridLayout ...

제안 .. .

Body

본체 세 동등한 열을 제안 이것은달성 될 수있다심지어 GridBagLayout, 당신은 폭이 각 열마다 다를 수해야하는 경우 ...

... 다음 ...

Controls

이 아마 가장 복잡하다. Number of floors 라벨과 JComboBox 자신의 당신이 원하는 경우 JPanel (A GridBagLayout) or a GridBagLayout`을 사용하고있을 수 있습니다 더 제어에 거주하는 경우

red 부분은 아마입니다, 아마 중 하나 GridLayout 혜택을 누릴 것 "블루"섹션을 시작하려면 GridLayout

세 가지 섹션을 사용하는 것은 아마

+0

와우, 고마워요. 실제로 레이아웃이 이미 이와 비슷한 패널로 분리되어 있습니다. 그러나 거기에 분명히 도움이 될만한 부분이 있습니다. 다시 한번 감사드립니다. – user2773084