帮我用JAVA写一个GUI界面实现文件拷贝
时间: 2024-02-27 08:56:05 浏览: 69
好的,下面是一个简单的Java代码示例,实现了文件拷贝的GUI界面。
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class FileCopyGUI extends JFrame implements ActionListener {
private JLabel srcLabel, destLabel;
private JTextField srcField, destField;
private JButton copyButton;
public FileCopyGUI() {
// 设置窗口标题和大小
setTitle("文件拷贝");
setSize(400, 200);
// 创建标签和文本框
srcLabel = new JLabel("源文件");
srcField = new JTextField();
destLabel = new JLabel("目标文件");
destField = new JTextField();
// 创建拷贝按钮
copyButton = new JButton("拷贝");
copyButton.addActionListener(this);
// 创建面板并添加组件
JPanel panel = new JPanel(new GridLayout(3, 2));
panel.add(srcLabel);
panel.add(srcField);
panel.add(destLabel);
panel.add(destField);
panel.add(copyButton);
// 将面板添加到窗口中
add(panel);
// 设置窗口可见性和关闭操作
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == copyButton) {
String srcPath = srcField.getText();
String destPath = destField.getText();
File srcFile = new File(srcPath);
File destFile = new File(destPath);
try {
copyFile(srcFile, destFile);
JOptionPane.showMessageDialog(this, "拷贝成功!");
} catch (IOException ex) {
JOptionPane.showMessageDialog(this, "拷贝失败:" + ex.getMessage());
}
}
}
private void copyFile(File srcFile, File destFile) throws IOException {
InputStream in = null;
OutputStream out = null;
try {
in = new FileInputStream(srcFile);
out = new FileOutputStream(destFile);
byte[] buffer = new byte[1024];
int length;
while ((length = in.read(buffer)) > 0) {
out.write(buffer, 0, length);
}
} finally {
if (in != null) {
in.close();
}
if (out != null) {
out.close();
}
}
}
public static void main(String[] args) {
new FileCopyGUI();
}
}
```
这个程序使用了Java Swing框架来实现GUI界面,包括标签、文本框和按钮等。当用户点击拷贝按钮时,程序会调用copyFile()方法来进行文件拷贝操作。如果拷贝成功,会弹出一个消息框提示用户,否则会显示错误信息。
您可以根据自己的需求和喜好进行修改和完善。
阅读全文