여러 클라이언트들의 JTable 공유에 대해서.
피리
한 서버가 있고, 그 서버를 중심으로 여러 클라이언트가 있습니다.
어느 한 클라이언트 JTable에서 row의 data값이 add되었을 때 이 데이터들이 서버를 통해 각각의 클라이언트에 전달이 되어 JTable에서 업데이트가 동시에 되도록 하려고 하는데요.
즉, 각각의 클라이언트들은 하나의 JTable을 공유되야 하는데 JDBC를 사용하지 않고, 구현을 하려고 하는데- 잘 구상이 되질 않아서요.
비슷한 로직이나, 소스도 좋구, 어떻게 구현하면 좋을지 조언이라도 좀 부탁드립니다~
-
큐트
클라이언트가 데이터를 add 했을때 리스너가 이걸 통보받고 서버에 알리는 부분이 문제인데, 간편하게 TableModelEvent를 서버에 보내는겁니다. 객체직렬화로... 그러면 서버가 이걸 클라이언트들에게 몽땅 뿌리는거죠... 그러면 클라이언트들은 직렬화되어 날아온 데이터를 모아서 TableModelEvent를 만들어서 각자의 TableModel 에 넣어주는겁니다. 여기서 문제는 \내가 add한 데이터\와 \다른 사람이 add한 데이터\를 구분할 줄 알
-
말글
JTable이 아니라 TableModel 이라는 클래스를 공유해야겠군요. JTable 자체는 model, view, 각종 이벤트 리스너를 한데 뭉뚱그려놓은 거거든요. TableModel에 데이터가 입력, 삭제되었을때 이를 통보받는 리스너를 구현해서 등록하는겁니다. 물론 이 리스너가 서버와의 통신 기능을 하고 있어야 겠죠. 윗분이 링크건 페이지에서 \Detecting Data Changes\ 에 보면 리스너가 있죠? 이걸 활용하셔야 할겁니다.