javaswing记事本
时间: 2023-07-31 12:05:17 浏览: 98
Java Swing 是一个用于 Java 编程语言的 GUI 工具包,它提供了丰富的界面组件和布局管理器,可以用于创建各种类型的桌面应用程序,如记事本、音乐播放器等。下面给出一个简单的 Java Swing 实现的记事本示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class JNotePad extends JFrame implements ActionListener {
private JTextArea textArea;
public JNotePad() {
super("JNotePad");
// 创建菜单栏
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
// 创建文件菜单
JMenu fileMenu = new JMenu("文件");
menuBar.add(fileMenu);
// 创建文件菜单项
JMenuItem newMenuItem = new JMenuItem("新建");
newMenuItem.addActionListener(this);
fileMenu.add(newMenuItem);
JMenuItem openMenuItem = new JMenuItem("打开");
openMenuItem.addActionListener(this);
fileMenu.add(openMenuItem);
JMenuItem saveMenuItem = new JMenuItem("保存");
saveMenuItem.addActionListener(this);
fileMenu.add(saveMenuItem);
JMenuItem exitMenuItem = new JMenuItem("退出");
exitMenuItem.addActionListener(this);
fileMenu.add(exitMenuItem);
// 创建文本区域
textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane);
// 设置窗口大小和关闭方式
setSize(500, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (command.equals("新建")) {
textArea.setText("");
} else if (command.equals("打开")) {
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 bufferedReader = new BufferedReader(reader);
String line;
while ((line = bufferedReader.readLine()) != null) {
textArea.append(line + "\n");
}
reader.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (command.equals("保存")) {
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showSaveDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
FileWriter writer = new FileWriter(file);
writer.write(textArea.getText());
writer.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
} else if (command.equals("退出")) {
System.exit(0);
}
}
public static void main(String[] args) {
new JNotePad();
}
}
```
该程序实现了一个简单的记事本功能,包括新建、打开、保存和退出等功能。其中,使用了 JTextArea 组件来显示文本内容,使用了 JFileChooser 组件来实现文件的打开和保存功能。程序的菜单栏和菜单项通过 JMenuBar、JMenu 和 JMenuItem 来实现。
在实现一个记事本程序时,还需要考虑如何实现编辑功能,如复制、粘贴、撤销、重做等功能。此处只给出了简单的文件操作示例,读者可以自行实现其他功能。
阅读全文