クライアント/サーバー システムで使用する 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
を行うと、サーバーへの新しい接続が作成されます。で作成した既存のものを使用したい。事前に助けてくれてありがとう!ObjectInputStream
Startup
Streams
Startup
WhatToDo
ボタンを押して を使用しているActionListener
ため、後で で使用するためにストリームをコンストラクターに保存する必要がありますActionListener
。