java swing 记事本
时间: 2023-09-09 12:13:29 浏览: 79
好的,我可以为您提供一些关于使用Java Swing编写记事本的指导。
首先,您需要创建一个包含文本区域的框架。您可以使用JFrame类来创建框架,JTextArea类来创建文本区域。
接下来,您需要添加菜单栏和工具栏。您可以使用JMenuBar类来创建菜单栏,JToolBar类来创建工具栏。在菜单栏和工具栏中添加文件菜单和编辑菜单,以便用户可以打开、保存和编辑文本文件。
然后,您需要添加事件监听器来处理用户的操作。例如,当用户单击菜单栏或工具栏中的“打开”按钮时,您需要打开文件选择器并允许用户选择要打开的文件。当用户编辑文本时,您需要检测到文本区域中的更改并保存更改。
最后,您需要将所有组件放在一起,并设置框架的大小和位置。您可以使用布局管理器来帮助您组织组件。
这只是一个简单的指南,您可以根据需要进行更改和扩展。您可以通过使用Java Swing文档和教程来深入了解如何编写记事本应用程序。
相关问题
javaswing记事本
Java Swing 是一种用于创建 GUI 应用程序的工具包,包含了许多组件和布局管理器,可以帮助我们快速构建复杂的界面。下面是一个简单的 Java Swing 记事本的示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class Notepad extends JFrame implements ActionListener {
private JTextArea textArea = new JTextArea();
public Notepad() {
setTitle("Java Notepad");
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
// 创建菜单栏
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("文件");
JMenuItem openItem = new JMenuItem("打开");
JMenuItem saveItem = new JMenuItem("保存");
JMenuItem exitItem = new JMenuItem("退出");
// 添加菜单项事件监听器
openItem.addActionListener(this);
saveItem.addActionListener(this);
exitItem.addActionListener(this);
// 将菜单项添加到菜单栏
fileMenu.add(openItem);
fileMenu.add(saveItem);
fileMenu.addSeparator();
fileMenu.add(exitItem);
menuBar.add(fileMenu);
// 将菜单栏添加到窗口
setJMenuBar(menuBar);
// 创建滚动面板,并添加文本区域
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane, BorderLayout.CENTER);
}
// 处理菜单项事件
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
if (command.equals("打开")) {
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
String line = null;
while ((line = reader.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 {
BufferedWriter writer = new BufferedWriter(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) {
Notepad notepad = new Notepad();
notepad.setVisible(true);
}
}
```
代码中创建了一个名为 Notepad 的类,继承自 JFrame 类,实现了 ActionListener 接口。在类的构造方法中,创建了一个文本区域 JTextArea 和一个滚动面板 JScrollPane,并将文本区域添加到滚动面板中。然后创建了一个菜单栏 JMenuBar 和一个文件菜单 JMenu,并添加了打开、保存和退出菜单项。在 actionPerformed 方法中,处理了菜单项的事件,实现了打开、保存和退出功能。最后在 main 方法中创建了 Notepad 对象,并将其显示出来。
简易记事本java swing
好的,我可以为您提供一个简易记事本的Java Swing实现的代码框架,您可以根据您的需求进行修改和扩展。
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
public class SimpleNotepad extends JFrame implements ActionListener {
private JTextArea textArea = new JTextArea();
private JFileChooser fileChooser = new JFileChooser();
public SimpleNotepad() {
setTitle("Simple Notepad");
setSize(400, 300);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("File");
JMenuItem newMenuItem = new JMenuItem("New");
JMenuItem openMenuItem = new JMenuItem("Open");
JMenuItem saveMenuItem = new JMenuItem("Save");
JMenuItem exitMenuItem = new JMenuItem("Exit");
newMenuItem.addActionListener(this);
openMenuItem.addActionListener(this);
saveMenuItem.addActionListener(this);
exitMenuItem.addActionListener(this);
fileMenu.add(newMenuItem);
fileMenu.add(openMenuItem);
fileMenu.add(saveMenuItem);
fileMenu.addSeparator();
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
setJMenuBar(menuBar);
JScrollPane scrollPane = new JScrollPane(textArea);
getContentPane().add(scrollPane);
setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
String command = e.getActionCommand();
switch (command) {
case "New":
textArea.setText("");
break;
case "Open":
int returnVal = fileChooser.showOpenDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
StringBuffer sb = new StringBuffer();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line);
sb.append("\n");
}
textArea.setText(sb.toString());
} catch (IOException ex) {
ex.printStackTrace();
}
}
break;
case "Save":
returnVal = fileChooser.showSaveDialog(this);
if (returnVal == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) {
writer.write(textArea.getText());
} catch (IOException ex) {
ex.printStackTrace();
}
}
break;
case "Exit":
System.exit(0);
break;
}
}
public static void main(String[] args) {
new SimpleNotepad();
}
}
```
这个实现只是一个简单的框架,只提供了基本的打开、保存和新建功能。您可以自由地添加更多的功能,例如剪切、复制、粘贴、查找和替换等。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)