⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filesendmonitor.java

📁 局域网飞鸽传输
💻 JAVA
字号:
/**
  * @(#)frm.FileSendMonitor.java  2008-10-9  
  * Copy Right Information	: Tarena
  * Project					: IPMsg
  * JDK version used		: jdk1.6.4
  * Comments				: 文件传送监视器
  * Version					: 1.0
  * Sr	Date		Modified By		Why & What is modified
  * 1.	2008-10-9 	小猪     		新建
  **/
package frm;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Insets;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;
import javax.swing.table.TableRowSorter;

 /**
 * 文件传送监视器
 * 2008-10-9
 * @author		达内科技[Tarena Training Group]
 * @version	1.0
 * @since		JDK1.6(建议) 
 */
@SuppressWarnings("serial")
public class FileSendMonitor extends JFrame implements ActionListener{

	/** 传送文件的列表JTalbe */
	private JTable tableList = null;
	/** talbeList的model */
	private MyDefaultTableModel model =null;
	/** 删除按钮 */
	private JButton btnDelete = new JButton("删除");
	/** 关闭按钮 */
	private JButton btnClose = new JButton("关闭");
	/** 是否允许传送 */
	private JCheckBox boxIsAllowSend = new JCheckBox("若目标文件已改变,则不允许传送");
	
	public FileSendMonitor() {
		
		setTitle("文件传送监视器");
		setSize(550,200);
		//setMinimumSize(new Dimension(300,210));
		setResizable(false);
		Toolkit tk=Toolkit.getDefaultToolkit();
		setLocation((tk.getScreenSize().width-getSize().width)/2,(tk.getScreenSize().height-getSize().height)/2);
		try {
			setIconImage(ImageIO.read(getClass().getResource("/frm/img/ipmsg.gif")));
		} catch (IOException e) {
			e.printStackTrace();
		}
		init();
		
		setDefaultCloseOperation(DISPOSE_ON_CLOSE);
		setVisible(true);
	}
	
	/**
	 * 初始化面板。
	 */
	@SuppressWarnings("unchecked")
	private void init(){
		btnDelete.setPreferredSize(new Dimension(75,25));
		btnDelete.setMargin(new Insets(0,0,0,0));
		btnDelete.addActionListener(this);
		btnClose.setPreferredSize(new Dimension(75,25));
		btnClose.setMargin(new Insets(0,0,0,0));
		btnClose.addActionListener(this);
		
		model = new MyDefaultTableModel();
		String[] columns = {"No.","文件名","大小","进度","速度","总数/完成/传送","用户"};
		for(String cloumn:columns)
			model.addColumn(cloumn);
		tableList = new JTable(model);
		TableRowSorter sorter = new TableRowSorter(model); 
		tableList.setRowSorter(sorter);
		tableList.setFillsViewportHeight(true);
		int[] width = {15,80,30,80,40,70,50};
		for(int i=0;i<columns.length;i++){
			TableColumn cloumn = tableList.getColumn(columns[i]);
			cloumn.setPreferredWidth(width[i]);
		}
		
		JPanel paneBottom = new JPanel();
		paneBottom.setLayout(new FlowLayout(FlowLayout.RIGHT,8,8));
		paneBottom.setPreferredSize(new Dimension(200,43));
		paneBottom.add(btnDelete);
		paneBottom.add(btnClose);
		paneBottom.add(boxIsAllowSend);
		
		add(new FillWidth(8,8),BorderLayout.NORTH);
		add(new FillWidth(8,8),BorderLayout.EAST);
		add(new FillWidth(8,8),BorderLayout.WEST);
		add(new JScrollPane(tableList));
		add(paneBottom,BorderLayout.SOUTH);
	}
	
	public void actionPerformed(ActionEvent e) {
		if(e.getSource()==btnClose){
			dispose();
			return;
		}
		if(e.getSource()==btnDelete){
			return;
		}
	}
	
	/**
	 * table的Model
	 */
	private class MyDefaultTableModel extends DefaultTableModel{
		@Override
		public boolean isCellEditable(int row, int column) {
			return false;
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -