创建一个窗口应用,输入文件全路径,可以读入文件内容,显示在界面上,对界面中 文本内容进行修改后,点击保存按钮可以将文本内容保存到文件。 提示:使用 JFileChooser 控件,并对该控件设置 ActionListener,获取已选择文件 getSelectedFile()。将读取的文本内容,显示在 JTextArea 控件上
时间: 2024-03-25 18:41:20 浏览: 117
易语言超级列表框导入TXT内容的方法
5星 · 资源好评率100%
好的,这是一个比较常见的需求,我可以给你提供一些代码示例,你可以参考一下。代码如下:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class FileEditor extends JFrame implements ActionListener {
private JTextArea textArea;
private JButton saveButton;
public FileEditor() {
super("File Editor");
// 创建一个菜单栏
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
// 创建一个菜单
JMenu fileMenu = new JMenu("File");
menuBar.add(fileMenu);
// 创建“Open”菜单项
JMenuItem openMenuItem = new JMenuItem("Open");
openMenuItem.addActionListener(this); // 为菜单项添加事件监听器
fileMenu.add(openMenuItem);
// 创建一个文本区域
textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
getContentPane().add(scrollPane, BorderLayout.CENTER);
// 创建一个保存按钮
saveButton = new JButton("Save");
saveButton.addActionListener(this); // 为按钮添加事件监听器
getContentPane().add(saveButton, BorderLayout.SOUTH);
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent event) {
Object source = event.getSource(); // 获取事件源
if (source instanceof JMenuItem) { // 如果是菜单项
JMenuItem menuItem = (JMenuItem) source;
if (menuItem.getText().equals("Open")) { // 如果是“Open”菜单项
JFileChooser fileChooser = new JFileChooser(); // 创建一个文件选择器
int result = fileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) { // 用户选择了文件
File file = fileChooser.getSelectedFile(); // 获取选择的文件
try {
FileReader reader = new FileReader(file);
BufferedReader br = new BufferedReader(reader);
String line;
while ((line = br.readLine()) != null) { // 逐行读取文件内容
textArea.append(line + "\n"); // 将内容添加到文本区域中
}
br.close();
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
} else if (source instanceof JButton) { // 如果是按钮
try {
FileWriter writer = new FileWriter("test.txt");
writer.write(textArea.getText()); // 将文本区域中的内容写入文件
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public static void main(String[] args) {
new FileEditor();
}
}
```
这个程序使用了 `JFileChooser` 控件和 `JTextArea` 控件,可以让用户选择文件并读取文件内容,还可以将修改后的内容保存到文件中。你可以根据自己的需要进行修改和扩展。
阅读全文