Java 1. 点击read按钮,则读入指定txt文档中的内容,显示在第一个文本域(左边文本域中)。 2. 点击sort按钮,则将文本域中以“DBa”和““RRi”开头的字符串提取出来,放到右边的文本域中。 3. 点击save按钮,则将处理过后右边的文本保存到一个新的txt文档中。 请用Java图形界面的知识,编写以上软件。
时间: 2024-03-14 08:44:53 浏览: 52
以下是一个基本的Java GUI程序,实现了您提到的三个功能:
```java
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class TextProcessorGUI extends JFrame implements ActionListener {
private JTextArea leftTextArea;
private JTextArea rightTextArea;
public TextProcessorGUI() {
// 设置窗口标题
setTitle("文本处理程序");
// 创建文本域
leftTextArea = new JTextArea();
rightTextArea = new JTextArea();
// 创建按钮
JButton readButton = new JButton("读取");
readButton.addActionListener(this);
JButton sortButton = new JButton("排序");
sortButton.addActionListener(this);
JButton saveButton = new JButton("保存");
saveButton.addActionListener(this);
// 创建面板
JPanel panel = new JPanel(new GridLayout(1, 3));
panel.add(readButton);
panel.add(sortButton);
panel.add(saveButton);
// 将控件添加到窗口中
Container contentPane = getContentPane();
contentPane.add(leftTextArea, BorderLayout.WEST);
contentPane.add(rightTextArea, BorderLayout.EAST);
contentPane.add(panel, BorderLayout.SOUTH);
// 设置窗口大小
setSize(500, 400);
// 显示窗口
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("读取")) {
// 读取指定txt文档中的内容
try {
BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
String line;
leftTextArea.setText("");
while ((line = reader.readLine()) != null) {
leftTextArea.append(line + "\n");
}
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
} else if (e.getActionCommand().equals("排序")) {
// 将以“DBa”和“RRi”开头的字符串提取出来,放到右边的文本域中
String[] lines = leftTextArea.getText().split("\n");
rightTextArea.setText("");
for (String line : lines) {
if (line.startsWith("DBa") || line.startsWith("RRi")) {
rightTextArea.append(line + "\n");
}
}
} else if (e.getActionCommand().equals("保存")) {
// 将处理过后右边的文本保存到一个新的txt文档中
try {
BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"));
writer.write(rightTextArea.getText());
writer.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
public static void main(String[] args) {
new TextProcessorGUI();
}
}
```
该程序使用了Java的Swing库,创建了一个包含两个文本域和三个按钮的窗口。单击“读取”按钮将读取指定的txt文档中的内容,并在左侧文本域中显示。单击“排序”按钮将提取以“DBa”和“RRi”开头的字符串,并在右侧文本域中显示。单击“保存”按钮将保存右侧文本域中的内容到一个新的txt文档中。
阅读全文