2009-10-19 3 views
1

내가 alt text http://img137.imageshack.us/img137/6422/93381955.jpgGUI 프로그램, tabbedpanes

.. 다음과 같아야합니다 MVC를 사용하여 GUI 프로그램을 만드는 오전 나는 창 및 패널 클래스를 만든에 문제가 있습니다. Panel 클래스에 Input 및 Display 탭을 만든 다음 InputPanel 및 DisplayPanel이라는 두 개의 클래스를 추가로 만들려고합니다. 따라서 InputPanel은 입력 탭 아래에이 그림의 내용을 포함하고 디스플레이 탭과 동일합니다. 이것을 설계하는 더 좋은 방법이 있습니까?

또한 입력 탭에 3 개의 섹션 (이름 및 문장, 범죄, 버튼)이 있으므로 3 개의 패널을 만들거나 모든 패널을 포함하는 패널을 하나만 만들어야합니까?

감사

+0

질문에 관련이 없지만 SwingX 라이브러리의 일부인 구성 요소가 마음에 들었을 것 같습니다. http://swinglabs.org/projects.jsp –

답변

2

대신 1의 세 개의 패널을 사용하는 방법에 대한 특정 질문에 대답하기 위해, 나는 두 가지를 제안했다. 하나의 위젯 만 만들면 패널을 만들 필요가 거의 없습니다. 그래서, 이름과 문장을위한 위젯 하나, 범죄를위한 위젯.

"이것을 설계하는 더 좋은 방법이 있습니까?"라는 질문에 관해서 ... 당신이 배우는 것처럼 들리므로, 당신이 그것을하는 완벽한 방법에 너무 집중하지 않도록 제안합니다. 당신의 독창적 인 디자인을 고수하고 나서 작업이 끝나면 * 무엇이 효과가 있었는지와 그렇지 않은 것은 자신에게 물어보십시오. 그 정보를 통해 자신이 한 일이 올바른 설계인지 스스로 결정할 수 있습니다.

GUI 코드를 디자인 할 때 대개 "최고"가 아닙니다. 문제를 해결할 수있는 방법은 여러 가지가 있습니다. 당신이 묘사 한 것은이 문제를 완전히 완벽하게 대처하는 것과 같습니다.

(*)이 문맥에서 "효과가 있음"을 의미하는 것은 쉽게 코딩 할 수 있다는 의미입니까? 당신이 원하는 레이아웃을 얻을 수있게 해줬습니까? 예를 들어 GUI를 재구성하기위한 요구 사항이 내려지면 시간이 지남에 따라 코드를 유지 보수 할 수 있습니까?

1

브라이언 (Bryan)은 좋은 충고를주었습니다. 경험에 도움이되지만, 인간 공학은 정확한 과학이 아니라고 덧붙일 것입니다.
탭이 멋지다. 설정을 분리하거나 동일한 패널 (예 : 도구 상자)에서 다른 도구 모음 (레이어, 색상, 브러시 ...)을 그룹화 할 수 있습니다.
그러나 모든 워크 플로에 적용되지 않을 수 있습니다. 그러나 디스플레이 탭의 역할에 대한 정보가 부족합니다. 모든 범죄를 테이블에 기재해야합니까? 테이블이있을 경우 컨트롤 아래에있을 수 있습니까?

Bryan이 암시 한 것처럼 GUI를 디자인 한 다음 실제 사용자처럼 테스트 해보는 것이 좋습니다. 워크 플로우를 쉽게 이해할 수 있습니까? (다른 사람이 그것을 테스트하게하십시오!) 사용법이 자연 스럽다고 느끼십니까? 사용하기가 빠릅니까?
그런 다음 이러한 관찰에 비추어 디자인을 조정할 수 있습니다.

1

InputPanel과 DisplayPanel을 별도의 클래스로 생성하는 것이 옳았습니다.

이러한 패널을 더 분할하는 방법은 무엇입니까? 그렇습니다. 그렇지만 별도의 클래스로 분리해서는 안됩니다. InputPanel 및 DisplayPanel 내부에 jPanels을 추가하고 해당 내부 jPanel 내에 컨트롤을 그룹화해야합니다.

내가 무슨 뜻인지 분명히하고 싶다면 알려주십시오.

+0

그래, 그게 내가 생각한거야.하지만 더 좋은 방법이 있는지 궁금해. 명확히 해 주셔서 감사합니다. – Karen

관련 문제