참고 : 여기에 코딩 도움이 필요하지 않습니다 Programmers
. 이유가 있습니다. Java에 대한 이해가 아닌 프로그램 계획 / 작성 기술을 향상시키고 싶습니다 .
나는이 LARP 게임에 대해 나열된 기술을 기반으로 임의 분류 시스템을 가지고 나무, 만드는 방법을 알아 내려고 노력하고있어 여기를 . 저의 이전 시도는 기술이 범주인지 여부에 대한 바보였습니다. 코드를 작성하는 것은 지저분했습니다. 내 나무를 그려 내 '잎'만 기술인 것을 알았고 다른 사람을 범주로 표시했습니다.
내가 추구하는 것은 Model과 View를 분리하려고 시도하는 트리를 만들고 임의의 부모에 임의의 자식 노드 유형을 추가 (편집 / 렌더링)하는 방법입니다.
NB 이곳의 모든 것은 재산처럼 보이는 곳에서도 기술로 구입합니다. 최종 사용자는 이것을 구매 기술 (종이 atm에서하는 기술)로 간주하므로 모두 같은 페이지에 제시해야합니다.
나무에 대한 설명 : 나무는 하드 코딩 된 최상위 레벨 카테고리 ( 무기, 물리 및 정신, 의료 등) 로 '태어났습니다' . 이를 통해 사용자는 기술을 추가 할 수 있어야합니다. 궁극적으로 그들은 '한 손 검 전문화'추가 할 기술 ( 하지 예를 들어 항목). 이렇게하려면 ' Weapons
선택됨 '을 선택한 상태에서 이상적으로 클릭 한 다음 One-handed
해당 하위에 나타나는 콤보 박스 노드에서 선택한 다음 추가를 다시 클릭 하고 표시 되는 해당 하위 노드 의 텍스트 필드에 이름을 입력하십시오 . 그런 다음 추가를 다시 클릭하여 해당 리프의 '레벨'또는 '계층'을 추가 / 지정하십시오. 첫 번째 실력, 전문화 (예 : 전문성).
물론 다른 기술을 사고 싶다면 잎과 완전히 다른 경로입니다. 무기 예제와 마찬가지로 트리 아래로 같은 레벨에 콤보 상자가 필요하지 않으며 그 뒤에 다른 논리가 필요할 수도 있습니다. 이것이 내가 프로그래밍을하는 것만으로도 내 머리를 깎는 데 어려움을 겪고있는 것입니다. 어떻게 클래스의 집합을하고 있지 함께에서 이러한 사항을 추가하는 순서를 지정하지만, 여전히 그들에게 모두 적합 있습니다.
코드에서 이런 종류의 트리를 설명하기위한 좋은 시스템은 무엇입니까? 내가 본 다른 모든 JTree 예제에는 예측 가능한 패턴이 있으며 내 예제 는 그렇지 않습니다 . 이 모든 것을 '리터럴'로 코딩하고 싶지 않고 하위 노드의 유형 (콤보 상자, 텍스트 필드 등)에 대한 상위 목록이 어떤 부모에 허용되어야합니다. 추상 클래스를 사용해야합니까? 인터페이스?
위에 나열되지 않은 다른 기술을 추가하여 다르게 동작 할 때 이러한 종류의 개체 클러스터를 어떻게 확장 할 수 있습니까?
이 경우 되지 사용하는 것이 시스템, 이런 종류의 작업을 수행하는 방법을 사용하기위한 좋은 방법은 무엇입니까?
머리 속 기어가 돌고 있습니다 :
나는 항상해야합니다 :
- 부모 확인
- 부모를 기반으로 옵션 제공
이 공통점 skill
때문에 기술과 범주에 대한 일반적인 방법을 정의 / 개요하는 일종의 추상 / 인터페이스 클래스가 필요하다고 생각하기 시작했습니다 . 나는 규칙과 옵션을 데이터베이스에 넣고 거기에서 읽을 수 있습니다. 문제는 지금 추상 또는 인터페이스 방법과 구현 방법 사이에 있다고 생각합니다.