📄 netsenderframe.java
字号:
/**
*
*/
package view.sender;
import java.io.File;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List;
import java.util.StringTokenizer;
import main.NetTransfer;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CBanner;
import org.eclipse.swt.custom.CCombo;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.custom.SashForm;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.widgets.MenuItem;
import org.eclipse.swt.widgets.Text;
import thread.sender.GetOnlineListThread;
import thread.sender.NetSenderDaemon;
import ThemeFrame.SAPWindowFrame;
import extend.Configuration;
import extend.IPAndHostPackage;
import extend.SortIPAddress;
/**
* @author user
*
*/
public class NetSenderFrame extends Composite {
private SashForm sashForm = null;
private Composite composite = null;
private Composite composite1 = null;
private SAPWindowFrame parent; // @jve:decl-index=0:
private NFS_BackPanel nfsBackPanel;
private Text textArea = null;
private Composite composite2 = null;
private CBanner cBanner = null;
private Composite composite3 = null;
private Button button = null;
private CLabel cLabel = null;
private CLabel cLabel1 = null;
private CCombo cCombo = null;
private Composite composite5 = null;
private Button button1 = null;
private Hashtable selectedFiles = new Hashtable();//管理File 句柄列表 // @jve:decl-index=0:
private ArrayList list_NSF_FileHI = new ArrayList();//管理NSF_FileHandleItem 列表 // @jve:decl-index=0:
private Menu menu = null;
private MenuItem addFileMI = null;
private MenuItem addFolderMI = null;
private MenuItem delAllMI = null;
private Image fileLogo = new Image(Display.getCurrent(), getClass().getResourceAsStream("/view/picture/file.png"));
private Image folderLogo = new Image(Display.getCurrent(), getClass().getResourceAsStream("/view/picture/folder.png"));
private Image trashLogo = new Image(Display.getCurrent(), getClass().getResourceAsStream("/view/picture/trash.png"));
private Button button2 = null;
public NetSenderFrame(SAPWindowFrame parent, int style) {
super(parent.getShell(), style);
this.parent = parent;
initialize();
/*parent.getShell().addDisposeListener(new DisposeListener(){
public void widgetDisposed(DisposeEvent e) {
thisDispose();
}
});*/
new GetOnlineListThread(this);
}
private void initialize() {
menu = new Menu(this.getShell(),SWT.POP_UP);
addFileMI = new MenuItem(menu,SWT.POP_UP);
addFileMI.setText("Add &File");
addFileMI.setImage(fileLogo);
addFileMI.addSelectionListener(new org.eclipse.swt.events.SelectionListener() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
FileDialog fd = new FileDialog(getShell(),SWT.OPEN|SWT.MULTI);
fd.open();
String[] path = fd.getFileNames();
for(int i=0;i<path.length;i++){
if (path[i] != null){
File f = new File(fd.getFilterPath()+"/"+path[i]);
if (selectedFiles.get(new Integer(f.hashCode()))==null){
selectedFiles.put(new Integer(f.hashCode()),f);
list_NSF_FileHI.add(nfsBackPanel.addNFS_FileHandleItem(f));
}
}
}
}
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
});
addFolderMI = new MenuItem(menu,SWT.POP_UP);
addFolderMI.setText("Add Fol&der");
addFolderMI.setImage(folderLogo);
addFolderMI
.addSelectionListener(new org.eclipse.swt.events.SelectionListener() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
DirectoryDialog dd = new DirectoryDialog(getShell(),SWT.OPEN);
String path = dd.open();
if (path != null){
File f = new File(path);
if (selectedFiles.get(new Integer(f.hashCode()))==null){
selectedFiles.put(new Integer(f.hashCode()),f);
list_NSF_FileHI.add(nfsBackPanel.addNFS_FileHandleItem(f));
}
}
}
public void widgetDefaultSelected(
org.eclipse.swt.events.SelectionEvent e) {
}
});
delAllMI = new MenuItem(menu,SWT.POP_UP);
delAllMI.setText("&Remove All");
delAllMI.setImage(trashLogo);
delAllMI.addSelectionListener(new org.eclipse.swt.events.SelectionListener() {
public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
Object[] obj = list_NSF_FileHI.toArray();
for (int i = 0; i < obj.length; i++){
((NFS_FileHandleItem) obj[i]).thisDispose();
}
selectedFiles.clear();
nfsBackPanel.packComposite();
}
public void widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent e) {
}
});
FillLayout fillLayout = new FillLayout();
fillLayout.marginHeight = 2;
fillLayout.marginWidth = 4;
createSashForm();
this.setLayout(fillLayout);
this.setSize(new org.eclipse.swt.graphics.Point(355,300));
}
/**
* This method initializes sashForm
*
*/
private void createSashForm() {
sashForm = new SashForm(this, SWT.VERTICAL);
sashForm.setBackground(SAPWindowFrame.BACKGROUNDCOLOR);
createComposite();
createComposite1();
}
/**
* This method initializes composite
*
*/
private void createComposite() {
GridLayout gridLayout = new GridLayout();
gridLayout.horizontalSpacing = 0;
gridLayout.marginWidth = 0;
gridLayout.marginHeight = 0;
gridLayout.verticalSpacing = 0;
GridData gridData = new org.eclipse.swt.layout.GridData();
gridData.grabExcessHorizontalSpace = true;
gridData.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
gridData.grabExcessVerticalSpace = true;
gridData.horizontalIndent = 0;
gridData.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
composite = new Composite(sashForm, SWT.BORDER);
composite.setLayout(gridLayout);
composite.setBackground(SAPWindowFrame.BACKGROUNDCOLOR);
textArea = new Text(composite, SWT.MULTI | SWT.WRAP | SWT.V_SCROLL);
textArea.setFont(new Font(Display.getDefault(), "\u5b8b\u4f53", 11, SWT.NORMAL));
textArea.setLayoutData(gridData);
}
/**
* This method initializes composite1
*
*/
private void createComposite1() {
GridLayout gridLayout2 = new GridLayout();
gridLayout2.horizontalSpacing = 0;
gridLayout2.marginWidth = 0;
gridLayout2.marginHeight = 0;
gridLayout2.verticalSpacing = 0;
composite1 = new Composite(sashForm, SWT.NONE);
// composite1.setBackground(SAPWindowFrame.BACKGROUNDCOLOR);
createComposite2();
composite1.setLayout(gridLayout2);
}
/**
* This method initializes composite2
*
*/
private void createComposite2() {
GridData gridData4 = new GridData();
gridData4.grabExcessHorizontalSpace = true;
gridData4.verticalAlignment = GridData.CENTER;
gridData4.heightHint = -1;
gridData4.horizontalAlignment = GridData.FILL;
GridLayout gridLayout1 = new GridLayout();
gridLayout1.numColumns = 1;
gridLayout1.verticalSpacing = 0;
gridLayout1.marginWidth = 0;
gridLayout1.marginHeight = 0;
gridLayout1.horizontalSpacing = 0;
GridData gridData1 = new GridData();
gridData1.grabExcessVerticalSpace = true;
gridData1.horizontalAlignment = GridData.FILL;
gridData1.verticalAlignment = GridData.FILL;
gridData1.grabExcessHorizontalSpace = true;
composite2 = new Composite(composite1, SWT.NONE);
composite2.setLayoutData(gridData1);
composite2.setLayout(gridLayout1);
createCBanner();
GridData gridComposite = new GridData();
gridComposite.horizontalAlignment = GridData.FILL;
gridComposite.verticalAlignment = GridData.FILL;
gridComposite.grabExcessHorizontalSpace = true;
gridComposite.heightHint = -1;
gridComposite.grabExcessVerticalSpace = true;
nfsBackPanel = new NFS_BackPanel(composite2,SWT.NONE,selectedFiles,list_NSF_FileHI);
nfsBackPanel.setLayoutData(gridComposite);
nfsBackPanel.composite.addMouseListener(new org.eclipse.swt.events.MouseAdapter() {
public void mouseUp(org.eclipse.swt.events.MouseEvent e) {
if (e.button==3){
int locateX = composite1.getLocation().x+5+e.x;
int locateY = composite1.getLocation().y + button.getSize().y+cBanner.getSize().y+e.y;
menu.setLocation(getShell().getLocation().x + locateX, getShell().getLocation().y + locateY);
menu.setVisible(true);
}
}
});
/*nftBackPanel.composite.addListener(SWT.MenuDetect,new Listener(){
public void handleEvent(Event event) {
// locateX = composite1.getLocation().x+5;
// locateY = composite1.getLocation().y + button.getSize().y+cBanner.getSize().y;
menu.setLocation(getShell().getLocation().x + locateX, getShell().getLocation().y + locateY);
menu.setVisible(true);
}
});*/
cLabel1 = new CLabel(composite2, SWT.NONE);
cLabel1.setText("NetSender Version:" + main.NetTransfer.version + " Create by:Tony D.W Xia ");
// cLabel1.setBackground(SAPWindowFrame.BACKGROUNDCOLOR);
cLabel1.setLayoutData(gridData4);
}
/**
* This method initializes cBanner
*
*/
private void createCBanner() {
GridData gridData2 = new org.eclipse.swt.layout.GridData();
gridData2.grabExcessHorizontalSpace = true;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -