Java基础-简易记事本开发(打开与保存)


简易记事本开发--打开与保存
代码:
package Demo;

import java.awt.*;
import java.awt.event.*;
import java.io.*;

import javax.management.RuntimeErrorException;

public class code
{
	public static void main(String[] args) {
		new myMenu();
	}
}

class myMenu
{
	private Frame f;
	private MenuBar mb;
	private TextArea ta;
	private Menu fileMenu;
	private MenuItem closeItem,saveItem,openItem;
	
	private FileDialog opendia,savedia;
	private File file;
	
	public myMenu() {
		init();
	}
	public void init() {
		f = new Frame("my window");
		f.setBounds(300,100,650,600);
		//f.setLayout(new FlowLayout());//布局
		
		mb = new MenuBar();//菜单条
		ta = new TextArea();//区域
		fileMenu = new Menu("文件");//菜单
		openItem = new MenuItem("打开");
		saveItem = new MenuItem("保存");
		closeItem = new MenuItem("退出");
		
		fileMenu.add(openItem);
		fileMenu.add(saveItem);
		fileMenu.add(closeItem);
		mb.add(fileMenu);
		
		f.setMenuBar(mb);
		opendia = new FileDialog(f, "我要打开", FileDialog.LOAD);
		savedia = new FileDialog(f, "我要保存", FileDialog.SAVE);
		
		f.add(ta);
		myEvent();
		
		f.setVisible(true);
	}
	
	private void myEvent() {
		
		saveItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				if(file==null) {
					savedia.setVisible(true);
					String dirpath = savedia.getDirectory();
					String filename = savedia.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);
				} catch (Exception e) {
					throw new RuntimeException("保存失败");
				}
				
			}
			
		});
		
		//读取文件
		openItem.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent e) {
				opendia.setVisible(true);
				String dirpath = opendia.getDirectory();
				String filename = opendia.getFile();
				if(dirpath==null || filename==null)
					return ;
				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 (Exception e2) {
					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);
			}
		});
	}
}

如何导出可运行的jar包:https://blog.csdn.net/sndamhming/article/details/56008795

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个简单的Java记事本程序,包括打开保存文件的功能: ```java import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; import javax.swing.JFileChooser; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class SimpleNotepad extends JFrame { private JTextArea textArea; private JFileChooser fileChooser; public SimpleNotepad() { setTitle("Simple Notepad"); setSize(600, 400); // 创建文本区域 textArea = new JTextArea(); JScrollPane scrollPane = new JScrollPane(textArea); add(scrollPane); // 创建文件选择器 fileChooser = new JFileChooser(); // 创建菜单栏 NotepadMenuBar menuBar = new NotepadMenuBar(); setJMenuBar(menuBar); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } // 打开文件 public void openFile() { int result = fileChooser.showOpenDialog(this); if (result == JFileChooser.APPROVE_OPTION) { try { FileReader fileReader = new FileReader(fileChooser.getSelectedFile()); BufferedReader reader = new BufferedReader(fileReader); String line; while ((line = reader.readLine()) != null) { textArea.append(line + "\n"); } reader.close(); fileReader.close(); } catch (IOException e) { JOptionPane.showMessageDialog(this, "文件打开失败", "错误", JOptionPane.ERROR_MESSAGE); } } } // 保存文件 public void saveFile() { int result = fileChooser.showSaveDialog(this); if (result == JFileChooser.APPROVE_OPTION) { try { FileWriter fileWriter = new FileWriter(fileChooser.getSelectedFile()); BufferedWriter writer = new BufferedWriter(fileWriter); writer.write(textArea.getText()); writer.close(); fileWriter.close(); } catch (IOException e) { JOptionPane.showMessageDialog(this, "文件保存失败", "错误", JOptionPane.ERROR_MESSAGE); } } } public static void main(String[] args) { new SimpleNotepad(); } // 菜单栏类 private class NotepadMenuBar extends javax.swing.JMenuBar { public NotepadMenuBar() { // 文件菜单 javax.swing.JMenu fileMenu = new javax.swing.JMenu("文件"); // 打开菜单项 javax.swing.JMenuItem openMenuItem = new javax.swing.JMenuItem("打开"); openMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { openFile(); } }); fileMenu.add(openMenuItem); // 保存菜单项 javax.swing.JMenuItem saveMenuItem = new javax.swing.JMenuItem("保存"); saveMenuItem.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { saveFile(); } }); fileMenu.add(saveMenuItem); add(fileMenu); } } } ``` 这个程序使用Java Swing GUI库创建了一个简单的记事本界面,并提供打开保存文件的功能。当用户单击“打开”菜单项时,程序会显示一个文件选择器,让用户选择要打开的文件。然后,程序会读取文件内容并将其显示在文本区域中。当用户单击“保存”菜单项时,程序会显示一个文件选择器,让用户选择要保存文件的路径和文件名。然后,程序将文本区域中的内容写入文件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值