用Java图形界面的知识,编写以下软件:点击read按钮,则读入指定txt文档中的内容,显示在左边文本域中,点击sort按钮,则将文本域中以“DBa”开头的字符串提取出来,放到右边的文本域中,点击save按钮,则将处理过后右边的文本保存到一个新的txt文档中
时间: 2024-03-01 20:54:04 浏览: 93
好的,我可以帮您解答这个问题。
首先,您需要使用Java的图形界面库(如Swing或JavaFX)创建一个窗口,并向其添加三个按钮和两个文本域。代码示例如下:
```
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class MyGUI extends JFrame implements ActionListener {
private JTextArea leftTextArea;
private JTextArea rightTextArea;
public MyGUI() {
super("My Application");
setSize(400, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new GridLayout(1, 3));
JButton readButton = new JButton("Read");
readButton.addActionListener(this);
panel.add(readButton);
JButton sortButton = new JButton("Sort");
sortButton.addActionListener(this);
panel.add(sortButton);
JButton saveButton = new JButton("Save");
saveButton.addActionListener(this);
panel.add(saveButton);
leftTextArea = new JTextArea();
rightTextArea = new JTextArea();
JScrollPane leftScrollPane = new JScrollPane(leftTextArea);
JScrollPane rightScrollPane = new JScrollPane(rightTextArea);
getContentPane().add(panel, BorderLayout.NORTH);
getContentPane().add(leftScrollPane, BorderLayout.WEST);
getContentPane().add(rightScrollPane, BorderLayout.EAST);
}
public void actionPerformed(ActionEvent e) {
if (e.getActionCommand().equals("Read")) {
try {
BufferedReader reader = new BufferedReader(new FileReader("input.txt"));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
leftTextArea.setText(sb.toString());
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
} else if (e.getActionCommand().equals("Sort")) {
String[] lines = leftTextArea.getText().split("\n");
StringBuilder sb = new StringBuilder();
for (String line : lines) {
if (line.startsWith("DBa")) {
sb.append(line).append("\n");
}
}
rightTextArea.setText(sb.toString());
} else if (e.getActionCommand().equals("Save")) {
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) {
MyGUI gui = new MyGUI();
gui.setVisible(true);
}
}
```
该代码创建了一个带有三个按钮和两个文本域的窗口。单击“Read”按钮将读取名为“input.txt”的文件并在左侧文本区域中显示其内容。单击“Sort”按钮将提取以“DBa”开头的字符串并将其放置在右侧文本区域中。单击“Save”按钮将保存右侧文本区域中的内容到名为“output.txt”的新文件中。
请注意,此代码仅提供了基本的UI和功能,您可能需要根据自己的需要进行修改和扩展。
阅读全文