菜单
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 */