JAVA GUI PART1 记事本程序 极其简易版

JMenuBar 菜单栏
JMenu 菜单项
JMenuItem 菜单项弹出来的子菜单项


FileDialog 用来访问本地文件的对话框 (frame,string,int)

以下为简易修改版记事本

import java.awt.EventQueue;


public class Textbook {

	private JFrame frame;
	JMenu mnFile = new JMenu("文件");
	JMenuBar menuBar = new JMenuBar();
	JMenuItem mntmOpen = new JMenuItem("打开");
	JMenuItem mntmSaveas = new JMenuItem("另存为");
	JMenu mnEdit = new JMenu("编辑");
	JMenu mnFormat = new JMenu("格式");
	JMenu mnView = new JMenu("查看");
	JMenu mnHelp = new JMenu("帮助");
	JMenuItem mntmSave = new JMenuItem("保存");
	JMenuItem mntmQuit = new JMenuItem("退出");
	  JTextArea textArea = new JTextArea();
	
	
	
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					Textbook window = new Textbook();
					window.frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the application.
	 */
	public Textbook() {
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	private void initialize() {
		frame = new JFrame("IdeaPad");
		frame.setBounds(300,200,(int)Toolkit.getDefaultToolkit().getScreenSize().width/2,(int)Toolkit.getDefaultToolkit().getScreenSize().height/2);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
//菜单栏
		frame.setJMenuBar(menuBar);		
//文件菜单	
		menuBar.add(mnFile);		
		mnFile.add(mntmOpen);		
		mnFile.add(mntmSave);		
		mnFile.add(mntmSaveas);
		mnFile.add(mntmQuit);	
//其他菜单		
		menuBar.add(mnEdit);		
		menuBar.add(mnFormat);		
		menuBar.add(mnView);		
		menuBar.add(mnHelp);
		
		frame.getContentPane().add(textArea, BorderLayout.CENTER);
		
		addEvent();
		
	}

	private void addEvent() {
		// TODO Auto-generated method stub
		//
		//打开文件**********************************************************
		//
		mntmOpen.addActionListener(new ActionListener(){
			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				FileDialog fd=new FileDialog(frame,"打开",FileDialog.LOAD);
				fd.setVisible(true);
				String strFile=fd.getDirectory()+fd.getFile();
				if(strFile!=null){
					try{
						BufferedReader br=new BufferedReader (new FileReader(strFile));
						String b="";
						textArea.removeAll();
						while((b=br.readLine())!=null){
							textArea.append(b+"\n");
						}
						br.close();						
					}catch(Exception e){
						e.printStackTrace();
					}
				}			
			}	//action over	
		});
		//
		//保存文件*************************************************
		//
		mntmSave.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				FileDialog fd=new FileDialog(frame,"保存",FileDialog.SAVE);
				fd.setVisible(true);
				String dirPath=fd.getDirectory();
				String fileName=fd.getFile();
				if(dirPath==null||fileName==null){
					return;
				}
				try{
					fileName+=".txt";
					BufferedWriter bw=new BufferedWriter(new FileWriter(new File(dirPath,fileName)));
					String text=textArea.getText();
					bw.write(text);
					bw.close();
					
					
				}catch(Exception e){
					e.printStackTrace();
				}
				
				
			}

	
			
		});//action over	
		//
		//退出按钮
		//
		mntmQuit.addActionListener(new ActionListener(){

			@Override
			public void actionPerformed(ActionEvent arg0) {
				// TODO Auto-generated method stub
				System.exit(0);				
			}
			
		});
		
		
		
		
		
		
	}

}


string为对话框的标题,Int代表执行的是打卡或是保存
filedialog.getDirectory()
得到地址
filedialog.getFile()
得到文件名

所以一个完整的地址是  地址加文件名



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值