📄 ftpservescreen.java
字号:
package service;
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Vector;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JToolBar;
import javax.swing.table.DefaultTableModel;
public class FtpServeScreen extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JFrame f = null;
private JMenuItem StartItem;
private JMenuItem CloseItem;
private JButton StartButton;
private JButton CloseButton;
private JTable table;
private DefaultTableModel model;
public Socket clients = null;
BufferedReader in = null;
PrintWriter out = null;
public FtpServeScreen(String user) {
f = new JFrame("SERVE管理程序" + user);
init();
}
// 初始化
public void init() {
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.getContentPane().setLayout(new BorderLayout());
f.setLocation(150, 50);
f.setSize(800, 650);
f.setJMenuBar(getmenuBar());
f.getContentPane().add(getToolBar(), BorderLayout.NORTH);
f.getContentPane().add(getPane(), BorderLayout.CENTER);
f.setVisible(true);
// startServe();
}
public JMenuBar getmenuBar() {
JMenuBar menubar = new JMenuBar();
menubar.add(getSystemMenu());
menubar.add(getEditMenu());
menubar.add(getHelpMenu());
return menubar;
}
// 系统目录
public JMenu getSystemMenu() {
JMenu systemmenu;// 系统目录
JMenuItem existitem;
systemmenu = new JMenu("文件(F)");
systemmenu.setMnemonic('F');
existitem = new JMenuItem("退出(E)", 'E');
systemmenu.add(existitem);
existitem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
f.dispose();
System.exit(0);
}
});
return systemmenu;
}
// 菜单编辑目录
public JMenu getEditMenu() {
JMenu editMenu = new JMenu("编辑(E)");
editMenu.setMnemonic('E');
StartItem = new JMenuItem("启动服务器(S)", 'S');
CloseItem = new JMenuItem("关闭服务器(C)", 'C');
StartItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
startServe();
}
});
CloseItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
}
});
editMenu.add(StartItem);
editMenu.add(CloseItem);
return editMenu;
}
// 帮助目录
public JMenu getHelpMenu() {
JMenu help = new JMenu("帮助(H)");
help.setMnemonic('H');
JMenuItem h = new JMenuItem("帮助(H)", 'H');
help.add(h);
return help;
}
// 工具栏
public JToolBar getToolBar() {
JToolBar toolBar = new JToolBar();
StartButton = new JButton("启动服务器", new ImageIcon(getClass()
.getResource("image/add.gif")));
CloseButton = new JButton("关闭服务器", new ImageIcon(getClass()
.getResource("image/change.gif")));
StartButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
startServe();
}
});
CloseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
}
});
toolBar.add(StartButton);
toolBar.add(CloseButton);
return toolBar;
}
public JScrollPane getPane() {
model = new DefaultTableModel();
table = new JTable(model);
JScrollPane scrollpane = new JScrollPane();
model.addColumn("客户端连接情况");
scrollpane.getViewport().add(table, this);
return scrollpane;
}
public void showResult(Vector v) {
for (int i = 0; i < v.size(); i++) {
Vector list = new Vector();
list.add(v.elementAt(i));
model.addRow(list);
}
}
public void startServe() {
Vector li = new Vector();
li.add("服务器端启动");
li.add("Ftpserver starting up on port 21");
li.add("Waiting for connection");
showResult(li);
Thread my = new mythread();
my.start();
}
public void actionPerformed(ActionEvent arg0) {
Object o = arg0.getSource();
if (o.equals(JFrame.EXIT_ON_CLOSE)) {
}
}
public static void main(String args[]) {
new FtpServeScreen("lieping");
}
class mythread extends Thread {
public void run() {
new FtpService().startServe();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -