Java jframe实现简易文件编辑器功能,共有两个下拉式菜单,一个包含新建,打开文件和退出三个菜单项,另一个包含剪切和复制共两个菜单项。选择退出菜单项时,退出程序;选择剪切菜单项时,剪切变为不可选而复制可选;选择复制菜单项时,复制变为不可选而剪切可选。
时间: 2024-05-03 16:19:16 浏览: 16
下面是一个实现简易文件编辑器功能的Java JFrame代码,包含两个下拉式菜单,一个包含新建,打开文件和退出三个菜单项,另一个包含剪切和复制共两个菜单项。选择退出菜单项时,退出程序;选择剪切菜单项时,剪切变为不可选而复制可选;选择复制菜单项时,复制变为不可选而剪切可选。
```
import javax.swing.*;
import java.awt.event.*;
public class SimpleTextEditor extends JFrame implements ActionListener {
private JMenuBar menuBar;
private JMenu fileMenu, editMenu;
private JMenuItem newItem, openItem, exitItem, cutItem, copyItem;
private JTextArea textArea;
public SimpleTextEditor() {
setTitle("Simple Text Editor");
setSize(500, 500);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 创建菜单栏
menuBar = new JMenuBar();
setJMenuBar(menuBar);
// 创建文件菜单
fileMenu = new JMenu("文件");
menuBar.add(fileMenu);
// 创建新建菜单项
newItem = new JMenuItem("新建");
newItem.addActionListener(this);
fileMenu.add(newItem);
// 创建打开文件菜单项
openItem = new JMenuItem("打开文件");
openItem.addActionListener(this);
fileMenu.add(openItem);
// 创建退出菜单项
exitItem = new JMenuItem("退出");
exitItem.addActionListener(this);
fileMenu.add(exitItem);
// 创建编辑菜单
editMenu = new JMenu("编辑");
menuBar.add(editMenu);
// 创建剪切菜单项
cutItem = new JMenuItem("剪切");
cutItem.addActionListener(this);
editMenu.add(cutItem);
// 创建复制菜单项
copyItem = new JMenuItem("复制");
copyItem.addActionListener(this);
editMenu.add(copyItem);
// 创建文本区域
textArea = new JTextArea();
add(textArea);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource() == newItem) {
// 新建文件
textArea.setText("");
} else if (e.getSource() == openItem) {
// 打开文件
JFileChooser fileChooser = new JFileChooser();
int result = fileChooser.showOpenDialog(this);
if (result == JFileChooser.APPROVE_OPTION) {
String filename = fileChooser.getSelectedFile().getPath();
// 读取文件内容并显示在文本区域中
// 略
}
} else if (e.getSource() == exitItem) {
// 退出程序
System.exit(0);
} else if (e.getSource() == cutItem) {
// 剪切菜单项被选择时,使复制菜单项可用,剪切菜单项不可用
cutItem.setEnabled(false);
copyItem.setEnabled(true);
} else if (e.getSource() == copyItem) {
// 复制菜单项被选择时,使剪切菜单项可用,复制菜单项不可用
cutItem.setEnabled(true);
copyItem.setEnabled(false);
}
}
public static void main(String[] args) {
new SimpleTextEditor();
}
}
```