【Java开源代码栏目提醒】:网学会员为需要Java开源代码的朋友们搜集整理了FtpClientFrame.java相关资料,希望对各位网友有所帮助!
package ftpclient;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import sun.net.ftp.*;
import sun.net.*;
import java.io.*;
public class FtpClientFrame extends JFrame {
JPanel contentPane;
Label labelPrompt = new Label(); // 状态提示
Label labelHost = new Label();
TextField textFieldHost = new TextField(); // 主机地址
Label labelUser = new Label();
TextField textFieldUser = new TextField(); // 用户名
Label labelPassword = new Label();
TextField textFieldPassword = new TextField(); // 密码
Button buttonLink = new Button(); // 连接按钮
Button buttonDisconnect = new Button(); // 断开按钮
Label labelFileShow = new Label();
TextArea textAreaContent = new TextArea(); // 显示文件和目录的文本域
Label labelFile = new Label();
TextField textFieldFile = new TextField(); // 要下载的文件名输入框
Label labelDir = new Label();
TextField textFieldDir = new TextField(); // 保存文件的本机目录名
Button buttonDownload = new Button(); // 下载按钮
FtpClient myFtp = null; // FtpClient对象
TelnetInputStream inStream = null; // 输入流对象
public FtpClientFrame() { // 构造函数
try {
jbInit(); // 界面初始化并显示
}
catch(Exception e) {
e.printStackTrace();
}
}
// 界面初始化并显示
private void jbInit() throws Exception {
contentPane = (JPanel) this.getContentPane();
contentPane.setLayout(null);
labelPrompt.setBounds(new Rectangle(25, 6, 180, 22));
labelHost.setText("主机名:");
labelHost.setBounds(new Rectangle(25, 38, 50, 22));
textFieldHost.setBounds(new Rectangle(78, 38, 280, 22));
labelUser.setText("用户名:");
labelUser.setBounds(new Rectangle(25, 70, 50, 22));
textFieldUser.setBounds(new Rectangle(78, 70, 114, 22));
labelPassword.setText("密码:");
labelPassword.setBounds(new Rectangle(205, 70, 37, 22));
textFieldPassword.setBounds(new Rectangle(244, 70, 114, 22));
textFieldPassword.setEchoChar('*');
buttonLink.setLabel("连接");
buttonLink.setBounds(new Rectangle(375, 38, 70, 22));
buttonLink.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
buttonLink_actionPerformed(e);
}
});
buttonLink.setEnabled(true);
buttonDisconnect.setLabel("断开");
buttonDisconnect.setBounds(new Rectangle(375, 70, 70, 22));
buttonDisconnect.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
buttonDisconnect_actionPerformed(e);
}
});
buttonDisconnect.setEnabled(false);
labelFileShow.setText("目录列表");
labelFileShow.setBounds(new Rectangle(25, 105, 140, 22));
textAreaContent.setBounds(new Rectangle(25, 135, 420, 235));
textAreaContent.setEditable(false);
labelFile.setText("欲下载的文件名:");
labelFile.setBounds(new Rectangle(25, 380, 100, 22));
textFieldFile.setBounds(new Rectangle(128, 380, 230, 22));
labelDir.setText("存放文件的路径:");
labelDir.setBounds(new Rectangle(25, 412, 100, 22));
textFieldDir.setBounds(new Rectangle(128, 412, 230, 22));
buttonDownload.setLabel("下载");
buttonDownload.setBounds(new Rectangle(375, 412, 70, 22));
buttonDownload.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(ActionEvent e) {
buttonDownload_actionPerformed(e);
}
});
buttonDownload.setEnabled(false);
contentPane.add(labelPrompt, null);
contentPane.add(labelHost, null);
contentPane.add(textFieldHost, null);
contentPane.add(labelUser, null);
contentPane.add(textFieldUser, null);
contentPane.add(labelPassword, null);
contentPane.add(textFieldPassword, null);
contentPane.add(buttonLink, null);
contentPane.add(buttonDisco