📄 frame1.java
字号:
package ftpclient;
import java.awt.*;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Dimension;
import com.borland.jb.util.*;
import java.beans.*;
import java.io.*;
import sun.net.TelnetInputStream;
import sun.net.ftp.*;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JLabel;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JList;
import java.awt.List;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.lang.Object;
import javax.swing.tree.DefaultTreeCellEditor;
import javax.swing.tree.DefaultTreeModel;
import javax.swing.JCheckBox;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2007</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class Frame1 extends JFrame {
JTextArea jTextArea1 = new JTextArea();
JPanel contentPane;
FtpClient ftp = null;
JLabel statusLabe1 = new JLabel();
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
XYLayout xYLayout1 = new XYLayout();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JTextField jTextField1 = new JTextField();
JTextField jTextField2 = new JTextField();
JTextField jTextField3 = new JTextField();
JTextField jTextField4 = new JTextField();
JButton jButton1 = new JButton();
JButton jButton2 = new JButton();
List list1 = new List();
public Frame1() {
try {
setDefaultCloseOperation(EXIT_ON_CLOSE);
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
/**
* Component initialization.
*
* @throws java.lang.Exception
*/
private void jbInit() throws Exception {
contentPane = (JPanel) getContentPane();
contentPane.setLayout(xYLayout1);
setSize(new Dimension(400, 300));
setTitle("Frame Title");
jLabel1.setText("用户名");
jLabel2.setText("服务器地址");
jLabel3.setText("密码");
jLabel4.setText("端口号");
jButton1.setText("连接到服务器");
jButton1.addActionListener(new Frame1_jButton1_actionAdapter(this));
jButton2.setText("断开服务器连接");
list1.addActionListener(new Frame1_list1_actionAdapter(this));
contentPane.add(jButton1, new XYConstraints(26, 129, 155, 22));
contentPane.add(jButton2, new XYConstraints(28, 159, 152, 22));
contentPane.add(jLabel1, new XYConstraints(11, 29, 50, 24));
contentPane.add(jTextField1, new XYConstraints(98, 3, 121, -1));
contentPane.add(jTextField2, new XYConstraints(97, 34, 122, -1));
contentPane.add(jTextField3, new XYConstraints(97, 61, 122, 22));
contentPane.add(jTextField4, new XYConstraints(98, 88, 121, 27));
contentPane.add(jLabel3, new XYConstraints(11, 58, 49, 22));
contentPane.add(jLabel4, new XYConstraints(12, 90, 50, 26));
contentPane.add(jLabel2, new XYConstraints(8, 3, 87, 21));
contentPane.add(list1, new XYConstraints(227, 4, 156, 181));
}
public void jButton1_actionPerformed(ActionEvent e) {
int ch;
String hostname = jTextField1.getText();
try {
if (ftp != null)
ftp.closeServer();
} catch (IOException ex) {
ex.printStackTrace();
}
try {
statusLabe1.setText("正在连接");
ftp = new FtpClient(hostname);
ftp.login(jTextField2.getText(), jTextField3.getText());
ftp.binary();
} catch (FtpLoginException ex) {
statusLabe1.setText("无权限与主机:" + hostname + "连接!");
} catch (IOException ex) {
statusLabe1.setText("用户或密码可能不对" + hostname + "连接");
}
statusLabe1.setText("连接主机" + hostname + "成功");
ReloadList();
}
public void list1_actionPerformed(ActionEvent e) {
StringBuffer buf = new StringBuffer();
if (ftp == null)
list1.removeAll();
if (list1.getRows() > 0) {
String dir = list1.getSelectedItem().trim();
try {
ftp.cd(dir);
ReloadList();
jTextArea1.append("进入目录:");
jTextArea1.append(dir);
jTextArea1.append("\n");
} catch (IOException ex) {
jTextArea1.append(dir);
jTextArea1.append(":是一个文件\n");
}
}
}
private void ReloadList() {
StringBuffer buf = new StringBuffer();
int ch;
list1.removeAll();
try {
TelnetInputStream t = ftp.list();
t.setStickyCRLF(true);
while ((ch = t.read()) >= 0) {
if (ch == '\n') {
list1.add(getDIR(buf.toString()));
buf.setLength(0);
} else {
buf.append((char) ch);
}
}
t.close();
} catch (IOException ex) {
ex.printStackTrace();
}
list1.validate();
}
public String getDIR(String path) {
String DIRName;
int ch;
int begin = 55;
DIRName= path.substring(begin).trim();
return DIRName;
}
class Frame1_list1_actionAdapter implements ActionListener {
private Frame1 adaptee;
Frame1_list1_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.list1_actionPerformed(e);
}
}
class Frame1_jButton1_actionAdapter implements ActionListener {
private Frame1 adaptee;
Frame1_jButton1_actionAdapter(Frame1 adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -