A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 小黑子 中级黑马   /  2014-9-27 14:42  /  1396 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 小黑子 于 2014-9-29 17:49 编辑

跟着毕老师的视频,写了一个简易的记事本小程序,只有:打开、保存、退出  功能。
本来程序通过DOS是可以正常启动运行的。可是,为了打包成Jar,在首行加了 package mymenu;   并将类public
这时再通过DOS,编译正常,可是运行会提示:Error: Could not find or load main class MyFileDialogDemo
我也不知道这正不正常。。。。然后就继续往下做了。
1、通过:  javac -d c:\myclass MyFileDialogDemo.java  将编译生成的几个类放到了 C:\myclass\mymenu 下
2、在C:\myclass下建立1.txt,并输入如下内容:
     Main-Class: mymenu.MyFileDialogDemo
该注意的空格、回车我都有了。用好压打开my.jar中的MAINFEST.MF可以看到,上边这行信息也确实写进去了。
3、通过 jar -cvfm my.jar 1.txt mymenu  生成my.jar
4、因为我是Win7系统,我在my.jar上   右击--》打开方式   选择 javaw.exe为jar文件的默认打开方式。并将百度上教的那一套,在注册表中也加了-jar

可是,我双击jar就是不运行啊。不过在刚刚双击完那一会,鼠标的小箭头旁边会有一个小圆圈转一下。。。应该还是有什么东西在试图运行的。
   
  1. package mymenu;

  2. import java.awt.Frame;
  3. import java.awt.MenuBar;
  4. import java.awt.Menu;
  5. import java.awt.MenuItem;
  6. import java.awt.TextArea;
  7. import java.awt.FileDialog;

  8. import java.awt.event.WindowListener;
  9. import java.awt.event.WindowAdapter;
  10. import java.awt.event.WindowEvent;
  11. import java.awt.event.ActionListener;
  12. import java.awt.event.ActionEvent;

  13. import java.io.BufferedReader;
  14. import java.io.FileReader;
  15. import java.io.IOException;
  16. import java.io.BufferedWriter;
  17. import java.io.FileWriter;
  18. import java.io.File;


  19. public class MyFileDialogDemo
  20. {
  21.         private Frame f;
  22.         private MenuBar bar;
  23.         private Menu file;
  24.         private MenuItem openItem,saveItem,exitItem;
  25.         private TextArea ta;
  26.         private FileDialog fdLoad,fdSave;
  27.         private File fl;

  28.         MyFileDialogDemo()
  29.         {
  30.                 initialize();
  31.         }

  32.         public void initialize()
  33.         {
  34.                 f = new Frame("WhatEver");
  35.                 f.setBounds(300,200,600,500);
  36.                 f.setVisible(true);

  37.                 bar = new MenuBar();
  38.                 file = new Menu("文件");
  39.                 openItem = new MenuItem("打开");
  40.                 saveItem = new MenuItem("保存");
  41.                 exitItem = new MenuItem("退出");
  42.                 ta = new TextArea();
  43.                 fdLoad = new FileDialog(f,"打开",FileDialog.LOAD);
  44.                 fdSave = new FileDialog(f,"保存",FileDialog.SAVE);

  45.                 f.setMenuBar(bar);
  46.                 f.add(ta);
  47.                 bar.add(file);
  48.                 file.add(openItem);
  49.                 file.add(saveItem);
  50.                 file.add(exitItem);

  51.                 myEvent();
  52.         }

  53.         public void myEvent()
  54.         {
  55.                 f.addWindowListener(new WindowAdapter()
  56.                 {
  57.                         public void windowClosing(WindowEvent e)
  58.                         {
  59.                                 System.exit(0);
  60.                         }
  61.                 });
  62.                
  63.                 saveItem.addActionListener(new ActionListener()
  64.                 {
  65.                         public void actionPerformed(ActionEvent e)
  66.                         {
  67.                                 if(fl==null)
  68.                                 {
  69.                                         fdSave.setVisible(true);
  70.                                         String path = fdSave.getDirectory();
  71.                                         String name = fdSave.getFile();
  72.                                         if(path==null || name==null)
  73.                                                 return;
  74.                                         fl = new File(path+name);
  75.                                 }
  76.                                 try
  77.                                 {
  78.                                         BufferedWriter bw = new BufferedWriter(new FileWriter(fl));
  79.                                         String text = ta.getText();
  80.                                         bw.write(text);
  81.                                         bw.close();
  82.                                 }
  83.                                 catch (IOException ex)
  84.                                 {
  85.                                         throw new RuntimeException("保存失败");
  86.                                 }
  87.                         }
  88.                 });

  89.                 exitItem.addActionListener(new ActionListener()
  90.                 {
  91.                         public void actionPerformed(ActionEvent e)
  92.                         {
  93.                                 System.exit(0);
  94.                         }
  95.                 });

  96.                 openItem.addActionListener(new ActionListener()
  97.                 {
  98.                         public void actionPerformed(ActionEvent e)
  99.                         {
  100.                                 fdLoad.setVisible(true);

  101.                                 String path = fdLoad.getDirectory();
  102.                                 String name = fdLoad.getFile();
  103.                                 if(path==null || name==null)
  104.                                         return;
  105.                                 ta.setText("");
  106.                                 try
  107.                                 {
  108.                                         BufferedReader br = new BufferedReader(new FileReader(path+name));
  109.                                         String line;
  110.                                         while((line=br.readLine())!=null)
  111.                                         {
  112.                                                 ta.append(line+"\r\n");
  113.                                         }
  114.                                         br.close();
  115.                                 }
  116.                                 catch (IOException ex)
  117.                                 {
  118.                                         throw new RuntimeException("打开失败");
  119.                                 }                                
  120.                                 
  121.                         }
  122.                 });
  123.         }

  124.         public static void main(String[] args)
  125.         {
  126.                 new MyFileDialogDemo();
  127.         }
  128. }
复制代码



jar1.png (40.05 KB, 下载次数: 29)

jar1.png

jar2.png (139.52 KB, 下载次数: 15)

jar2.png

5 个回复

正序浏览
悬而未决……………………
回复 使用道具 举报
有木有相同情况的兄弟啊
回复 使用道具 举报
求解啊:'(你们的都能执行吗?
回复 使用道具 举报
No body knows?:Q
回复 使用道具 举报
有大神知道不?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马