📄 transfilepanel.java
字号:
package daen.graduate.trans;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JProgressBar;
import java.awt.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class TransFilePanel extends JPanel {
int status;
boolean fileSender = false;
boolean isClosed = false;
String fileName;
boolean isConfirm = false;
boolean isCanneled=false;
long transFileLength=0;
//添加的变量--------------------
JFrame frm;
int flag;
File f;
JProgressBar jpgbFileTrans = new JProgressBar();
JButton jbtnOK = new JButton();
JButton jbtnCannel = new JButton();
JTextArea jtaFileTransStatus = new JTextArea();
public TransFilePanel(boolean fileSender) {
this.fileSender = fileSender;
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setLayout(null);
jpgbFileTrans.setBounds(new Rectangle(19, 104, 209, 18));
jbtnOK.setBackground(new Color(236, 247, 255));
jbtnOK.setBounds(new Rectangle(233, 101, 67, 25));
jbtnOK.setText("接收");
jbtnOK.addActionListener(new TransFilePanel_jbtnOK_actionAdapter(this));
jbtnCannel.setBackground(new Color(236, 247, 255));
jbtnCannel.setBounds(new Rectangle(306, 101, 67, 25));
jbtnCannel.setText("取消");
jbtnCannel.addActionListener(new TransFilePanel_jbtnCannel_actionAdapter(this));
this.setBackground(new Color(206, 227, 249));
this.setBorder(BorderFactory.createEtchedBorder());
jtaFileTransStatus.setBackground(new Color(206, 227, 249));
jtaFileTransStatus.setDisabledTextColor(Color.orange);
jtaFileTransStatus.setText("");
jtaFileTransStatus.setWrapStyleWord(true);
jtaFileTransStatus.setBounds(new Rectangle(20, 33, 345, 55));
this.add(jpgbFileTrans);
this.add(jbtnOK);
this.add(jbtnCannel);
this.add(jtaFileTransStatus);
jpgbFileTrans.setVisible(false);
jbtnOK.setVisible(false);
}
public void setStatus(int status) {
this.status = status;
switch (status) {
case SocketThread.FILE_TRANS_STATUS_FILENAME: {
jbtnOK.setVisible(false);
jbtnCannel.setVisible(false);
break;
}
case SocketThread.FILE_TRANS_STATUS_WAITFORCONFIRM: {
if (fileSender) {
jbtnOK.setVisible(false);
jbtnCannel.setVisible(true);
jpgbFileTrans.setVisible(false);
} else {
jbtnOK.setVisible(true);
jbtnCannel.setVisible(true);
jpgbFileTrans.setVisible(false);
}
break;
}
case SocketThread.FILE_TRANS_STATUS_CONTEXT: {
jbtnOK.setVisible(false);
jbtnCannel.setVisible(true);
jpgbFileTrans.setVisible(true);
break;
}
case SocketThread.FILE_TRANS_STATUS_SUCCESS:
case SocketThread.FILE_TRANS_STATUS_FAIL: {
jbtnCannel.setText("关闭");
jbtnOK.setVisible(false);
jbtnCannel.setVisible(true);
jpgbFileTrans.setVisible(false);
break;
}
}
}
public int getStatus() {
return status;
}
public void jbtnOK_actionPerformed(ActionEvent e){
/* JFileChooser jfc = new JFileChooser();
jfc.setFileSelectionMode( JFileChooser.CANCEL_OPTION);
File aFile;
jfc.showSaveDialog(this);
aFile = jfc.getSelectedFile();
if (aFile != null) {
fileName = jfc.getSelectedFile().getAbsolutePath();
//fileName = aFile.getName();
isConfirm = true;
}*/
//设置保存文件对话框的标题
JFileChooser fc = new JFileChooser();
fc.setDialogTitle("保存文件");
//这里将显示保存文件的对话框
try{
flag=fc.showSaveDialog(frm);
fc.setFileSelectionMode(JFileChooser.APPROVE_OPTION);
}
catch(HeadlessException he){
System.out.println("保存文件出错!");
}
//如果按下确定按钮,则获得该文件。
if(flag==JFileChooser.APPROVE_OPTION)
{
//获得你输入要保存的文件
f=fc.getSelectedFile();
//获得文件名
fileName=fc.getName(f);
//也可以使用fileName=f.getName();
try
{
FileWriter fw=new FileWriter(f);
fw.write("111111");
fw.close();
}
catch (IOException ef)
{}
}
}
public void jbtnCannel_actionPerformed(ActionEvent e) {
if(jbtnCannel.getText().equals("取消")){
isCanneled=true;
}
else{
isClosed=true;
}
}
}
class TransFilePanel_jbtnCannel_actionAdapter implements ActionListener {
private TransFilePanel adaptee;
TransFilePanel_jbtnCannel_actionAdapter(TransFilePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jbtnCannel_actionPerformed(e);
}
}
class TransFilePanel_jbtnOK_actionAdapter implements ActionListener {
private TransFilePanel adaptee;
TransFilePanel_jbtnOK_actionAdapter(TransFilePanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jbtnOK_actionPerformed(e);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -