Java学习笔记——实现一个简易记事本Notepad的编写
记事本功能介绍
记事本图例
打开笔记本上任意文本文件
FileDialog fd = new FileDialog(this, "打开", FileDialog.LOAD);
fd.setVisible(true);
String strFile = fd.getDirectory() + fd.getFile();
若没有 fd.getDirectory() 则只能打开当前文件夹。fd.getDirectory() 相当于取得文件的绝对路径前缀。
private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
FileDialog fd = new FileDialog(this, "打开", FileDialog.LOAD);
fd.setVisible(true);
String strFile = fd.getDirectory() + fd.getFile();
if (strFile != null) {
try {
FileInputStream fis = new FileInputStream(strFile);
byte[] buf = new byte[10 * 1024];
int len = fis.read(buf);
jTextArea1.append(new String(buf, 0, len));
fis.close();
} catch (Exception e) {
System.out.println("打开失败");
}
}
}
打开图例:
将文件保存至任意位置
private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
FileDialog fd = new FileDialog(this, "另存为", FileDialog.SAVE);
fd.setVisible(true);
String string1 = jTextArea1.getText();
String stringfile = fd.getDirectory()+fd.getFile();
BufferedWriter bWriter = null;
try {
bWriter = new BufferedWriter(new FileWriter(stringfile));
bWriter.write(string1);
bWriter.close();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("保存失败");
}
}
另存为图例
记事本 NotePad 代码
/*
* Test_Notepad.java
*
* Created on __DATE__, __TIME__
*/ //package com.test; import java.awt.*;
import java.io.*; import javax.swing.JOptionPane; /**
*
* @author __USER__
*/
public class Test_Notepad extends javax.swing.JFrame { /** Creates new form Test_Notepad */
public Test_Notepad(String name) {
super(name);
initComponents();
setLocation(450, 200);
} /** This method is called from within the constructor to
* initialize the form.
* WARNING: Do NOT modify this code. The content of this method is
* always regenerated by the Form Editor.
*/
//GEN-BEGIN:initComponents
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() { jScrollPane1 = new javax.swing.JScrollPane();
jTextArea1 = new javax.swing.JTextArea();
jMenuBar1 = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenuItem1 = new javax.swing.JMenuItem();
jMenuItem2 = new javax.swing.JMenuItem();
jMenuItem3 = new javax.swing.JMenuItem();
jMenuItem4 = new javax.swing.JMenuItem();
jSeparator1 = new javax.swing.JSeparator();
jSeparator2 = new javax.swing.JSeparator();
jMenuItem6 = new javax.swing.JMenuItem();
jMenu2 = new javax.swing.JMenu();
jMenuItem7 = new javax.swing.JMenuItem();
jMenuItem8 = new javax.swing.JMenuItem();
jMenuItem9 = new javax.swing.JMenuItem();
jMenuItem10 = new javax.swing.JMenuItem();
jMenuItem11 = new javax.swing.JMenuItem(); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); jTextArea1.setColumns(20);
jTextArea1.setRows(5);
jScrollPane1.setViewportView(jTextArea1); jMenu1.setText("\u6587\u4ef6");
jMenu1.setMinimumSize(new java.awt.Dimension(35, 19)); jMenuItem1.setText("\u65b0\u5efa");
jMenuItem1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem1ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem1); jMenuItem2.setText("\u6253\u5f00");
jMenuItem2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem2ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem2); jMenuItem3.setText("\u4fdd\u5b58");
jMenuItem3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem3ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem3); jMenuItem4.setText("\u53e6\u5b58\u4e3a");
jMenuItem4.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem4ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem4);
jMenu1.add(jSeparator1);
jMenu1.add(jSeparator2); jMenuItem6.setText("\u9000\u51fa");
jMenuItem6.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jMenuItem6ActionPerformed(evt);
}
});
jMenu1.add(jMenuItem6); jMenuBar1.add(jMenu1); jMenu2.setText("\u7f16\u8f91"); jMenuItem7.setText("\u64a4\u9500");
jMenu2.add(jMenuItem7); jMenuItem8.setText("\u526a\u5207");
jMenu2.add(jMenuItem8); jMenuItem9.setText("\u590d\u5236");
jMenu2.add(jMenuItem9); jMenuItem10.setText("\u7c98\u8d34");
jMenu2.add(jMenuItem10); jMenuItem11.setText("\u5220\u9664");
jMenu2.add(jMenuItem11); jMenuBar1.add(jMenu2); setJMenuBar(jMenuBar1); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(
getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addComponent(
jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 400,
Short.MAX_VALUE));
layout.setVerticalGroup(layout.createParallelGroup(
javax.swing.GroupLayout.Alignment.LEADING).addComponent(
jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 279,
Short.MAX_VALUE)); pack();
}// </editor-fold>
//GEN-END:initComponents private void jMenuItem1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jTextArea1.setText(null);
} private void jMenuItem4ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
FileDialog fd = new FileDialog(this, "另存为", FileDialog.SAVE);
fd.setVisible(true);
String string1 = jTextArea1.getText();
String stringfile = fd.getDirectory()+fd.getFile();
BufferedWriter bWriter = null;
try {
bWriter = new BufferedWriter(new FileWriter(stringfile));
bWriter.write(string1);
bWriter.close();
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("保存失败");
}
} private void jMenuItem3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
String FileName = JOptionPane.showInputDialog("请输入保存的文件名:");
String string1 = jTextArea1.getText();
if (FileName != null) {
BufferedWriter bWriter = null;
try {
bWriter = new BufferedWriter(new FileWriter(new File(FileName)));
bWriter.write(string1);
bWriter.close();
} catch (Exception e) {
System.out.println("保存失败");
}
}
} private void jMenuItem6ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
int result = JOptionPane.showConfirmDialog(null, "退出前是否保存?");
if (result == JOptionPane.YES_OPTION) {
String FileName = JOptionPane.showInputDialog("请输入保存的文件名:");
String string1 = jTextArea1.getText();
if (FileName != null) {
BufferedWriter bWriter = null;
try {
bWriter = new BufferedWriter(new FileWriter(new File(
FileName)));
bWriter.write(string1);
bWriter.close();
} catch (Exception e) {
System.out.println("保存失败");
}
}
System.exit(0);
} else if (result == JOptionPane.NO_OPTION) {
System.exit(0);
}
} private void jMenuItem2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
FileDialog fd = new FileDialog(this, "打开", FileDialog.LOAD);
fd.setVisible(true);
String strFile = fd.getDirectory() + fd.getFile();
if (strFile != null) {
try {
FileInputStream fis = new FileInputStream(strFile);
byte[] buf = new byte[10 * 1024];
int len = fis.read(buf);
jTextArea1.append(new String(buf, 0, len));
fis.close();
} catch (Exception e) {
System.out.println("打开失败");
}
}
} public void SaveNotepad() {
String FileName = JOptionPane.showInputDialog("请输入保存的文件名:");
String string1 = jTextArea1.getText();
if (FileName != null) {
BufferedWriter bWriter = null;
try {
bWriter = new BufferedWriter(new FileWriter(new File(FileName)));
bWriter.write(string1);
bWriter.close();
// Thread.sleep(1000);
} catch (Exception e) {
e.printStackTrace();
}
}
} /**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
Test_Notepad notepad = new Test_Notepad("决Jue的记事本");
notepad.setVisible(true);
}
});
} //GEN-BEGIN:variables
// Variables declaration - do not modify
private javax.swing.JMenu jMenu1;
private javax.swing.JMenu jMenu2;
private javax.swing.JMenuBar jMenuBar1;
private javax.swing.JMenuItem jMenuItem1;
private javax.swing.JMenuItem jMenuItem10;
private javax.swing.JMenuItem jMenuItem11;
private javax.swing.JMenuItem jMenuItem2;
private javax.swing.JMenuItem jMenuItem3;
private javax.swing.JMenuItem jMenuItem4;
private javax.swing.JMenuItem jMenuItem6;
private javax.swing.JMenuItem jMenuItem7;
private javax.swing.JMenuItem jMenuItem8;
private javax.swing.JMenuItem jMenuItem9;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JSeparator jSeparator1;
private javax.swing.JSeparator jSeparator2;
private javax.swing.JTextArea jTextArea1;
// End of variables declaration//GEN-END:variables }
Java学习笔记——实现一个简易记事本Notepad的编写的更多相关文章
- Java学习笔记7(简易的超市库存管理系统示例)
用以前学过的知识,可以简单地做一个超市库存管理系统: 定义一个商品类: public class FruitItem { int ID; String name; double price; int ...
- java学习笔记—实现一个类MyInputStream(28)
1 实现一个类MyInputStream读取文件,且不能抛出异常 public class TestDemo { public static void main(String[] args) thro ...
- Java 学习笔记 判断一个数组是否有序
思路 升序:每次比较数组中的两个数的时候,最大的数一定是前一个 降序: 每次比较数组中的两个数的时候,最小的数一定是前一个 Flag1和flag2都是假的时候,返回flase,否则,返回flase 代 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- 20145330《Java学习笔记》第一章课后练习8知识总结以及IDEA初次尝试
20145330<Java学习笔记>第一章课后练习8知识总结以及IDEA初次尝试 题目: 如果C:\workspace\Hello\src中有Main.java如下: package cc ...
- 0037 Java学习笔记-多线程-同步代码块、同步方法、同步锁
什么是同步 在上一篇0036 Java学习笔记-多线程-创建线程的三种方式示例代码中,实现Runnable创建多条线程,输出中的结果中会有错误,比如一张票卖了两次,有的票没卖的情况,因为线程对象被多条 ...
- 0035 Java学习笔记-注解
什么是注解 注解可以看作类的第6大要素(成员变量.构造器.方法.代码块.内部类) 注解有点像修饰符,可以修饰一些程序要素:类.接口.变量.方法.局部变量等等 注解要和对应的配套工具(APT:Annot ...
- Java学习笔记(04)
Java学习笔记(04) 如有不对或不足的地方,请给出建议,谢谢! 一.对象 面向对象的核心:找合适的对象做合适的事情 面向对象的编程思想:尽可能的用计算机语言来描述现实生活中的事物 面向对象:侧重于 ...
随机推荐
- 安卓使用Dialog创建普通对话框
Activity页面简单所以XML不再写出.下面给出核心代码: button1=(Button)findViewById(R.id.button1); //为按钮设置监听器 button1.setO ...
- Red Hat TimesTen安装记录
1:内核参数修改 # vi /etc/sysctl.conf kernel.sem= #sysctl –p 备注:此安装过程为测试环境,具体参数修改要参考TimesTen官方文档. 2:创建用户及组信 ...
- 001Spring4.2基本环境搭建
1:工程目录以及依赖jar包如下,如果缺少某些jar包在weblogic控制台下面会有提示 2:applicationContext.xml配置文件 <?xml version="1. ...
- poj 3686 The Windy's
http://poj.org/problem?id=3686 #include <cstdio> #include <cstring> #include <algorit ...
- 【HDOJ】1561 The more, The Better
树状DP. /* 1561 */ #include <iostream> #include <cstdio> #include <cstring> #include ...
- 【转】HashMap和HashSet的区别
原文网址:http://www.importnew.com/6931.html HashMap和HashSet的区别是Java面试中最常被问到的问题.如果没有涉及到Collection框架以及多线程的 ...
- JavaScript权威指南学习笔记6
这两天主要翻看了书中的第18-22章,重点看了第17章:事件化处理,其它几章节主要是翻了下书知道有相关的概念,没有真正理解其中的内容,或者没有考虑究竟如何能把里面的内容应用到实际的项目中.说的讽刺一点 ...
- Jsp 中文乱码,解决
jsp 乱码 : The time on the server is 2016?2?7? ??10?45?32?. 在 jsp 中,用 jsp 语法添加 utf-8 字符集,可解决此问题 <%@ ...
- Demon_接金币(三个掉落物品预设体,一接物体的工具)
接物体的工具 using UnityEngine; using System.Collections; public class Tool : MonoBehaviour { float hor; V ...
- ASP.NET MVC 3 Model【通过一简单实例一步一步的介绍】
今天主要讲Model的两个方面: 1. ASP.Net MVC 3 Model 简介 通过一简单的事例一步一步的介绍 2. ASP.Net MVC 3 Model 的一些验证 MVC 中 Model ...