UI类
import javax.swing.*;
public class NotepadFrame extends JFrame {
MainPanel panel;
/*JMenu menu[]=new JMenu[3];*/
JMenuItem menuItem;
NotepadListener listener;
public NotepadFrame() {
JMenuBar menuBar = new JMenuBar();
JMenu fileMenu = new JMenu("文件");
// 实例化监听类
listener = new NotepadListener();
this.setJMenuBar(menuBar);
/* // 菜单条选项
String[] menuBarItem = {"文件","格式","帮助"};
menuBar.setBackground(Color.white);
for (int i = 0; i < menuBarItem.length; i++) {
menu[i] = new JMenu(menuBarItem[i]);
menuBar.add(menu[i]);
}*/
menuBar.add(fileMenu);
// 文件菜单项
String[] fileItem = {"新建", "打开", "保存", "另存为", "退出"};
// 分隔线位置
int size = fileItem.length - 1;
System.out.println(size);
for (int i = 0; i < fileItem.length; i++) {
menuItem = new JMenuItem(fileItem[i]);
// 设置分隔线
if (i == size) {
fileMenu.addSeparator();
}
fileMenu.add(menuItem);
menuItem.addActionListener(listener);
}
// 添加用于编辑文本的面板
panel = new MainPanel();
this.add(panel);
// 窗体设置
this.setTitle("简易记事本");
this.setSize(600, 600);
this.setVisible(true);
this.addMouseListener(listener);
}
public static void main(String[] args) {
new NotepadFrame();
}
}
事件类
import java.awt.event.*;
public class NotepadListener extends MouseAdapter implements ActionListener, MouseListener {
// 接收的指令文本
String str;
@Override
public void actionPerformed(ActionEvent e) {
str=e.getActionCommand();
}
@Override
public void mouseClicked(MouseEvent e) {
if("新建".equals(str)){
System.out.println("新建测试");
}
/*if ("打开".equals(str)) {
System.out.println("打开测试");
}
if ("保存".equals(str)) {
System.out.println("保存测试");
}
if ("另存为".equals(str)) {
System.out.println("另存为测试");
}*/
if ("退出".equals(str)) {
System.out.println("退出测试");
System.exit(0);
}
}
@Override
public void mousePressed(MouseEvent e) {
if ("新建".equals(str)) {
System.out.println("测试新建");
}
}
}
接受文本类(没写完)
```java
import javax.swing.*;
import java.awt.*;
public class MainPanel extends JPanel {
JTextArea textArea=null;
// 主面板设置
public MainPanel() {
textArea=new JTextArea(30,58);
// 自动换行
textArea.setLineWrap(true);
// 换行不断字
textArea.setWrapStyleWord(true);
this.add(textArea);
this.setBackground(Color.white);
}
}