gpt4 book ai didi

java - 启动套接字连接线程并在框架中绘制有关它的信息

转载 作者:行者123 更新时间:2023-12-01 15:40:05 24 4
gpt4 key购买 nike

我正在尝试编写java程序。

我的想法:主类启动用于套接字连接的线程,同时主类启动带有GUI的Frame。

package dialogsubsystem2;

import InternetConnection.SocketConnectionThread;

/**
*
* @author ACER
*/
public class DialogSubsystemLauncher {

public SocketConnectionThread connectionSocket = new SocketConnectionThread("192.0.0.100", 2002);

public DialogSubsystemLauncher() {

/* Create and display the form */

java.awt.EventQueue.invokeLater(new Runnable() {

@Override
public void run() {
new DialogSubsystemLayoutFrame().setVisible(true);
}
});

connectionSocket.start();
}


/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here

DialogSubsystemLauncher dlgLnch = new DialogSubsystemLauncher();


}
}

创建的框架根据用户的请求启动另一个框架。

我想在所有框架的状态栏上显示有关套接字连接(来自套接字连接线程)的信息。但我无法从框架访问套接字连接线程。我应该如何解决这个问题?我应该如何启动套接字连接线程才能从任何框架访问它?

最佳答案

您需要其中一个对象具有对另一个对象的引用。我会指出引用线程的框架(因为线程有时可能会被 I/O 阻塞)。

只需让 Frame 的构造函数接受一个线程对象并传递您创建的线程对象(或向其添加一个 set 方法)。

编辑:

回答评论中的声明。

您需要将引用传递给您创建的其他类(框架)。

public class DialogSubsystemLayoutFrame extends JFrame {
// You store the reference here.
private SocketConnectionThread socketConnection = null;

public DialogSubsystemLayoutFrame(SocketConnectionThread socket) {
this.socketConnection = socket;
}
}

从那里,您可以在类中的任何位置使用 this.socketConnection 来对其进行操作。

关于java - 启动套接字连接线程并在框架中绘制有关它的信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8203032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com