Java 窗口左面是一个read按钮,接着是一个文本域带滚动条,然后是sort按钮,接着还是一个文本域带滚动条,最右面是save按钮1. 点击read按钮,则读入指定txt文档中的内容,显示在第一个文本域(左边文本域中)。 2. 点击sort按钮,则将文本域中以“DBa”和““RRi”开头的字符串提取出来,放到右边的文本域中。 3. 点击save按钮,则将处理过后右边的文本保存到一个新的txt文档中。 请用Java图形界面的知识,编写以上软件。
时间: 2024-03-14 22:44:59 浏览: 62
设置修改滚动条-asp.net课件
以下是一个更加完整的Java GUI程序,实现了您提到的三个功能:
```java
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class TextProcessorGUI extends JFrame implements ActionListener {
private JTextArea leftTextArea;
private JTextArea rightTextArea;
public TextProcessorGUI() {
// 设置窗口标题
setTitle("文本处理程序");
// 创建左侧文本域和滚动条
leftTextArea = new JTextArea();
JScrollPane leftScrollPane = new JScrollPane(leftTextArea);
// 创建右侧文本域和滚动条
rightTextArea = new JTextArea();
JScrollPane rightScrollPane = new JScrollPane(rightTextArea);
// 创建按钮
JButton readButton = new JButton("读取");
readButton.addActionListener(this);
JButton sortButton = new JButton("排序");
sortButton.addActionListener(this);
JButton saveButton = new JButton("保存");
saveButton.addActionListener(this);
// 将控件添加到窗口中
Container contentPane = getContentPane();
JPanel panel = new JPanel();
panel.add(readButton);
panel.add(sortButton);
panel.add(saveButton);
contentPane.add(leftScrollPane, BorderLayout.WEST);
contentPane.add(rightScrollPane, BorderLayout.EAST);
contentPane.add(panel, BorderLayout.SOUTH);
// 设置窗口大小
setSize(600, 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文档中。
阅读全文