2010-12-03 2 views
3

우리는 JTable, JCombobox, JTextArea 및 기타 많은 Swing 구성 요소와 같은 구성 요소가 포함 된 Java Swing 응용 프로그램을 보유하고 있습니다.동일한 응용 프로그램의 다른 인스턴스에서 Java Swing 응용 프로그램 구성 요소를 재사용 할 수 있습니까?

이제는 동일한 Java Swing 응용 프로그램의 여러 화면/사본을 만들어야한다는 요구 사항이 있습니다. 예 : 내 주요 Java Swing 응용 프로그램이 X 인 경우 동일한 응용 프로그램 A, B, C, D를 ... X와 동일하게 작성해야합니다.

여기 X 응용 프로그램을 여러 개 만들면 안되는 몇 가지 분명한 설계 제약 사항이 있습니다. 타임스. 우리는 한 번만 만들어서 다른 앱 A, B, C, D를 만드는 데 활용해야합니다.

여기 A, B, C ... 응용 프로그램은 부분 집합 일 수도 있고 아닐 수도 있습니다. A의 스윙 구성 요소에 X가 적다는 것을 의미합니다.

클래스 파일을 저장하고 거기에서 응용 프로그램을 만드는 방법이 있지만 Swing 구성 요소는 어떻게 재사용합니까? 우리는 어디에서 그들을 저장할 수 있습니까?

이것은 일종의 디자인 문제입니다. 모든 아이디어 ..

+1

귀하의 문제를 이해하고 있는지 잘 모르겠습니다. Swing Components는 다른 것과 마찬가지로 클래스입니다. JTable 등의 기본 항목은 기본적으로 JDK 라이브러리에 있으므로 모든 응용 프로그램에서 사용할 수 있습니다. –

+0

아니 그것의 모든 구성 요소와 같은 JTable 등 한 번만 만들어야하며 우리는 같은 응용 프로그램의 다른 복제본에서 사용해야합니다. 예 : X 응용 프로그램은 JTable을 가지고 있으므로 지금 생성 될 것입니다. 응용 프로그램은 그것을 사용할 것이고 B 응용 프로그램은 그것을 사용하지 않을 것입니다. 따라서 우리는 모든 Swing 구성 요소 객체 풀과 같은 것을 만들고이를 사용하여 기본 Swing 응용 프로그램의 복제본을 만들어야합니다. – u449355

답변

3

내가 할 수있는 최선의 방법은 사물을 연결할 수있는 방식으로 응용 프로그램을 디자인하는 것입니다. 그래서, 플러그인/모듈 종류의 아키텍처가 가장 적합합니다. 구성 요소 모듈을 기반으로 디자인 할 수 있습니다. 응용 프로그램에 모듈/플러그인이 필요한 경우 설치하고 그렇지 않으면 설치하십시오. Netbeans, Eclipse, IntelliJ와 같은 IDE와 마찬가지로.

스윙 응용 프로그램이므로 Netbeans Platform을 살펴볼 것을 적극 권장합니다.

-1

모든 스윙 구성 요소는 Serializable입니다. JPanel을 만들고, 표시하고, serialize 한 다음 다시 표시하고 다시 표시 할 수 있다고 생각합니다. 나는 그 deserilized 패널은 별도로 표시됩니다 믿습니다.

간단한 패널로 시험해보십시오. 작동하는 경우이 기술을 응용 프로그램에 적용 해보십시오.

+2

이렇게하지 않을 것입니다. - 버전 간에서 일련 번호가 작동하지 않을 수도 있습니다. Java Runtime에서 사소한 버전을 변경하더라도이 문제가 발생할 수 있습니다. –

관련 문제