黑色星球
风遇浪,海市蜃楼

菜单

 1 import java.awt.*;
 2 import java.awt.event.*;
 3 import java.util.ArrayList;
 4 
 5 
 6 class MyMenuDemo 
 7 {
 8 
 9     private Frame f;
10     private MenuBar mb;
11     private Menu m,subMenu;
12     private MenuItem closeItem,subItem;
13     ArrayList arr=new ArrayList();
14 
15     MyMenuDemo()
16     {
17         init();
18     }
19     public void init()
20     {
21         f = new Frame("my window");
22         f.setBounds(300,100,500,600);
23         f.setLayout(new FlowLayout());
24 
25         mb = new MenuBar();
26 
27         m = new Menu("文件");    
28         subMenu = new Menu("子菜单");
29         subItem = new MenuItem("子条目");
30         subMenu.add(subItem);
31         closeItem = new MenuItem("退出");
32         
33         m.add(subMenu);
34         m.add(closeItem);
35         mb.add(m);
36 
37         f.setMenuBar(mb);
38         f.setVisible(true);
39         myEvent();
40     }
41     private void myEvent()
42     {
43 
44         closeItem.addActionListener(new ActionListener()
45         {
46             public void actionPerformed(ActionEvent e)
47             {
48                 System.exit(0);
49             }
50         });
51         f.addWindowListener(new WindowAdapter()
52         {
53             public void windowClosing(WindowEvent e)
54             {
55                 System.exit(0);    
56             }
57         });
58     }
59     
60     public static void main(String[] args) 
61     {
62         new MyMenuDemo();
63     }
64 }

文件保存与退出

  1 import java.awt.*;
  2 import java.awt.event.*;
  3 import java.io.*;
  4 
  5 public class MyMenuTest {
  6 
  7     private Frame f;
  8     private MenuBar bar;
  9     private TextArea ta;
 10     private Menu fileMenu;
 11     private MenuItem openItem, saveItem, closeItem;
 12 
 13     // 文件对话框,有模式
 14     private FileDialog openDia, saveDia;
 15     private File file;
 16 
 17     MyMenuTest() {
 18         init();
 19     }
 20 
 21     public void init() {
 22         f = new Frame("my window");
 23         f.setBounds(300, 100, 650, 600);
 24 
 25         bar = new MenuBar();
 26         ta = new TextArea();
 27         // 创建菜单
 28         fileMenu = new Menu("文件");
 29         // 创建菜单项目
 30         openItem = new MenuItem("打开");
 31         saveItem = new MenuItem("保存");
 32         closeItem = new MenuItem("退出");
 33         // 把项目放到菜单里
 34         fileMenu.add(openItem);
 35         fileMenu.add(saveItem);
 36         fileMenu.add(closeItem);
 37         bar.add(fileMenu);
 38         // 添加到窗口
 39         f.setMenuBar(bar);
 40         // FileDialog里面的方法
 41         openDia = new FileDialog(f, "我要打开", FileDialog.LOAD);
 42         saveDia = new FileDialog(f, "我要保存", FileDialog.SAVE);
 43         // 添加文本区域
 44         f.add(ta);
 45         myEvent();
 46 
 47         f.setVisible(true);
 48 
 49     }
 50 
 51     private void myEvent() {
 52 //文件保存监视器
 53         saveItem.addActionListener(new ActionListener() {
 54 
 55             public void actionPerformed(ActionEvent e) {
 56                 if (file == null) {
 57                     saveDia.setVisible(true);
 58 
 59                     String dirPath = saveDia.getDirectory();
 60                     String fileName = saveDia.getFile();
 61                     if (dirPath == null || fileName == null)
 62                         return;
 63                     file = new File(dirPath, fileName);
 64                 }
 65 
 66                 try {
 67                     BufferedWriter bufw = new BufferedWriter(new FileWriter(
 68                             file));
 69 
 70                     String text = ta.getText();
 71 
 72                     bufw.write(text);
 73                     // bufw.flush();
 74                     bufw.close();
 75                 } catch (IOException ex) {
 76                     throw new RuntimeException();
 77                 }
 78 
 79             }});
 80 //文件打开监视器        
 81         openItem.addActionListener(new ActionListener() {
 82             public void actionPerformed(ActionEvent e) {
 83                 openDia.setVisible(true);
 84                 String dirPath = openDia.getDirectory();
 85                 String fileName = openDia.getFile();
 86                 // System.out.println(dirPath+"..."+fileName);
 87                 if (dirPath == null || fileName == null)
 88                     return;
 89 
 90                 ta.setText("");
 91                 file = new File(dirPath, fileName);
 92 
 93                 try {
 94                     BufferedReader bufr = new BufferedReader(new FileReader(
 95                             file));
 96 
 97                     String line = null;
 98 
 99                     while ((line = bufr.readLine()) != null) {
100                         ta.append(line + "\r\n");
101                     }
102 
103                     bufr.close();
104                 } catch (IOException ex) {
105                     throw new RuntimeException("读取失败");
106                 }
107 
108             }
109         });
110 //文件关闭监视器
111         closeItem.addActionListener(new ActionListener() {
112             public void actionPerformed(ActionEvent e) {
113                 System.exit(0);
114             }
115         });
116 //窗口关闭监视器
117         f.addWindowListener(new WindowAdapter() {
118             public void windowClosing(WindowEvent e) {
119                 System.exit(0);
120             }
121         });
122     }
123 
124     public static void main(String[] args) {
125         new MyMenuTest();
126     }
127 }
128 
129 /*
130  * 如何制作可以双击执行的jar包呢? 1,将多个类封装到了一个包(package)中。 2,定义一个jar包的配置信息。 定义一个文件a.txt
131  * 。文件内容内容为: Main-Class:(空格)包名.类名(回车) 3,打jar包。 jar -cvfm my.jar a.txt 包名
132  * 4,通过winrar程序进行验证,查看该jar的配置文件中是否有自定义的配置信息。
133  * 
134  * 5,通过工具--文件夹选项--文件类型--jar类型文件,通过高级,定义该jar类型文件的打开动作的关联程序。 jdk\bin\javaw.exe
135  * -jar
136  * 
137  * 6,双击试试!。哦了。
138  */

 

posted on 2017-03-24 19:23  黑色星球  阅读(124)  评论(0编辑  收藏  举报