主要是模仿记事本这样的面板设计,不过在其中还改进改进
类名:MyNote
主要软件包:java.awt*;
javax.swing*;
代码:
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
public class MyNote extends JFrame{
private ActionListener actionListener = null;
private JTextArea textArea = null;
public MyNote(String title) {
// TODO Auto-generated constructor stub
//创建菜单事件监听对象
actionListener = new MenuListener(this);
this.setTitle(title);
this.setJMenuBar(createMenuBar());//创建菜单栏
Container container = this.getContentPane();
TextEditFrame editFrame = new TextEditFrame();
this.textArea = editFrame.getTextEdit();
//设置边界布局管理
container.setLayout(new BorderLayout());
//工具栏位置
container.add(createToolBar(),BorderLayout.NORTH);
container.add(editFrame,BorderLayout.CENTER);
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE);
this.setBounds(300, 150, 600, 400);
this.setVisible(true);
}
/**
* 创建菜单栏
* @param menuItem
* @param menuTitle
* @return
*/
private JMenu createMenu(String[] menuItems,String menuTitle){
JMenu menu = new JMenu();
JMenuItem menuItem = null;
for(int i = 0 ; i < menuItems.length ; i ++){
// 如果菜单项标题文本为Separator,则添加一个分割行
// 否则添加一个菜单
if(menuItems[i].equals("Separator")){
menu.addSeparator();
}else{
menuItem = new JMenuItem();
menuItem.setText(menuItems[i]);//设置菜单项标题
menuItem.addActionListener(actionListener);//监听
menu.add(menuItem);
}
}
menu.setText(menuTitle);
return menu;
}
private JMenuBar createMenuBar(){
String[] fileMenuTitle = {"新建","打开","Separator","保存","另存为","Separator","退出"};//设置菜单项
String[] editMenuTitle = {"复制","剪切","粘贴"};
String[] helpMenuTitle = {"关于"};
//创建一个菜单栏对象
JMenuBar menubar = new JMenuBar();
JMenu menu = null;
//创建文件菜单
menu = createMenu(fileMenuTitle,"文件(F)");
menubar.add(menu);
menu = createMenu(editMenuTitle,"编辑(E)");
menubar.add(menu);
menu = createMenu(helpMenuTitle,"帮助(H)");
menubar.add(menu);
return menubar;
}
//创建编辑器的工具栏
private JToolBar createToolBar(){
//定义工具栏按钮的标题文本
//String[] fileTitle={"新建","打开","保存","退出"};
String[] editTitle={"普通模式","护眼模式","夜晚模式"};
JToolBar toolBar = new JToolBar();//创建工具栏对象
JButton button = null;//按钮
//在工具栏中添加按钮
for(int i = 0 ; i < editTitle.length; i++){
button = new JButton(editTitle[i]);
button.addActionListener(actionListener);
toolBar.add(button);
}
toolBar.setVisible(true);
return toolBar;
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
MyNote note = new MyNote("文本编辑器");
}
public JTextArea getTextArea(){
return this.textArea;
}
}
后续监听待续............