java 记事本界面_Java图形界面开发之简易记事本
时间: 2023-10-05 18:04:21 浏览: 65
好的,我了解了你的问题。下面是关于 Java 图形界面开发的简易记事本的界面的代码:
```java
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
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 java.io.IOException;
import javax.swing.JButton;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.UIManager;
import javax.swing.filechooser.FileNameExtensionFilter;
public class SimpleNotePad extends JFrame {
private JTextArea textArea;
private JButton openButton, saveButton, clearButton;
public SimpleNotePad() {
setTitle("简易记事本");
setSize(600, 500);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
initUI();
}
private void initUI() {
JPanel topPanel = new JPanel();
openButton = new JButton("打开");
saveButton = new JButton("保存");
clearButton = new JButton("清空");
topPanel.add(openButton);
topPanel.add(saveButton);
topPanel.add(clearButton);
textArea = new JTextArea();
textArea.setFont(new Font("宋体", Font.PLAIN, 16));
JScrollPane scrollPane = new JScrollPane(textArea);
scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
add(topPanel, BorderLayout.NORTH);
add(scrollPane, BorderLayout.CENTER);
openButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("文本文件", "txt");
fileChooser.setFileFilter(filter);
int result = fileChooser.showOpenDialog(SimpleNotePad.this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
readTextFile(file);
}
}
});
saveButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
FileNameExtensionFilter filter = new FileNameExtensionFilter("文本文件", "txt");
fileChooser.setFileFilter(filter);
int result = fileChooser.showSaveDialog(SimpleNotePad.this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
writeTextFile(file);
}
}
});
clearButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
textArea.setText("");
}
});
}
private void readTextFile(File file) {
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
String line;
while ((line = reader.readLine()) != null) {
textArea.append(line);
textArea.append("\n");
}
} catch (IOException ex) {
JOptionPane.showMessageDialog(this, "打开文件失败!");
}
}
private void writeTextFile(File file) {
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
writer.write(textArea.getText());
} catch (IOException ex) {
JOptionPane.showMessageDialog(this, "保存文件失败!");
}
}
public static void main(String[] args) {
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
SimpleNotePad notePad = new SimpleNotePad();
notePad.setVisible(true);
}
}
```
这个记事本界面非常简单,只有三个按钮:打开、保存和清空。你可以根据需要进行修改和扩展。