스윙에서 GUI를 만드는 한 가지 기술적 측면에 대해 묻고 싶습니다. 내가또는 JDialog
(많은 설정), 많은 작업 (설정, 동작, 데이터, 차트 표시 등 ...)으로 구성된 콘텐츠를 마음대로 생각해 봅시다. 예를 들어Java JFrame에서 많은 JPanels 스윙 - 게터 또는 모두 하나로?
: here 및 조직 그들 JPanels
에 (그것을 MainPanel.java
이름을하자) 하나 개의 파일에 모든 구성 요소를 definie하는 것입니다 내가 지금하고 있어요
. A는 매우이다 (내 말은 그 의미가 내가 3-4없는 복잡한 패널이 때
private void organizePanels() {
pnlSettings = createPnlSettings();
pnlActions = createPnlActions();
pnlChart = createPnlChart();
// ...
}
각 방법 등이 내부 구성 요소를 JPanel
의 레이아웃을 설정하는 조직에 대한 책임이 각 패널을 구성하기위한 별도의 방법이 읽을 수있는). 그러나 좀 더 복잡한 구조를 만들면 악몽을 꾸미는 작은 일이 생기기 시작합니다. 각 클래스는 자신의 내부 구성 요소에 접근 (A 다른 JPanel
에 JCombo 새로 고침에 영향을해야 JButton
JPanel
에 클릭을해야한다 - 각 JPanel
은 별도의 클래스 을 만들 경우 - : 나는 그런 접근 방식을 사용하려는 이유
). - 패널 간의 통신은 어떻게 든 MainPanel에 의해 제공되어야합니다.
그래서 mainPanel에서 JPanels에 대한 참조 만 있고 내부의 구성 요소에는 대한 참조가 없습니다. 특정 데이터에 액세스하는 데 조금 더 시간이 걸릴 것입니다. (대신 btnSave.setEnabled(true)
일 수 있지만 자연스러운 결과 일 수 있습니다.) JPanels의 모든 구성 요소를 공개 할 수 있습니다.
이 접근 방법이 정확한지 알고 싶습니까? 둘째 모든 시간을 접근 아니면 내 첫 번째 방법은없는 매우 복잡한 구조에 적합?
을 당신이 무슨 경험?