📄 filesendmonitor.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 + -