如何在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

回到顶部