2013-02-27 2 views
1

게시판 전략 게임을하고 있습니다. 그 점은 연결된 룸 플레이어가 comboBox (Age of Empires 2와 유사)로 자신의 색상을 선택하고 호스트가 게임을 시작할 때까지 이야기 할 수있는 이전 룸 채팅을 한 것입니다.다른 프로그램 인스턴스에서 Swing GUI를 업데이트하는 방법

것은 플레이어 X가 빨간색을 뽑았다는 것을 보여주기 위해 다른 플레이어의 GUI를 업데이트하는 방법을 모른다는 것입니다.

이미 게임 (호스트)의 제작자를 클라이언트와 연결 했으므로 콘솔로 서로 메시지를 보낼 수 있습니다. 하지만 난 정말 단순한 콤보 상자에서 변경 후 두 GUI를 업데이 트하는 방법을 몰라.

플레이어 (2) 다음은 다른 플레이어의 GUI에 녹색 표시해야하지만 난 그것을 수행하는 방법을 잘 모릅니다 녹색

에 자신의 색을 설정하는 경우

.

+0

: 당신이 채팅 기능을 다른 클라이언트에 클라이언트에서 메시지를 보낼 수있는 경우, 어떻게 색상 정보가 포함 된 메시지를 보낼 수 없습니까? 다른 클라이언트가 메시지를 수신하면 GUI에서 플레이어의 색을 설정하면됩니다. –

답변

1

콤보 박스에 리스너를 추가해야합니다. 청취자는 색상 ("playerColorChanged # 00ff00"과 같은)과 함께 특별한 메시지 (명령)를 호스트에 보내야하며 호스트는 다른 모든 클라이언트에이를 배포해야합니다 (소스 플레이어 이름/ID 추가 추가). 클라이언트는 그에 따라 GUI를 업데이트해야합니다.

코드를 모르지만 클라이언트와 호스트 간의 현재 통신 프로토콜을 업데이트해야 이러한 "시스템 메시지"를 보낼 수 있습니다.

0

클라이언트/서버 프로토콜 작성 방법에 따라 다른 메시지 유형을 보내는 방법이 있어야합니다. 플레이어가 특정 색을 선택한 다음 다른 모든 클라이언트로 전달할 때 발표하는 특정 메시지 유형을 서버에 보냅니다. 각 클라이언트는 해당 메시지를 받으면 관련 UI 표시기를 변경합니다.

는 (접근 방식은 피어 - 투 - 피어 프로토콜 유사 할 수있다.)

은 분명 소리 때문에 더 자세한 정보가 필요
관련 문제