/** */
/**
* 选择文件对话框
*/
package filetrans;
import java.awt. * ;
import java.awt.event. * ;
import javax.swing. * ;
import java.io. * ;
import transSocket. * ;
import javax.swing.UIManager;
import javax.swing.border.TitledBorder;
public class FileTransFrame extends JFrame ... {
private int height=Toolkit.getDefaultToolkit().getScreenSize().height;
private int width=Toolkit.getDefaultToolkit().getScreenSize().width;
private Container contentPane;
private TitledBorder titledBorder1;
private JButton sendButton;
private JButton selectButton;
private JTextField fileField;
private JButton cancelButton;
private JLabel fileLabel;
private JFrame frame=this;
private String filePath;
private String desIP;
public FileTransFrame(String desIP)...{
this.desIP=desIP;
jbInit();
}
/** *//**
* 初始化
*/
public void jbInit()...{
filePath="";
titledBorder1=new TitledBorder("");
sendButton=new JButton("发送");
selectButton=new JButton("选择");
cancelButton=new JButton("清空");
fileField=new JTextField(14);
fileLabel=new JLabel("文件位置:");
this.contentPane=this.getContentPane();
this.contentPane.setLayout(null);
this.contentPane.setBackground(Color.white);
fileLabel.setBorder(titledBorder1);
fileLabel.setBounds(new Rectangle(30,90,70,30));
fileField.setBorder(titledBorder1);
fileField.setBounds(new Rectangle(100,90,160,30));
selectButton.setBorder(titledBorder1);
selectButton.setBounds(new Rectangle(280,90,70,30));
/** *//**
* 选择文件按钮处理事件
* 调用FileChooser类及方法
*/
selectButton.addActionListener(new ActionListener()...{
public void actionPerformed(ActionEvent e1)...{
try...{
FileChooser fileChooser=new FileChooser(frame);
fileChooser.setSelectFileChooser();
int i=fileChooser.getSelectButton();
if(i==JFileChooser.APPROVE_OPTION)...{
String filePath=fileChooser.getSelectFile();
SetFilefield(filePath);
}
else if(i==JFileChooser.CANCEL_OPTION)
SetFilefield("");
else SetFilefield("");
}
catch(Exception e2)...{
e2.printStackTrace();
}
}
});
sendButton.setBorder(titledBorder1);
sendButton.setBounds(new Rectangle(100,140,70,30));
/** *//**
* 发送按钮处理
*/
sendButton.addActionListener(new ActionListener()...{
public void actionPerformed(ActionEvent e)...{
String path1=getFilefield();
System.out.println(path1);
TransClientSocket clientSocket=new TransClientSocket(path1,desIP);
clientSocket.start();
frame.dispose();
}
});
cancelButton.setBorder(titledBorder1);
cancelButton.setBounds(new Rectangle(200,140,70,30));
/** *//**
* 取消按钮处理,清空选择的文件路径
*/
cancelButton.addActionListener(new ActionListener()...{
public void actionPerformed(ActionEvent e3)...{
SetFilefield("");
}
});
this.contentPane.add(fileLabel);
this.contentPane.add(fileField);
this.contentPane.add(selectButton);
this.contentPane.add(sendButton);
this.contentPane.add(cancelButton);
Image image=Toolkit.getDefaultToolkit().createImage("picture/goo.gif");
this.setIconImage(image);
this.setTitle("文件传送");
this.setLocation(width/4+50,height/4+50);
this.setSize(400,300);
this.setVisible(true);
this.setResizable(false);
}
/** *//**
* 设定/获得文件路径
*/
public void SetFilefield(String st)...{
this.filePath=st;
this.fileField.setText(filePath);
}
public String getFilefield()...{
return filePath;
}
}
* 选择文件对话框
*/
package filetrans;
import java.awt. * ;
import java.awt.event. * ;
import javax.swing. * ;
import java.io. * ;
import transSocket. * ;
import javax.swing.UIManager;
import javax.swing.border.TitledBorder;
public class FileTransFrame extends JFrame ... {
private int height=Toolkit.getDefaultToolkit().getScreenSize().height;
private int width=Toolkit.getDefaultToolkit().getScreenSize().width;
private Container contentPane;
private TitledBorder titledBorder1;
private JButton sendButton;
private JButton selectButton;
private JTextField fileField;
private JButton cancelButton;
private JLabel fileLabel;
private JFrame frame=this;
private String filePath;
private String desIP;
public FileTransFrame(String desIP)...{
this.desIP=desIP;
jbInit();
}
/** *//**
* 初始化
*/
public void jbInit()...{
filePath="";
titledBorder1=new TitledBorder("");
sendButton=new JButton("发送");
selectButton=new JButton("选择");
cancelButton=new JButton("清空");
fileField=new JTextField(14);
fileLabel=new JLabel("文件位置:");
this.contentPane=this.getContentPane();
this.contentPane.setLayout(null);
this.contentPane.setBackground(Color.white);
fileLabel.setBorder(titledBorder1);
fileLabel.setBounds(new Rectangle(30,90,70,30));
fileField.setBorder(titledBorder1);
fileField.setBounds(new Rectangle(100,90,160,30));
selectButton.setBorder(titledBorder1);
selectButton.setBounds(new Rectangle(280,90,70,30));
/** *//**
* 选择文件按钮处理事件
* 调用FileChooser类及方法
*/
selectButton.addActionListener(new ActionListener()...{
public void actionPerformed(ActionEvent e1)...{
try...{
FileChooser fileChooser=new FileChooser(frame);
fileChooser.setSelectFileChooser();
int i=fileChooser.getSelectButton();
if(i==JFileChooser.APPROVE_OPTION)...{
String filePath=fileChooser.getSelectFile();
SetFilefield(filePath);
}
else if(i==JFileChooser.CANCEL_OPTION)
SetFilefield("");
else SetFilefield("");
}
catch(Exception e2)...{
e2.printStackTrace();
}
}
});
sendButton.setBorder(titledBorder1);
sendButton.setBounds(new Rectangle(100,140,70,30));
/** *//**
* 发送按钮处理
*/
sendButton.addActionListener(new ActionListener()...{
public void actionPerformed(ActionEvent e)...{
String path1=getFilefield();
System.out.println(path1);
TransClientSocket clientSocket=new TransClientSocket(path1,desIP);
clientSocket.start();
frame.dispose();
}
});
cancelButton.setBorder(titledBorder1);
cancelButton.setBounds(new Rectangle(200,140,70,30));
/** *//**
* 取消按钮处理,清空选择的文件路径
*/
cancelButton.addActionListener(new ActionListener()...{
public void actionPerformed(ActionEvent e3)...{
SetFilefield("");
}
});
this.contentPane.add(fileLabel);
this.contentPane.add(fileField);
this.contentPane.add(selectButton);
this.contentPane.add(sendButton);
this.contentPane.add(cancelButton);
Image image=Toolkit.getDefaultToolkit().createImage("picture/goo.gif");
this.setIconImage(image);
this.setTitle("文件传送");
this.setLocation(width/4+50,height/4+50);
this.setSize(400,300);
this.setVisible(true);
this.setResizable(false);
}
/** *//**
* 设定/获得文件路径
*/
public void SetFilefield(String st)...{
this.filePath=st;
this.fileField.setText(filePath);
}
public String getFilefield()...{
return filePath;
}
}