您的位置:首页 > 产品设计 > UI/UE

Test__GUI__用java编写一个简单的记事本程序,打包成jar双击运行

2014-01-03 18:57 1226 查看
需求:

用所学的java知识编写一个记事本,具备打开文件,保存文件,退出文件等基本功能

并打包成jar,能够双击运行

知识点:

1,需要用到窗体的基本知识Frame的配置,

2,菜单及其配置MenuBar,Menu,MenuItem

3,文本区域 TextArea

4,各组件对应的监听器,内部类

5,IO流
实现过程:

package mymenu;	//打包
import java.awt.*;
import java.awt.event.*;
import java.io.*;	
public class MyMenu
{
	private Frame f;
	private MenuBar bar;
	private Menu m,subMenu,m_2;
	private MenuItem openItem,saveItem,closeItem,subItem;
	private FileDialog open,save;
	private TextArea ta;
	private File file;

	MyMenu(){
		init();
	}
	
	public void init()//窗体构建
	{
		f = new Frame("My Window");//窗体
		f.setBounds(300,200,600,400);
		
		bar = new MenuBar();	//菜单栏
		m = new Menu("文件");		//菜单
		m_2=new Menu("菜单2");
		subMenu = new Menu("子菜单");
		openItem = new MenuItem("打开");
		saveItem = new MenuItem("保存");
		closeItem = new MenuItem("退出");//条目
		subItem = new MenuItem("子条目");
		ta = new TextArea(20,80);

		subMenu.add(subItem);
		m.add(openItem);
		m.add(saveItem);
		m.add(subMenu);//在菜单中添加子菜单
		m.add(closeItem);	
		bar.add(m);	//将菜单添加到菜单栏
		bar.add(m_2);
		f.setMenuBar(bar);	//菜单栏设置到窗体
		f.add(ta);//添加文本框

		open = new FileDialog(f,"打开文件",FileDialog.LOAD);//添加对话框,参见API文档Dialog构造方法
		save = new FileDialog(f,"保存文件",FileDialog.S***E);

		myEvent();
		f.setVisible(true);
	}
	
	public void myEvent()//事件监听
	{
		openItem.addActionListener(new ActionListener()//菜单条目监听:打开
		{
			public void actionPerformed(ActionEvent e)
			{
				open.setVisible(true);
				String dirPath = open.getDirectory();//获取对话框目录;FileDialog类的方法
				String fileName= open.getFile();	//获取对话框选定文件
				if(dirPath==null || fileName==null)	//点取消
					return;
				ta.setText("");//打开文件之前清空文本区域
				file = new File(dirPath,fileName);
				try
				{
					BufferedReader bufr = new BufferedReader(new FileReader(file));
					String line = null;
					while ((line=bufr.readLine()) !=null)
					{
						ta.append(line+"\r\n");
					}
				}
				catch (IOException ie){
					throw new RuntimeException("读取失败!");
				}
			}
		});
		saveItem.addActionListener(new ActionListener()//菜单条目监听:保存
		{	
			public void actionPerformed(ActionEvent e)
			{
				if(file==null)
				{
					save.setVisible(true);
					String dirPath = save.getDirectory();
					String fileName= save.getFile();
					if(dirPath==null || fileName==null)
						return;
					file = new File(dirPath,fileName);				
				}
				try
				{
					BufferedWriter bufw = new BufferedWriter(new FileWriter(file));
					String text = ta.getText();
					bufw.write(text);
					bufw.close();
				}
				catch (IOException ex)
				{
					throw new RuntimeException();
				}
			}
		});
		closeItem.addActionListener(new ActionListener(){//菜单条目监听:退出
			public void actionPerformed(ActionEvent e){
				System.exit(0);
			}
		});

		f.addWindowListener(new WindowAdapter(){//窗体事件,关闭
			public void windowClosing(WindowEvent e){
				System.exit(0);
			}
			});
	}

	public static void main(String[] args) 
	{
		new MyMenu();
	}
}


1,编译操作:带包的java文件编译格式

F:\J***A\Test>javac -d f:\java\test MyMenu.java,

2,创建归档文件,后缀名不限



3,将mymenu压缩到jar包



4,用winrar打开jar包可发现已经写入了归档



5,双击运行jar包

运行效果:能够对文件进行打开,编辑,保存,退出等基本功能

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: