나는 다음과 같은 문제를 해결하기 위해 깨끗한 패턴을 찾고 있어요에 대한 일반 GUI 만들기 . 각 유형의 차량에는 몇 가지 특정 특성이 있습니다.하위 클래스
나는 차량 목록을 가지고 있으며 사용자가 차량을 선택하고 속성을 편집 할 수있게 해주는 GUI를 만들어야합니다. 결과는 왼쪽에 차량 목록 (JList 사용)을 표시하고 오른쪽에 선택한 차량을 편집하는 데 필요한 필드가있는 패널을 표시하는 것입니다.
목록에 항목 유형이 하나만있는 경우 (왼쪽의 Jlist를 사용하고 오른쪽의 맞춤 JPanel을 사용하는 경우)하는 방법을 알고 있습니다. CarPanel, BikePanel ... 내 문제는 선택한 차량 유형과 해당 패널 사이의 연결입니다. 그것이 효과가 있지만, 나는 그런 것을 피하고 싶습니다 :
if (selectedVehicle instanceof Car) {
useThisPanel(new CarPanel((Car)selectedVehicle));
} ...
그것은 나에게 매우 유지할 수없는 것 같아서.
나는 또한 어떤 차량 클래스가 내가 현재 MVC 패턴에 내 코드를 전환 일하고 있어요 를 표시하는 방식에 대해 아무것도 알고 있어야 할 이유가 없기 때문에useThisPanel(selectedVehicle.getPanel())
같은 것을 피하려고하지만 보인다
내게는 내 문제를 해결할만큼 충분하지 않다.
나는이 문제를 처음으로 다루는 사람이 아니라고 확신하지만 이런 종류의 상황을 관리하기위한 어떤 대답이나 조언도 찾을 수 없었다.
리플렉션을 사용하여 필드 이름과 유형을 가져옵니다. –