
java界面子线程界面阻塞了主线程界面怎么解决?
主界面现在有一些按钮,其中包括一个文件发送按钮。我想点击文件发送按钮后,弹出另一个界面专门处理文件发送问题。但是我这里用的是TCP的方式发送文件,选择好要发送的文件后,点...
主界面现在有一些按钮,其中包括一个文件发送按钮。我想点击文件发送按钮后,弹出另一个界面专门处理文件发送问题。但是我这里用的是TCP的方式发送文件,选择好要发送的文件后,点击发送,子界面会阻塞掉,一直等待多个接受方接受文件。这个时候子界面就不能点了,但是主界面也不能进行操作了。
我给子界面创建了一个线程,还是没有解决。
//启用子界面发送文件
jb4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 启用服务器端发送文件界面
new FileSend().start();
}
});
//单独创建一个线程
private class FileSend extends Thread{
@Override
public void run() {
VideoServerPanel vsp=new VideoServerPanel();
}
} 展开
我给子界面创建了一个线程,还是没有解决。
//启用子界面发送文件
jb4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// 启用服务器端发送文件界面
new FileSend().start();
}
});
//单独创建一个线程
private class FileSend extends Thread{
@Override
public void run() {
VideoServerPanel vsp=new VideoServerPanel();
}
} 展开
3个回答
展开全部
子线程做一个timeout超时
弹出界面不要全屏,你还是可以操作主界面,对吧
子线程提供取消按钮!\
3种选择,你自己看看什么合适你的项目。
展开全部
使用SwingUtilities类,提供了两个方法:invokeLate和invoteAndWait可以解决卡主的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是不是这个VideoServerPanel本身就会阻塞主线程界面呢,我也不太懂,求解一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询