2013-10-19 4 views
1

다른 JFrame의 데이터로 JFrame을 업데이트 할 수 있습니까? 마찬가지로, 오른쪽 JFrame의 데이터를 변경하면 왼쪽 JFrame의 데이터가 자동으로 업데이트됩니까?JFrame을 다른 JFrame의 데이터로 업데이트하는 방법은 무엇입니까?

+3

두 JFrames이 어떤 특별한 이유? 그것은 일반적으로 [나쁜 연습] (http://stackoverflow.com/a/9554657/1702990)으로 간주됩니다 ... – Sinkingpoint

답변

2
  1. GUI에 두 개 이상의 JFrame이 표시되지 않아야합니다.
  2. 문제는 더 일반적으로 한 개체의 상태를 다른 개체의 상태로 업데이트하는 방법입니다. 종종 setter 메소드를 호출하면 효과가 있습니다. 물론 이것은 질문을 평범하게하지만, 당신의 더 이상의 정보가 없으면, 우리가 말할 수있는 가장 많은 것에 관한 것입니다.
  3. 언제 개체의 업데이트를 수행 할 것인가하는 것이 더 어려운 문제 일 수 있으며 여기에서는 관찰자 패턴을 사용하는 것이 종종 도움이됩니다. 이것의 예에는, ActionListener 또는 ChangeListeners 또는 PropertyChangeListeners의 사용이 포함됩니다.

큰 도움을 받으려면 질문에 대해 더 깊이 생각해보십시오.


편집
당신의 상태 :

다른 JFrame의가 다른 클래스에 있습니다. JButton을 클릭하면 다른 클래스의 JFrame이 팝업되고 거기에있는 JLabel이 업데이트됩니다. 2 개의 jframes는 같은 클래스에 있지 않습니다.

  • 두 번째 "JFrame의"가되는 JDialog 아닌 JFrame의, 그리고 가능성이 모달 대화해야합니다. 이렇게하면 더 이상 보이지 않을 때 대화 상자를 볼 수있게 만든 코드로 코드 흐름이 다시 시작되므로 사용자가 작업을 완료 한 시점을 알 수 있습니다.
  • 정보를 하나의 "클래스"에서 다른 클래스로 전송하는 것은 실제로 setter 메소드를 통해 수행됩니다. 실제로는 하나의 객체에서 다른 클래스로 정보를 전송합니다.

여전히 혼란 스럽다면, 문제가있는 작은 컴파일 및 실행 가능한 프로그램 인 sscce을 만드십시오.


그냥 내가 제안하고있어, 여기 내 답변 코드를 참조하십시오의 예를 들어 편집 2
:

+0

다른 JFrame은 다른 클래스에 있습니다. JButton을 클릭하면 다른 클래스의 JFrame이 팝업되고 거기에있는 JLabel이 업데이트됩니다. 2 개의 jframes는 같은 클래스에 있지 않습니다. –

+0

@JenzonedMiralles : 편집을 참조하십시오. –

+0

@JenzonedMiralles : 내 제안의 예를 보려면 편집 2의 링크를 참조하십시오. –

-2

두 가지 이유가 무엇인지 모르겠지만 super를 만들거나 JFrame을 확장 할 수 있습니다. 또한 사용할 수있는 여러 가지 상속 사례가 많이 있습니다.

+0

이 상속은 어떻게 도움이됩니까? –

관련 문제