📄 disconnectlistener.java
字号:
package Listener;
import java.awt.event.*;
import javax.swing.*;
import GUI.RemoteFilePanel;
import com.jcat.ftp.*;
/**
* 用于断开与站点连接的按钮事件监听
* @author 赖程远
*
*/
public class DisconnectListener implements ActionListener, MouseListener
{
private JTabbedPane tabbedPane;
private JTabbedPane tabbedPane2;
/**
* 构造函数
* @param localPane 用于显示远程FTP目录
* @param remotePane2 用于显示任务队列
*/
public DisconnectListener(JTabbedPane localPane,JTabbedPane remotePane2)
{
this.tabbedPane = localPane;
this.tabbedPane2=remotePane2;
}
@Override
public void actionPerformed(ActionEvent e)
{
disconnectFTP(tabbedPane.getSelectedIndex());
}
@Override
public void mouseClicked(MouseEvent e)
{
String s = ((JLabel) e.getSource()).getText();
if (e.getButton() == MouseEvent.BUTTON3)
{
disconnectFTP(tabbedPane.indexOfTab(s));
} else if (e.getButton() == MouseEvent.BUTTON1)
{
tabbedPane.setSelectedIndex(tabbedPane.indexOfTab(s));
}
}
@Override
public void mouseEntered(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent arg0)
{
// TODO Auto-generated method stub
}
private void disconnectFTP(int index)
{
RemoteFilePanel panel = (RemoteFilePanel) tabbedPane
.getComponentAt(index);
FTPConnection f = panel.getConn();
if (f.getTaskQueue().taskRunning())
{
int n = JOptionPane
.showConfirmDialog(null, "当前有任务在运行中,如果关闭连接,会导致任务中止", "确认",
JOptionPane.YES_NO_OPTION);
if (n == JOptionPane.NO_OPTION)
return;
}
tabbedPane.remove(index);
tabbedPane2.remove(index);
f.disconnect();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -