java swing组件文本编辑器
时间: 2024-01-01 17:05:01 浏览: 140
以下是一个使用Java Swing组件开发的简单文本编辑器的示例:
```java
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
public class TextEditor extends JFrame {
private JTextArea textArea;
private JMenuBar menuBar;
private JMenu fileMenu;
private JMenuItem openMenuItem;
private JMenuItem saveMenuItem;
private JMenuItem exitMenuItem;
public TextEditor() {
setTitle("Java Swing Text Editor");
setSize(500, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
textArea = new JTextArea();
JScrollPane scrollPane = new JScrollPane(textArea);
add(scrollPane, BorderLayout.CENTER);
menuBar = new JMenuBar();
fileMenu = new JMenu("File");
openMenuItem = new JMenuItem("Open");
saveMenuItem = new JMenuItem("Save");
exitMenuItem = new JMenuItem("Exit");
openMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
int option = fileChooser.showOpenDialog(TextEditor.this);
if (option == JFileChooser.APPROVE_OPTION) {
File file = fileChooser.getSelectedFile();
try {
BufferedReader reader = new BufferedReader(new FileReader(file));
StringBuilder sb = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
reader.close();
textArea.setText(sb.toString());
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
});
saveMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
JFileChooser fileChooser = new JFileChooser();
int option = fileChooser.showSaveDialog(TextEditor.this);
if (option == 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();
}
}
}
});
exitMenuItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
fileMenu.add(openMenuItem);
fileMenu.add(saveMenuItem);
fileMenu.add(exitMenuItem);
menuBar.add(fileMenu);
setJMenuBar(menuBar);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
TextEditor textEditor = new TextEditor();
textEditor.setVisible(true);
}
});
}
}
```
这个文本编辑器使用了Java Swing的各种组件,包括JFrame、JTextArea、JScrollPane、JMenuBar、JMenu和JMenuItem等。它具有菜单栏,可以打开和保存文件,并且可以编辑文本内容。
阅读全文
相关推荐














