记事本GUI综合

  1 package jframe;
  2 
  3 import java.awt.*;
  4 import javax.swing.*;
  5 public class JPanel8 extends JFrame{
  6     //菜单栏,不参与布局
  7     JMenuBar mb;
  8     //节点级菜单
  9     JMenu[] menu = {null,null,null,null,null};
 10     JMenu mn00;
 11     //叶节点级菜单
 12     JMenuItem[] mn000_1 = {null,null};
 13     JMenuItem[] mn01_7 = {null,null,null,null,null,null};
 14     //工具栏
 15     JToolBar tb;
 16     JButton[] bt={null,null,null,null,null,null};
 17     //文本域
 18     JTextArea ta;
 19     //滚动条
 20     JScrollPane scp;
 21     //面板
 22     JPanel[] pn = {null,null};
 23     public JPanel8(){
 24         //菜单栏
 25         menu[0] = new JMenu("文件(F)");
 26         //此方法现在已废弃,请使用 setMnemonic(int) 来设置按钮的助记符。此方法仅设计用于处理 'a' 到 'z' 或 'A' 到 'Z'之间的字符值.
 27         menu[0].setMnemonic('F');
 28         menu[1] = new JMenu("编辑(E)");
 29         menu[1].setMnemonic('E');
 30         menu[2] = new JMenu("格式(O)");
 31         menu[2].setMnemonic('O');
 32         menu[3] = new JMenu("查看(V)");
 33         menu[3].setMnemonic('V');
 34         menu[4] = new JMenu("帮助(H)");
 35         menu[4].setMnemonic('H');
 36         
 37         //一级菜单
 38         mn00 = new JMenu("新建(N)");
 39         mn00.setMnemonic('N');
 40         mn01_7[0] = new JMenuItem("打开(O)",new ImageIcon("images/open01.png"));
 41         mn01_7[0].setMnemonic('O');
 42         mn01_7[1] = new JMenuItem("保存(s)",new ImageIcon("images/keep02.png"));
 43         mn01_7[1].setMnemonic('S');
 44         mn01_7[2] = new JMenuItem("另存为");
 45         mn01_7[3] = new JMenuItem("页面设置");
 46         mn01_7[4] = new JMenuItem("打印");
 47         mn01_7[5] = new JMenuItem("退出");
 48         
 49         //二级菜单
 50         mn000_1[0] = new JMenuItem("文件",new ImageIcon("images/text.png"));
 51         mn000_1[1] = new JMenuItem("模版");
 52         
 53         //添加菜单--start
 54         mn00.add(mn000_1[0]);
 55         mn00.add(mn000_1[1]);
 56         
 57         menu[0].add(mn00);
 58         for(int i=0;i<6;i++){
 59             menu[0].add(mn01_7[i]);
 60         }
 61         mb = new JMenuBar();
 62         for(int i=0;i<5;i++){
 63             mb.add(menu[i]);
 64         }
 65         //end--添加菜单
 66         
 67         //添加工具栏--start
 68         tb = new JToolBar();
 69         /*
 70             JButton() 
 71                       创建不带有设置文本或图标的按钮。 
 72             JButton(Action a) 
 73                       创建一个按钮,其属性从所提供的 Action 中获取。 
 74             JButton(Icon icon) 
 75                       创建一个带图标的按钮。 
 76             JButton(String text) 
 77                       创建一个带文本的按钮。 
 78             JButton(String text, Icon icon) 
 79                       创建一个带初始文本和图标的按钮。 
 80 
 81          */
 82         bt[0] = new JButton(new ImageIcon("images/new.png"));
 83         bt[0].setToolTipText("新建");
 84         bt[1] = new JButton(new ImageIcon("images/open.png"));
 85         bt[1].setToolTipText("打开");
 86         bt[2] = new JButton(new ImageIcon("images/keep.png"));
 87         bt[2].setToolTipText("保存");
 88         bt[3] = new JButton(new ImageIcon("images/cut.png"));
 89         bt[3].setToolTipText("剪切");
 90         bt[4] = new JButton(new ImageIcon("images/copy.png"));
 91         bt[4].setToolTipText("复制");
 92         bt[5] = new JButton(new ImageIcon("images/paste.png"));
 93         bt[5].setToolTipText("粘贴");
 94         //按钮添加至工具栏
 95         for(int i=0;i<6;i++){
 96             tb.add(bt[i]);
 97         }
 98         //end--添加工具栏
 99         
100         //添加文本域--start
101         ta = new JTextArea();
102         scp = new JScrollPane(ta);
103 //        scp.add(ta);
104         //end--添加文本域
105         
106         //组件添加至面板--start
107 //        pn[0] = new JPanel();
108 //        pn[1] = new JPanel();
109 //        pn[0].add(tb);
110 //        pn[1].add(scp);
111         //end--组件添加至面板
112         
113         //组件及面板添加至容器--start
114         this.setJMenuBar(mb);
115         this.add(tb,BorderLayout.NORTH);
116         this.add(scp);
117         //end--组件及面板添加至容器
118         
119         //容器属性
120         this.setTitle("呵呵哒");
121         this.setSize(400,400);
122 //        this.setResizable(false);
123         this.setLocation(200,200);
124         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
125         this.setVisible(true);
126     }
127     public static void main(String[] args){
128         new JPanel8();
129     }
130 }
131 
132