jframe实现简易文件编辑器功能
时间: 2024-04-30 12:05:09 浏览: 13
以下是使用 Java Swing 中的 JFrame 实现简易文件编辑器的示例代码:
```java
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.filechooser.FileNameExtensionFilter;
public class SimpleEditor extends JFrame implements ActionListener {
private JTextArea textArea;
private JButton openButton, saveButton;
public SimpleEditor() {
// 设置窗口的标题和大小
setTitle("Simple Editor");
setSize(500, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
// 创建文本区域并添加到滚动面板中
textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
getContentPane().add(scrollPane, BorderLayout.CENTER);
// 创建按钮并添加到面板中
openButton = new JButton("Open");
openButton.addActionListener(this);
saveButton = new JButton("Save");
saveButton.addActionListener(this);
JPanel buttonPanel = new JPanel();
buttonPanel.add(openButton);
buttonPanel.add(saveButton);
getContentPane().add(buttonPanel, BorderLayout.NORTH);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == openButton) {
// 创建文件选择器并设置过滤器
JFileChooser fileChooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("Text Files", "txt");
fileChooser.setFileFilter(filter);
// 显示文件选择器并处理用户选择的文件
int result = fileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line;
while ((line = reader.readLine()) != null) {
textArea.append(line + "\n");
}
reader.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
} else if (e.getSource() == saveButton) {
// 创建文件选择器并设置过滤器
JFileChooser fileChooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("Text Files", "txt");
fileChooser.setFileFilter(filter);
// 显示文件选择器并处理用户选择的文件
int result = fileChooser.showSaveDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(file));
writer.write(textArea.getText());
writer.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
}
public static void main(String[] args) {
// 创建并显示简易文件编辑器窗口
SimpleEditor editor = new SimpleEditor();
editor.setVisible(true);
}
}
```
该程序创建了一个窗口,其中包括一个文本区域和两个按钮,用于打开和保存文件。当用户单击“Open”按钮时,程序会显示一个文件选择器,用户可以选择要打开的文件。程序会将打开的文件中的文本显示在文本区域中。当用户单击“Save”按钮时,程序会显示一个文件选择器,用户可以选择要保存的文件。程序会将文本区域中的文本保存到所选的文件中。