クライアント/サーバー システムで使用する GUI プログラムを開発していますVector。接続を確立するObjectOutputStreamとObjectInputStream作成されますが、新しいクラスを開こうとしたときにそれを新しいクラスに渡す方法がわかりません。私のStartupクラスには、作成されてさまざまなクラスに渡されてさまざまなフィールドが変更されるSerializableオブジェクト ( Message m) があり、クライアントとサーバーの間で接続が確立されます。
私のStartupクラスでは、このコードを持っています...
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);
}
WhatToDoクラスで私はこのコードを持っています...
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を行うと、サーバーへの新しい接続が作成されます。で作成した既存のものを使用したい。事前に助けてくれてありがとう!ObjectInputStreamStartupStreamsStartupWhatToDo
ボタンを押して を使用しているActionListenerため、後で で使用するためにストリームをコンストラクターに保存する必要がありますActionListener。