我正在开发一个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
中使用。
答案 0 :(得分:0)
我希望使用现有的Streams
这正是您的代码现在所做的。您对“但需要构建”的评论不正确。