나는 3 개의 클래스가 있습니다. 하나는 모든 노력을하지만 아무 것도 표시하지 않는 작업자 클래스입니다. 다른 두 개는 GUI 클래스 중 하나가 다른 하나를 호출합니다. 두 번째 GUI 클래스를 호출하는 클래스는 worker 클래스를 엽니 다. 이미 노동자 클래스가 열려으로, 두 번째 GUI 클래스는하지만 노동자 클래스에서 사용되는 사용자 정보를 가져 오는 데 사용됩니다오픈 클래스 사이의 의사 교환
protected void openAdd() {
AddPet add = new AddPet(ADD_PROMPT, FIELDS, DATE_PROMPT);
add.setVisible(true);
}
:
첫 번째 GUI는이 방법으로 두 번째를 호출 첫 번째 GUI에서는 다시 열지 않고 첫 번째 GUI에서 일부 정보를 사용하려고합니다.
내가해야 할 일은 두 번째 GUI의 정보를 첫 번째 GUI로 전달하여 함께 작업하고 열린 작업자 클래스에 전달할 수 있도록하는 것입니다.
어떻게해야합니까?
EDIT : 제 생각에는 최선의 방법은 두 번째 GUI에서 첫 번째 GUI의 메소드를 호출하는 것이지만 이것이 가능한지는 알 수 없습니다.
M-V-C가 이동하는 방법이다. 모든 모델에 하나의 모델을 사용하고 두 GUI 모두 모델의 상태를 기반으로 뷰를 표시하십시오. –
"worker"클래스의 참조를 두 번째 GUI 클래스에 전달할 수 있습니다 ... 두 번째 GUI 클래스가 실제로 첫 번째 GUI 클래스에 대해 알아야 할 필요가 없다면 클래스의 노출을 줄이거 나 줄이십시오. 노출시키지 마십시오. 이 코드는 서로 연결되어 있지 않으므로 첫 번째 GUI 클래스를 잠재적으로 원하지 않는 수정으로 노출합니다. – MadProgrammer
' "가장 좋은 옵션은 두 번째 GUI에서 첫 번째 GUI의 메소드를 호출하는 것이지만, 이것이 가능할 지 알지 못합니다. "-"GUI "는 순수하고 단순한 객체입니다. 적절한 참조가있는 경우 다른 객체의 public 메서드를 호출 할 수 있습니다. 다시 말하지만, 나는 여전히 최선의 선택이 M-V-C 구조를 사용하는 것이라고 믿지만 대부분의 경우와 마찬가지로 악마가 세부 사항에 존재합니다. 좀 더 구체적인 도움이 필요하다면 먼저 자세한 내용을 알려주고 해당 코드를 [최소 예제 프로그램 또는 MCVE] (http://stackoverflow.com/help/mcve)로 표시하십시오. –