Vector
에 데이터를 저장할 클라이언트/서버 시스템에서 사용할 GUI 프로그램을 개발 중입니다. 내가 연결을 만들 때 ObjectOutputStream
과 ObjectInputStream
을 만들었지 만 열려고 할 때 새로운 클래스로 전달하는 방법을 모르겠습니다. 내 Startup
클래스에서 나는 다른 분야뿐만 아니라 연결이 내 Startup
클래스에서 클라이언트와 서버 사이에다른 클래스에 ObjectOutputStream 전달
를 설립지기로이 코드를 수정해야 할 다른 클래스로 생성되고 전달되는 Serializable
객체 (Message m
)가 ... 나는이 코드를 가지고있는 WhatToDo
클래스에서
m.yourName = tmyName.getText();
m.department = tdepartment.getText();
if (m.yourName != null && m.department != null) {
client = new Socket(server, port);
oout = new ObjectOutputStream(client.getOutputStream());
oin = new ObjectInputStream(client.getInputStream());
toutput.setText("Connected");
oout.writeObject(m);
new WhatToDo (m, oout, oin);
}
...
Message m;
ObjectOutputStream oout;
ObjectInputStream oin;
public WhatToDo(Message a, ObjectOutputStream oout2, ObjectInputStream oin2){
m = new Message();
m = a;
// this is what i'm unsure about and need help with
oout = oout2; //but need to construct oout first
oin = oin2; //but need to construct oin first
}
나는 새로운 ObjectOutputStream
및할 경우 내가 Startup
에서했던 것처럼, 나는 서버에 새로운 연결을 만들 것입니다. Startup
에 생성 된 기존 Streams
을 WhatToDo
에 사용하고 싶습니다. 사전에 도와 주셔서 감사합니다!
버튼 누름이있는 ActionListener
을 사용 중이므로 나중에 스트림을 생성자에 저장하여 ActionListener
에서 사용할 수 있도록해야합니다.
현재 코드에 어떤 문제가 있습니까? – Vulcan
당신이하고있는 일은 모두 괜찮아 보입니다. 당신이 마지막 진술에';'을 빠뜨린 것을 제외하고는. –