如何在Java中互相使用两个类中的方法?
我一直在四处张望,我至少找到了一个不清楚的答案。
我正在使用GUI构建一个非常基本的聊天应用程序,并且已经将GUI与连接对象分离了。现在,我需要在服务器类中从GUI调用一种方法,反之亦然。但是我不太了解如何做到这一点(即使使用“
this”也是如此)。这是一部分代码的样子(这是一个名为server_frame的类):
textField.addActionListener( new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
try {
srv.sendData(arg0.getActionCommand());
} catch (Exception e) {
e.printStackTrace();
}
textField.setText("");
}
}
);
这是来自server_frame的代码,srv是另一个类(服务器)中的一个对象,其中包含sendData方法,我可能未正确定义它,因此希望有人可以对其进行定义。
在另一侧,从中创建对象srv的类服务器包含使用来自代码中server_frame的JTextArea displayArea的方法:
private void displayMessage(final String message){ sf = new server_frame();
SwingUtilities.invokeLater(new Runnable(){
public void run(){
sf.displayArea.append(message);
}
}
);
}
再次sf是由server_frame组成的对象,再次可能未定义:)
希望已经很清楚了,可悲的是我尝试了搜索,但是它没有给我我想要的结果,如果您需要更多信息,我会很乐意添加!
谢谢阅读,
先生
PS:请不要介意我是否误用了术语,我对Java还是很陌生,可以接受任何更正!
回答:
某些类必须同时构建这两个对象(GUI和服务器),并且它应该使彼此相互了解。例如,假设主类是ServerApplication
。为了清楚起见,我将使用标准Java约定以大写字母开头类名。
class ServerApplication { Server server;
ServerFrame gui;
public static void main(String []) {
server = new Server(...);
gui = new ServerFrame(server);
server.setGui(gui);
}
}
每个类也应该存储对另一个的引用。
class Server { ServerFrame gui;
public void setGui(ServerFrame gui) {
this.gui = gui;
}
...
}
class ServerFrame extends JFrame {
Server server;
public ServerFrame(Server server) {
this.server = server;
}
...
}
以上是 如何在Java中互相使用两个类中的方法? 的全部内容, 来源链接: utcz.com/qa/410128.html