导航:首页 > 编程语言 > java记事本

java记事本

发布时间:2022-01-12 08:36:25

⑴ 如何用java程序编写一个记事本

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.undo.CannotRedoException;
import javax.swing.undo.UndoManager;
import java.util.Date;
import java.text.SimpleDateFormat;

public class Notepad extends JFrame {
// 菜单
JMenuBar menub = new JMenuBar();
// 显示纯文本的多行区域
JTextArea text = new JTextArea();
JMenu files = new JMenu("文件(F)");
JMenu edit = new JMenu("编辑(E)");
JMenu formats = new JMenu("格式(O)");
JMenu help = new JMenu("帮助(H)");
JMenuItem newFile = new JMenuItem("新建(N)");
JMenuItem open = new JMenuItem("打开(O)");
JMenuItem save = new JMenuItem("保存(S)");
JMenuItem saveAs = new JMenuItem("另存为(A)");
JMenuItem exit = new JMenuItem("退出(X)");
JMenuItem undo = new JMenuItem("撤销(U)");
JMenuItem cut = new JMenuItem("剪切(T)");
JMenuItem = new JMenuItem("复制(C)");
JMenuItem paste = new JMenuItem("粘贴(P)");
JMenuItem selectAll = new JMenuItem("全选(A)");
JMenuItem timeDate = new JMenuItem("时间/日期(D)");
JCheckBoxMenuItem lineWrap = new JCheckBoxMenuItem("自动换行(M)");
JMenuItem fonts = new JMenuItem("字体");
JMenuItem about = new JMenuItem("关于记事本(A)");
JFrame th = this;
String name;
String openedPath = null;
boolean opened = false;
boolean reworked = false;
UndoManager undoManager = new UndoManager();

// 初始化窗体
public Notepad(String name) {
super(name);
this.name = name;
int x, y;
// 得到用户屏幕大小
Dimension size = Toolkit.getDefaultToolkit().getScreenSize();
x = (size.width - 600) / 2;
y = (size.height - 400) / 2;
setSize(600, 400);
// 让程序界面显示在屏幕中央
setLocation(x, y);
// 将此窗口的最小大小设置为一个常量值。
setMinimumSize(new Dimension(250, 150));
setDefaultCloseOperation(EXIT_ON_CLOSE);
}

// 初始化布局
void init() {
files.setMnemonic('F');
edit.setMnemonic('E');
formats.setMnemonic('O');
help.setMnemonic('H');
newFile.setMnemonic('N');
open.setMnemonic('O');
save.setMnemonic('S');
saveAs.setMnemonic('A');
exit.setMnemonic('X');
undo.setMnemonic('U');
cut.setMnemonic('T');
.setMnemonic('C');
paste.setMnemonic('P');
selectAll.setMnemonic('A');
timeDate.setMnemonic('D');
lineWrap.setMnemonic('M');
about.setMnemonic('A');
// 为控件添加助记符
newFile.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_N,
InputEvent.CTRL_MASK));
open.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,
InputEvent.CTRL_MASK));
save.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,
InputEvent.CTRL_MASK));
exit.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q,
InputEvent.CTRL_MASK));
cut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X,
InputEvent.CTRL_MASK));
.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C,
InputEvent.CTRL_MASK));
paste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V,
InputEvent.CTRL_MASK));
selectAll.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_A,
InputEvent.CTRL_MASK));
// 为控件添加快捷键
timeDate.setAccelerator(KeyStroke.getKeyStroke("F5"));

files.add(newFile);
files.add(open);
files.add(save);
files.add(saveAs);
files.addSeparator();
files.add(exit);
edit.add(undo);
edit.addSeparator();
edit.add(cut);
edit.add();
edit.add(paste);
edit.addSeparator();
edit.add(selectAll);
edit.add(timeDate);
formats.add(lineWrap);
formats.add(fonts);
help.add(about);

menub.add(files);
menub.add(edit);
menub.add(formats);
menub.add(help);
setJMenuBar(menub);
getContentPane().add(new JScrollPane(text));

Listen listen = new Listen();
Listen1 listen1 = new Listen1();
// 为控件添加事件侦听器
newFile.addActionListener(listen);
undo.addActionListener(listen);
open.addActionListener(listen);
save.addActionListener(listen);
saveAs.addActionListener(listen);
exit.addActionListener(listen);
cut.addActionListener(listen);
.addActionListener(listen);
paste.addActionListener(listen);
selectAll.addActionListener(listen);
timeDate.addActionListener(listen);
lineWrap.addActionListener(listen);
about.addActionListener(listen);
open.addActionListener(listen1);
save.addActionListener(listen1);
saveAs.addActionListener(listen1);
// 暂时没有实现的功能 :设置字体
//undo功能没有实现
fonts.setEnabled(false);

}
class Listen implements ActionListener {
// 实现用于一般操作的事件侦听器
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
if (source == newFile) {
text.setText("");
// 设置标题
th.setTitle(name);
openedPath = null;
opened = false;
} else if (source == exit)
setVisible(false);
else if (source == undo)
try {
//此功能没有实现 撤销要用栈?
// undo.setEnabled(undoManager.canUndo());
undoManager.undo();
} catch (CannotRedoException cre) {
cre.printStackTrace();
}
else if (source == selectAll)
text.selectAll();
else if (source == cut)
text.cut();
else if (source == )
text.();
else if (source == paste)
text.paste();
else if (source == lineWrap)
// 设置文本区的换行策略(获取文本区的换行策略)
text.setLineWrap(!text.getLineWrap());
else if (source == about) {
String message = "--------\n版本:1.0\n作者:时超" +
"\n撤销功能要用堆栈存贮操作" +
"\n还有字体格式"+
"\n暂时没有实现" +
"\n\n感谢您的使用";
JOptionPane.showMessageDialog(th, message, "关于",
JOptionPane.PLAIN_MESSAGE);
} else if (source == timeDate) {
Date nowTime = new Date();
SimpleDateFormat times = new SimpleDateFormat(
"HH:mm yyyy-MM-dd");
text.insert(times.format(nowTime), text.getCaretPosition());
}
}
}
class Listen1 implements ActionListener {
// 实现用于对文件进行操作的事件侦听器
public void actionPerformed(ActionEvent e) {
Object source = e.getSource();
// 打开文件事件
if (source == open) {
// 显示对话窗口 以便选择文件
FileDialog openFile = new FileDialog(th, "打开文件",
FileDialog.LOAD);
openFile.setVisible(true);
// 获取文件路径
String filePath = openFile.getDirectory() + openFile.getFile();
try {
FileInputStream fis = new FileInputStream(filePath);
byte[] content = new byte[fis.available()];
fis.read(content);
text.setText(new String(content));
// 设置 TextComponent 的文本插入符的位置
text.setCaretPosition(0);
if (openFile.getFile() != null) {
th.setTitle(openFile.getFile() + name);
openedPath = filePath;
opened = true;
}
fis.close();
} catch (Exception ex) {
ex.printStackTrace();
}
opened = true;
}
// 保存及另存为事件
else if (source == save || source == saveAs) {
String savePath = openedPath;
if (savePath == null || source == saveAs) {
// 如果 mode 的值为 LOAD,那么文件对话框将查找要读取的文件,所显示的文件是当前目录中的文件
// 如果 mode 的值为 SAVE,则文件对话框将查找要写入文件的位置。
FileDialog saveFile = new FileDialog(th, "保存文件",
FileDialog.SAVE);
saveFile.setVisible(true);
savePath = saveFile.getDirectory() + saveFile.getFile();
}
try {
FileOutputStream fos = new FileOutputStream(savePath);
fos.write(text.getText().getBytes());
fos.close();
} catch (Exception ex) {
ex.printStackTrace();
}
if (source == save)
openedPath = savePath;
}
}
}
public static void main(String[] args) {
try {
// 使用当前线程的上下文类加载器加载给定类名称所指定的 LookAndFeel
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
System.err.println("Couldn't use the system look and feel:" + e);
}
String name = ("--记事本 版本1.0--");
Notepad note = new Notepad(name);
note.init();
note.setVisible(true);
}
}

⑵ java记事本源代码

给你个做好了的Java的源程序的记事本,自己看看就行了的,不怎么难的···
import java.awt.*;
import java.awt.event.*;
import java.io.*;

import javax.swing.*;

public class MyNotepad implements ActionListener{
private JFrame frame=new JFrame("新记事本");
private JTextArea jta=new JTextArea();
private String result="";
private boolean flag=true;
private File f;
private JButton jb=new JButton("开始");
private JTextField jtf=new JTextField(15);
private JTextField jt=new JTextField(15);
private JButton jbt=new JButton("替换为");
private JButton jba=new JButton("全部替换");
private Icon ic=new ImageIcon("D:\\java课堂笔记\\GUI\\11.gif");
private String value;
private int start=0;
private JFrame jf=new JFrame("查找");
private JFrame jfc=new JFrame("替换");

@Override
public void actionPerformed(ActionEvent e) {
String comm=e.getActionCommand();
if("新建".equals(comm)){
if(!(frame.getTitle().equals("新记事本"))){
if(!flag){
write();
newNew();
}else{
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
int returnVal = jfc.showDialog(null,"保存为");
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
flag=false;
write();
}
}
}else if(!(jta.getText().isEmpty())){
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
int returnVal = jfc.showDialog(null,"保存为");
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
flag=false;
write();
newNew();
}
}else{
newNew();
}
}else if("打开".equals(comm)){
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
jfc.setDialogType(JFileChooser.OPEN_DIALOG);
int returnVal = jfc.showOpenDialog(null);
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
frame.setTitle(f.getName());
result=read();
flag=false;
value=result;
jta.setText(result);
}
}else if("保存".equals(comm)){
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
if(flag){
int returnVal = jfc.showDialog(null,"保存为");
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
flag=false;
write();
}
}else{
write();
}
}else if("另存".equals(comm)){
JFileChooser jfc=new JFileChooser("D:\\java课堂笔记");
int returnVal = jfc.showDialog(null,"另存");
if(returnVal == JFileChooser.APPROVE_OPTION) {//选择文件后再执行下面的语句,保证了程序的健壮性
f=jfc.getSelectedFile();
write();
}
}else if("退出".equals(comm)){
System.exit(0);
}else if("撤销".equals(comm)){
jta.setText(value);
}else if("剪切".equals(comm)){
value=jta.getText();
jta.cut();
}else if("复制".equals(comm)){
jta.();
}else if("粘贴".equals(comm)){
value=jta.getText();
jta.paste();
}else if("删除".equals(comm)){
value=jta.getText();
jta.replaceSelection(null);
}else if("全选".equals(comm)){
jta.selectAll();
}else if("查找".equals(comm)){
value=jta.getText();
jf.add(jtf,BorderLayout.CENTER);
jf.add(jb,BorderLayout.SOUTH);

jf.setLocation(300,300);
jf.pack();
jf.setVisible(true);
jf.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}else if("替换".equals(comm)){
value=jta.getText();
GridLayout gl=new GridLayout(3,3);
JLabel jl1=new JLabel("查找内容:");
JLabel jl2=new JLabel("替换为:");
jfc.setLayout(gl);
jfc.add(jl1);
jfc.add(jtf);
jfc.add(jb);
jfc.add(jl2);
jfc.add(jt);
jfc.add(jbt);
JLabel jl3=new JLabel();
JLabel jl4=new JLabel();
jfc.add(jl3);
jfc.add(jl4);
jfc.add(jba);

jfc.setLocation(300,300);
jfc.pack();
jfc.setVisible(true);
jfc.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}else if("版本".equals(comm)){
JDialog jd=new JDialog(frame,"关于对话框");
jd.setSize(200,200);
JLabel l=new JLabel("哈哈哈哈哈哈哈哈哈哈呵呵呵呵呵呵呵呵呵呵呵呵呵");
jd.add(l,BorderLayout.CENTER);
jd.setLocation(100,200);
jd.setSize(300,300);
jd.setVisible(true);
// jd.pack();
jd.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
}else if("开始".equals(comm)||"下一个".equals(comm)){
String temp=jtf.getText();
int s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1){
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jb.setText("下一个");
// value=value.substring(s+temp.length());//不能截取字串
}else {
JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);
jf.dispose();
}
}else if("替换为".equals(comm)){
String temp=jtf.getText();
int s=value.indexOf(temp,start);
if(value.indexOf(temp,start)!=-1){
jta.setSelectionStart(s);
jta.setSelectionEnd(s+temp.length());
jta.setSelectedTextColor(Color.GREEN);
start=s+1;
jta.replaceSelection(jt.getText());
}else {
JOptionPane.showMessageDialog(jf, "查找完毕!", "提示", 0, ic);
jf.dispose();
}
}else if("全部替换".equals(comm)){
String temp=jta.getText();
temp=temp.replaceAll(jtf.getText(), jt.getText());
jta.setText(temp);

}
}
public String read(){
String temp="";
try {
FileInputStream fis = new FileInputStream(f.getAbsolutePath());
byte[] b=new byte[1024];
while(true){
int num=fis.read(b);
if(num==-1)break;
temp=temp+new String(b,0,num);
}
fis.close();
} catch (Exception e1) {
e1.printStackTrace();
}
return temp;
}

public void write(){
try {
FileOutputStream fos=new FileOutputStream(f);
fos.write(jta.getText().getBytes());
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public void newNew(){
frame.dispose();
new MyNotepad();
flag=true;
}
public MyNotepad(){
JMenuBar jmb=new JMenuBar();
String[] menuLab={"文件","编辑","帮助"};
String[][] menuItemLab={{"新建","打开","保存","另存","退出"},
{"撤销","剪切","复制","粘贴","删除","全选","查找","替换"},
{"版本"}};
for(int i=0;i<menuLab.length;i++){
JMenu menu=new JMenu(menuLab[i]);
jmb.add(menu);
for(int j=0;j<menuItemLab[i].length;j++){
JMenuItem jmi=new JMenuItem(menuItemLab[i][j]);
menu.add(jmi);
jmi.addActionListener(this);
}
}
frame.setJMenuBar(jmb);
jta.setLineWrap(true);//自动换行
JScrollPane jsp=new JScrollPane(jta);//滚动窗口面板
frame.add(jsp);

jb.addActionListener(this);
jbt.addActionListener(this);
jba.addActionListener(this);

frame.setLocation(200,50);
frame.setSize(620,660);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new MyNotepad();
}
}

⑶ java编写简单记事本

方法/步骤
下载JDK,并安装成功,CMD测试Java环境安装成功。出现如下提示则Java环境安装成功

打开mycelipse进入主界面,点击左上角file--new---java project,新建一个Java项目,项目名字任意取,这里我取名为note--然后点击完成,创建Java项目

然后右键项目下的src--new---package,新建一个包,包名我定为notetest,然后点击完成

然后右键我们建立好的包notetest--new--class,包名为Note,点击完成

首先我们想导入工程所需要的包,以便编写程序时进行调用
package notepad;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.BufferedReader;
import java.io.BufferedWriter;

首先定义好编写程序时变量,我们设为成员变量方便以后调用
public class Notepad{
//屏幕分辨率
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
//窗体
private Frame frm ;

//显示内容多行文本
private TextArea notetext;
//记事本菜单
private MenuBar mb;
//菜单
private Menu m ;
//菜单项
private MenuItem open,save;

为程序创建组件--Frame--菜单栏目--文本框TextArea
public Notepad(){init();}

private void init(){
frm = new Frame("模拟记事本");

//设置菜单
mb = new MenuBar();
m = new Menu("文件");

//显示文件的地方
notetext = new TextArea();
notetext.setBounds(30, 50, 750, 500);
frm.add(notetext);
myEvent();

为控件和按钮添加监听事件
private void myEvent() {
//打开菜单的事件处理
open.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//判断路径和文件名是否为空 如果为空结束程序
if(dir == null || name == null)

//如果不为空讲路径名和文件名封装到File对象里

file = new File(dir,name);

//使用字符缓冲读取文件

BufferedReader bfr = null;

try {
bfr = new BufferedReader(new FileReader(file));
});
save.addActionListener(new ActionListener(){

//获取路径和文件名

String dir =fd.getDirectory();
String name = fd.getFile();
//如果不为空讲路径名和文件名封装到File对象里
file = new File(dir,name);
}

BufferedWriter bfr= null;
}

});
}
}

然后创建主方法,开始测试程序,新建一个NoteDemo类
package notepad;

public class NoteDemo {
public static void main(String[] args) {
new Notepad();
}

}

⑷ java简单记事本代码

以下代码是一个完整的实现,你只要复制过去就可以了~~

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.util.*;
import java.text.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.undo.*;
import javax.swing.text.*;

public class Start
{
public static void main(String args[])
{
new TextPad();
}
}

class TextPad extends JFrame implements ActionListener
{

JTextArea jta=new JTextArea("小廖记事本:)",18,52);
JCheckBoxMenuItem mto1=new JCheckBoxMenuItem("自动换行",true);
String ss1=jta.getText();
UndoableEditListener ue=new UndoHander();
UndoManager undo = new UndoManager();
int StartFindPos=0,a=0,b=0;
GridBagConstraints gbc=new GridBagConstraints();
//Dimension dd=new Dimension();
// jta.getDocument().addUndoableEditListener(ue);
public TextPad()
{
//MyMenuListener ml=new MyMenuListener();
//JTextArea jta=new JTextArea("This is my textpad",18,52);

//System.out.println(dd.getHeight());
//System.out.println(dd.getWidth());

//System.out.println(this.getHeight());
//System.out.println(this.getWidth());
//System.out.println("OK");
this.setTitle("一个功能比较齐全的JAVA记事本");
this.setLocation(180,100);
jta.setLineWrap(true);
jta.setWrapStyleWord(true);
JPanel jp=new JPanel();
JScrollPane jsp=new JScrollPane(jta);

jp.add(jsp);
//Rectangle rt=new Rectangle(0,0,this.getWidth(),this.getHeight());
//jsp.setBounds(rt);
//System.out.println(this.getHeight());
//System.out.println(this.getWidth());
JMenu mf=new JMenu("文件(F)");
JMenuItem mtf1=new JMenuItem("新建");
mtf1.addActionListener(this);
JMenuItem mtf2=new JMenuItem("打开");
//mtf2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));
mtf2.addActionListener(this);
JMenuItem mtf3=new JMenuItem("保存");
//mtf3.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_MASK));
mtf3.addActionListener(this);
JMenuItem mtf4=new JMenuItem("另存为");
mtf4.addActionListener(this);
JMenuItem mtf5=new JMenuItem("退出");
mtf5.addActionListener(this);
JMenu me=new JMenu("编辑(E)");
JMenuItem mte1=new JMenuItem("撤消");
mte1.addActionListener(this);
jta.getDocument().addUndoableEditListener(ue);
if(undo.canUndo())
{
mte1.setEnabled(false);
}
JMenuItem mte2=new JMenuItem("剪切");
mte2.addActionListener(this);
JMenuItem mte3=new JMenuItem("复制");
mte3.addActionListener(this);
JMenuItem mte4=new JMenuItem("粘贴");
mte4.addActionListener(this);
//JMenuItem mte5=new JMenuItem("删除");
//mte5.addActionListener(this);
JMenuItem mte6=new JMenuItem("查找");
mte6.addActionListener(this);
//JMenuItem mte7=new JMenuItem("查找下一个");
JMenuItem mte8=new JMenuItem("替换");
mte8.addActionListener(this);
//JMenuItem mte9=new JMenuItem("转到");
JMenuItem mte10=new JMenuItem("全选");
mte10.addActionListener(this);
JMenuItem mte11=new JMenuItem("日期/时间");
mte11.addActionListener(this);
JMenu mo=new JMenu("格式(O)");
//JCheckBoxMenuItem mto1=new JCheckBoxMenuItem("自动换行(W)");
mto1.addActionListener(this);
JMenuItem mto2=new JMenuItem("字体");
mto2.addActionListener(this);
JMenu mv=new JMenu("查看(V)");
JMenuItem mtv1=new JMenuItem("状态栏");
mtv1.setEnabled(false);
JMenu mh=new JMenu("帮助(H)");
JMenuItem mth1=new JMenuItem("关于记事本");
mth1.addActionListener(this);
JMenuBar mb=new JMenuBar();
this.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
mb.add(mf);
mb.add(me);
mb.add(mo);
mb.add(mv);
mb.add(mh);
this.setJMenuBar(mb);
mf.add(mtf1);
mf.add(mtf2);
mf.add(mtf3);
mf.add(mtf4);
mf.addSeparator();
mf.add(mtf5);
me.add(mte1);
me.addSeparator();
me.add(mte2);
me.add(mte3);
me.add(mte4);
//me.add(mte5);
me.addSeparator();
me.add(mte6);
//me.add(mte7);
me.add(mte8);
//me.add(mte9);
me.addSeparator();
me.add(mte10);
me.add(mte11);
mo.add(mto1);
mo.add(mto2);
mv.add(mtv1);
mh.add(mth1);
this.getContentPane().add(jsp);
this.setSize(600,400);
this.setResizable(true);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{

if(e.getActionCommand().equals("打开"))
{
try
{
Frame f=new Frame();
FileDialog fd=new FileDialog(f,"打开文件",FileDialog.LOAD);
fd.setVisible(true);
String fpath=fd.getDirectory();
String fname=fd.getFile();
BufferedReader br=new BufferedReader(new FileReader(fpath+fname));
jta.setText("");
String s=br.readLine();
while(s!=null)
{
jta.append(s+"\n");
s=br.readLine();
}
br.close();
}
catch(Exception ex)
{
}
}

if(e.getActionCommand().equals("保存"))
{
String fns=null;
Frame f=new Frame("保存");
FileDialog fd=new FileDialog(f,"保存文件",FileDialog.SAVE);
fd.setFile("*.txt");
fd.setVisible(true);
try
{
String savepath=fd.getDirectory();
String savename=fd.getFile();
if(savename!=null)
{
PrintWriter pw=new PrintWriter(new BufferedWriter(new FileWriter(savepath+savename)));
pw.write(jta.getText(),0,jta.getText().length());
pw.flush();
}
}
catch(Exception esave)
{
}
}
if(e.getActionCommand().equals("新建"))
{
jta.setText("");
}
if(e.getActionCommand().equals("另存为"))
{
Frame f=new Frame("保存");
FileDialog fd=new FileDialog(f,"文件另存为",FileDialog.SAVE);
fd.setVisible(true);
try
{
String savepath=fd.getDirectory();
String savename=fd.getFile();
if(savename!=null)
{
PrintWriter pw=new PrintWriter(new BufferedWriter(new FileWriter(savepath+savename)));
pw.write(jta.getText(),0,jta.getText().length());
pw.flush();
}
}
catch(Exception esave)
{
}
}
if(e.getActionCommand().equals("退出"))
{
String ss2=jta.getText();
if(!ss1.equals(ss2))
{
System.out.println("File is changed.");
}
System.exit(0);
}
if(e.getActionCommand().equals("撤消"))
{
try
{
undo.undo();
//System.out.println(undo.canUndo());
}
catch(Exception eundo)
{
}
}
if(e.getActionCommand().equals("剪切"))
{
jta.cut();
}
if(e.getActionCommand().equals("复制"))
{
jta.();
}
if(e.getActionCommand().equals("粘贴"))
{
jta.paste();
}
if(e.getActionCommand().equals("删除"))
{

}
if(e.getActionCommand().equals("全选"))
{
jta.selectAll();
}
if(e.getActionCommand().equals("查找"))
{
try
{
final JDialog jd=new JDialog(this,"查找",true);
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
gbc.weightx=0.5;
gbc.weighty=0.5;
gbc.gridwidth=1;
gbc.gridheight=1;
jd.getContentPane().setLayout(gbl);
jd.setSize(380,100);
jd.setResizable(false);
//jd.(true);
final JTextField jtf=new JTextField(15);
JLabel jlFind=new JLabel("查找内容:");
jd.getContentPane().add(jlFind);
JButton jbFind=new JButton("查找");

jbFind.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent efind)
{
String strA=jta.getText();
String strB=jtf.getText();
if(a>=0)
{
a=strA.indexOf(strB,StartFindPos);

b=strB.length();
StartFindPos=a+b;
if(a==-1)
{
JOptionPane.showMessageDialog(null, "没有您要查找的信息", "查找结果",1);
a=0;
StartFindPos=0;
}
jta.select(a,StartFindPos);
}
}
}
);
JButton jbCancel=new JButton("取消");
jbCancel.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ejb)
{
jd.dispose();
}
}
);
jd.getContentPane().add(jtf);
jd.getContentPane().add(jbFind);
jd.getContentPane().add(jbCancel);
//jd.setResizable(false);
jd.setLocation(240,200);
jd.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
jd.setVisible(true);
}
catch(Exception efind)
{
}
}
if(e.getActionCommand().equals("替换"))
{
final JDialog jd=new JDialog(this,"替换",true);
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
gbc.weightx=1;
gbc.weighty=1;
gbc.gridwidth=1;
gbc.gridheight=1;
JLabel jlFind=new JLabel("查找:");
JLabel jp=new JLabel("替换内容:");
final JTextField jtf=new JTextField(15);
final JTextField jtf1=new JTextField(15);
jd.getContentPane().setLayout(gbl);
jd.setSize(330,150);
jd.setResizable(false);
final JButton jbReplace=new JButton("替换");
final JButton jbReplaceAll=new JButton("替换所有");
final JButton jbCancel=new JButton("取消");
final JButton jbFind=new JButton("查找");
gbc.gridx=0;
gbc.gridy=0;
jd.getContentPane().add(jlFind,gbc);
gbc.gridx=1;
gbc.gridy=0;
jd.getContentPane().add(jtf1,gbc);
gbc.gridx=2;
gbc.gridy=0;
jd.getContentPane().add(jbFind,gbc);
gbc.gridx=0;
gbc.gridy=1;
jd.getContentPane().add(jp,gbc);
gbc.gridx=1;
gbc.gridy=1;
jd.getContentPane().add(jtf,gbc);
gbc.gridx=2;
gbc.gridy=1;
jd.getContentPane().add(jbReplace,gbc);
gbc.gridx=2;
gbc.gridy=2;
jd.getContentPane().add(jbReplaceAll,gbc);
gbc.gridx=2;
gbc.gridy=3;
jd.getContentPane().add(jbCancel,gbc);
jbFind.addActionListener(new ActionListener()
{

public void actionPerformed(ActionEvent efind)
{
String strA=jta.getText();
String strB=jtf1.getText();
if(a>=0)
{
a=strA.indexOf(strB,StartFindPos);
//System.out.println(a+b);
b=strB.length();
StartFindPos=a+b;
if(a==-1)
{
JOptionPane.showMessageDialog(null, "没有您要查找的信息", "查找结果",1);
a=0;
StartFindPos=0;
}
jta.select(a,StartFindPos);
//System.out.println(StartFindPos);
}
}
}
);
jbReplace.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("替换"))
{
String strRepleace=jtf.getText();
jta.replaceSelection(strRepleace);
}
}
}
);
jbReplaceAll.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{

while(a>-1)
{
String strA=jta.getText();
String strB=jtf1.getText();
a=strA.indexOf(strB,StartFindPos);
if(a==-1)
{
break;
}
//System.out.println(a+b);
b=strB.length();
StartFindPos=a+b;
//System.out.println(StartFindPos);
jta.select(a,StartFindPos);
//System.out.println(StartFindPos);
String strRepleaceAll=jtf.getText();
jta.replaceSelection(strRepleaceAll);
StartFindPos=a+b;

}
JOptionPane.showMessageDialog(null, "全部替换完毕", "替换内容",1);
a=0;
StartFindPos=0;
}
}
);
jbCancel.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ejb)
{
jd.dispose();
}
}
);
jd.setLocation(240,200);
jd.setVisible(true);
jd.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
if(e.getActionCommand().equals("日期/时间"))
{
final JDialog jd=new JDialog(this,"插入日期");
JPanel jp1=new JPanel();
jp1.setLayout(new FlowLayout(FlowLayout.LEFT));
final JTextField jtf=new JTextField(10);
JButton jbOK=new JButton("确定");
JButton jbCancel=new JButton("取消");
//Calendar cl=Calendar.getInstance();
//DateFormat df=DateFormat.getInstance();
//String sdate1=df.format(cl.getTime());
//jtf.setText(sdate1);
jp1.add(jtf);
jp1.add(jbOK);
jp1.add(jbCancel);
jd.getContentPane().add(jp1,"North");
JPanel jp2=new JPanel();
jp2.setLayout(new FlowLayout(FlowLayout.LEFT));
final JCheckBox jcb1=new JCheckBox("格式一");
final JCheckBox jcb2=new JCheckBox("格式二");
final JCheckBox jcb3=new JCheckBox("格式三");
jp2.add(jcb1);
jp2.add(jcb2);
jp2.add(jcb3);
jd.getContentPane().add(jp2,"Center");
jd.setSize(220,120);
jd.setResizable(false);
jd.setLocation(240,200);
final SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
Calendar cl=Calendar.getInstance();
DateFormat df=DateFormat.getInstance();
final String sdate=df.format(cl.getTime());
jcb1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("格式一"))
{
if(jcb1.isSelected())
{
try
{
SimpleDateFormat sdf1=new SimpleDateFormat("yy年MM月dd日");
Date d=sdf.parse(sdate);
jtf.setText(sdf1.format(d));
jcb2.setEnabled(false);
jcb3.setEnabled(false);
}
catch(Exception estyle1)
{
estyle1.printStackTrace();
}
}
else
{
jcb2.setEnabled(true);
jcb3.setEnabled(true);
}
try
{
System.out.println(jta.getLineStartOffset(3));
//System.out.println(jta.getLineOfOffset(346));
}
catch(Exception eee)
{
}
}
}
}
);
jcb2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("格式二"))
{
if(jcb2.isSelected())
{
try
{
SimpleDateFormat sdf1=new SimpleDateFormat("yy/MM/dd");
Date d=sdf.parse(sdate);
jtf.setText(sdf1.format(d));
jcb1.setEnabled(false);
jcb3.setEnabled(false);
}
catch(Exception estyle2)
{
estyle2.printStackTrace();
}
}
else
{
jcb1.setEnabled(true);
jcb3.setEnabled(true);
}
//System.out.println(jcb1.isSelected());
}
}
}
);
jcb3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("格式三"))
{
if(jcb3.isSelected())
{
jtf.setText(sdate);
jcb1.setEnabled(false);
jcb2.setEnabled(false);
}
else
{
jcb1.setEnabled(true);
jcb2.setEnabled(true);
}
//System.out.println(jcb1.isSelected());
}
}
}
);
jbOK.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand().equals("确定"))
{
int pos=jta.getCaretPosition();
jta.insert(jtf.getText(),pos);
}
}
}
);
jbCancel.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ejb)
{
jd.dispose();
}
}
);
jd.setVisible(true);
jd.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
if(e.getActionCommand().equals("自动换行"))
{
if(mto1.getState())
{
jta.setLineWrap(true);
jta.setWrapStyleWord(true);
}
else
{
jta.setLineWrap(false);
jta.setWrapStyleWord(false);
}
//System.out.println("OK");
}
if(e.getActionCommand().equals("字体"))
{
final JDialog jd=new JDialog(this,"字体设置");
jd.setLocation(240,200);
//final JFrame jfontview=new JFrame();
GridBagLayout gbl=new GridBagLayout();
GridBagConstraints gbc=new GridBagConstraints();
JButton jbOK=new JButton("确定");
JButton jbCancel=new JButton("取消");
JTextField jtf1=new JTextField(6);
final JTextArea jtaview=new JTextArea(4,8);
//jfontview.getContentPane().add(jtaview);
final JTextField jtf2=new JTextField(6);
final JTextField jtf3=new JTextField(3);
JComboBox jcb1=new JComboBox();
final JComboBox jcb2=new JComboBox();
jcb2.addItem("BOLD");
jcb2.addItem("ITALIC");
jcb2.addItem("PLAIN");
//jcb2.addItem("BOLDITALIC");
jcb2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jtf2.setText((String)jcb2.getSelectedItem());
}
}
);
final JComboBox jcb3=new JComboBox();
jcb3.addItem("14");
jcb3.addItem("18");
jcb3.addItem("22");
jcb3.addItem("26");
jcb3.addItem("30");
jcb3.addItem("34");
jcb3.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jtf3.setText((String)jcb3.getSelectedItem());
//jtaview.setText("SS");

// int fontsizeview=Integer.parseInt((String)jcb3.getSelectedItem());
//Font fontview=new Font("字体预览",Font.BOLD,fontsizeview);
//jtaview.setFont(fontview);
//jtaview.setEditable(false);
}
}
);
gbc.gridheight=1;
gbc.gridwidth=1;
//gbc.gridx=1;
//gbc.gridy=0;
gbc.weightx=0.5;
gbc.weighty=0.5;
jd.getContentPane().setLayout(gbl);
//JLabel jl1=new JLabel("预览:");
JLabel jl2=new JLabel("字型:");
JLabel jl3=new JLabel("大小:");
gbc.gridx=0;
gbc.gridy=0;
jd.getContentPane().add(jl2,gbc);
gbc.gridx=2;
gbc.gridy=0;
jd.getContentPane().add(jl3,gbc);
//gbc.gridx=4;
//gbc.gridy=0;
//jd.getContentPane().add(jl3,gbc);
gbc.gridx=0;
gbc.gridy=1;
jd.getContentPane().add(jtf2,gbc);
gbc.gridx=2;
gbc.gridy=1;
jd.getContentPane().add(jtf3,gbc);
//gbc.gridx=4;
// gbc.gridy=1;
//jd.getContentPane().add(jtf3,gbc);
gbc.gridx=0;
gbc.gridy=2;
jd.getContentPane().add(jcb2,gbc);
gbc.gridx=2;
gbc.gridy=2;
jd.getContentPane().add(jcb3,gbc);
//gbc.gridx=4;
//gbc.gridy=2;
//jd.getContentPane().add(jcb3,gbc);
gbc.gridx=4;
gbc.gridy=1;
jd.getContentPane().add(jbOK,gbc);
gbc.gridx=4;
gbc.gridy=2;
jd.getContentPane().add(jbCancel,gbc);
jbOK.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(jtf2.getText().equals("PLAIN"))
{
int fontsize=Integer.parseInt(jtf3.getText());
int fontstyle=0;
Font f=new Font("字体设置",fontstyle,fontsize);
jta.setFont(f);

// System.out.println(f.getFont("楷体_GB2312").getFontName());
}
if(jtf2.getText().equals("BOLD"))
{
int fontsize=Integer.parseInt(jtf3.getText());
int fontstyle=1;
Font f=new Font("字体设置",fontstyle,fontsize);
jta.setFont(f);
}
if(jtf2.getText().equals("ITALIC"))
{
int fontsize=Integer.parseInt(jtf3.getText());
int fontstyle=2;
Font f=new Font("字体设置",fontstyle,fontsize);
jta.setFont(f);
}
jd.dispose();
//System.out.println(fontstyle);
}
}
);
jbCancel.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jd.dispose();
}
}
);
jd.setSize(200,120);
jd.setResizable(false);
jd.setVisible(true);
jd.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
}
if(e.getActionCommand().equals("关于记事本"))
{
JOptionPane jop=new JOptionPane(null,JOptionPane.INFORMATION_MESSAGE);
jop.showMessageDialog(null,"小廖记事本","关于记事本",JOptionPane.OK_OPTION);
//System.out.println("OK");
}

}
class UndoHander implements UndoableEditListener
{
public void undoableEditHappened(UndoableEditEvent eundo)
{
undo.addEdit(eundo.getEdit());
}

}
}

⑸ Java记事本

Java是由Sun公司于1995年5月推出的面向对象的程序设计语言。Java继承了C++语言面向对象技术的核心,又舍弃了C++语言中的指针、运算符重载以及多重继承的特性,同时引入了泛型编程、类型安全的枚举等特性,使Java成为简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。 随着互联网的迅猛发展,Java已经成为重要的网络编程语言,被广泛应用于企业级Web应用开发和移动应用开发。
对于您的java记事本我是真没见过

⑹ 如何用记事本进行java编程

1.安装JDK
下载地址:http://cn.sun.com/
2:配置环境变量
方法:
安装后需要设置环境变量,在我的电脑--》属性--->高级--->环境变量
加入:JAVA_HOME = C:\Program Files\Java\jdk1.5.0_06
然后把JAVA_HOME 加入path中就可以了
PATH=F:\oracle\ora92\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\PROGRA~1\ULTRAE~1;D:\soft\StyleReportEE\bin

3:工具初学者可以用记事本,(也可以用eclipse,netbeans)
编写好后报存成 .java文件
4.编译
在DOS窗口下找到你保存的JAVA文件目录,执行:javac *.java
5:运行
在dos窗口下找到你编译的文件目录执行: java *

这样你就可以看到你写的程序的执行结果。

刚开始学Java,用“JDK+记事本”就行了,JDK提供Java开发工具包和运行环境。先下载一个JDK(http://blog.chinaunix.net/u2/80678/showart_1315214.html)装上(还有设置环境变量的问题,这里先不说),用记事本编辑Java代码,在命令行提示窗口用javac 命令编译,用java 命令执行就可以了。
当你对java程序有个整体感官的认识后,接下来就可以用一个IDE了,即集成开发环境,网上有很多IDE,JBuilder、JCreater以及着名的eclipse,推荐用eclipse,在www.eclipse.org下载,然后自己往里面安装——你需要但还没安装的“插件”(因为,本身已有很多插件,一般情况可以满足你的需要),最好不要用通过第三方公司进行过集成的 eclipse,比如Lomboz(它的内核也是eclipse,如果你需要Lomboz,则可以把它作为一个插件安装到eclipse中),这样,可以直接感觉eclipse的架构和魅力。
最后,要说的就是,在第一个阶段不要停留太久,要在适当的时候过渡到eclipse;所有上面是一个过程。

⑺ 如何用记事本编写java程序

首先右击鼠标,新建一个文本文档。
更改文本文档的后缀名为 .java 。注意文件名必须和类名相同。
如果你的电脑没有显示后缀名的话需要对电脑进行一定的设置
打开计算机——组织——文件夹选项——查看——将隐藏文件夹选项取消勾选即可。

建议将这个选项取消勾选,有很多的恶意程序会侵入我们的电脑,取消勾选可以很好的查看病毒等文件的类型。
右击建好的文档,选择编辑即可进行java的编写。

在编写的时候我们有一定的格式,java语言的格式是为了我们日后更改程序方便而规定的,我们一定要遵循这种格式编写。

测试运行java程序

打开运行命令,也可以直接在开菜单中输入CMD调用命令窗口。

你的文件保存在哪里就将你的文件目录输入到命令提示符窗口中,例如我的是D盘根目录,所以我输入“d:”。

编译java文件,生成class文件。

在命令提示符中输入“javac 文件名.java”,我的文件名为A,所以输入javac A.java然后回车,等待编译。

运行文件。

继续输入“java 文件名”然后回车就可以运行我们写好的文件了。

⑻ 用JAVA编写一个记事本

不添加监听的记事本不是好的记事本:

http://hi..com/shy2850/blog/item/3d15b409797d34dc63d98662.html

呵呵,虽然不符合要求,但是基本功能还是很值得借鉴的。

⑼ java记事本怎么写呀

下面是一个简单的记事本程序:
import java.awt.*;
import java.awt.event.*;
import java.lang.String.*;
import java.awt.datatransfer.*;//数据传送
import java.util.*;
public class Notepad
{public static void main(String args[])
{MyMenuFrame mf=new MyMenuFrame();//定义主类
mf.setSize(new Dimension(300,200));//用setSize()方法指定窗口的初始大小
mf.setVisible(true);
}
}

class MyMenuFrame extends Frame implements ActionListener//定义窗口
{
Clipboard clipboard;//定义剪切板对象
FileDialog filedialog_save,filedialog_load;//定义文件对话框
MenuBar m_MenuBar;//定义菜单条
Menu menuFile,menuEdit,menuStyle,menuSearch,menuHelp;//定义菜单项
MenuItem mi_File_New,mi_File_Open,mi_File_Save,mi_file_Savaas,mi_File_Close,mi_File_Exit,
mi_Edit_Ce,mi_Edit_Copy,mi_Edit_Cut,mi_Edit_Paste,
mi_Edit_Style,mi_Style_Font,mi_Style_Auto,
mi_Search_sphere,
mi_Help_Helptopic,mi_Help_About;
TextArea text;
MyMenuFrame( )//构造方法
{
super("记事本");//指定窗口标题
text=new TextArea(20,20);
add(text);
clipboard = null;
clipboard = getToolkit().getSystemClipboard();//获取系统剪切板

filedialog_save=new FileDialog(this,"保存文件对话框",FileDialog.SAVE);
filedialog_save.setVisible(false);
filedialog_load=new FileDialog(this,"打开文件对话框",FileDialog.LOAD);
filedialog_load.setVisible(false);
m_MenuBar=new MenuBar( );
menuFile=new Menu("文件");//创建菜单项,创建菜单子项并初始化
MenuItem mi_File_New=new MenuItem("新建");
MenuItem mi_File_Open=new MenuItem("打开");
MenuItem mi_File_Save=new MenuItem("保存");
MenuItem mi_File_Saveas=new MenuItem("另存为");
MenuItem mi_File_Close=new MenuItem("关闭");
MenuItem mi_File_Exit=new MenuItem(" 退出");
mi_File_Exit.setShortcut(new MenuShortcut(′x′));//设置快捷键
mi_File_Open.setActionCommand("打开");//简化
mi_File_New.setActionCommand("新建");

mi_File_Exit.setActionCommand("退出");

mi_File_New.addActionListener(this);//使菜单子项响应动作事件
mi_File_Open.addActionListener(this);
mi_File_Save.addActionListener(this);
mi_File_Saveas.addActionListener(this);
mi_File_Close.addActionListener(this);
mi_File_Exit.addActionListener(this);
menuFile.add(mi_File_New);//把菜单子项加入菜单项
menuFile.add(mi_File_Open);
menuFile.add(mi_File_Save);
menuFile.add(mi_File_Saveas);
menuFile.add(mi_File_Close);
menuFile.addSeparator();//加一条横向分割线
menuFile.add(mi_File_Exit);
m_MenuBar.add(menuFile);//把菜单项加入菜单条
menuEdit=new Menu("编辑");
mi_Edit_Ce=new MenuItem("撤消");
mi_Edit_Copy=new MenuItem("复制");
mi_Edit_Cut=new MenuItem("剪切");
mi_Edit_Paste=new MenuItem("粘贴");
mi_Edit_Copy.setActionCommand("复制");
mi_Edit_Cut.setActionCommand("剪切");
mi_Edit_Paste.setActionCommand("粘贴");

mi_Edit_Ce.addActionListener(this);
mi_Edit_Copy.addActionListener(this);
mi_Edit_Cut.addActionListener(this);
mi_Edit_Paste.addActionListener(this);
menuEdit.add(mi_Edit_Ce);
menuEdit.add(mi_Edit_Copy);
menuEdit.add(mi_Edit_Cut);
menuEdit.add(mi_Edit_Paste);
m_MenuBar.add(menuEdit);

menuStyle=new Menu("格式");
mi_Style_Auto=new MenuItem("自动换行");
mi_Style_Font=new MenuItem("字体");
mi_Style_Auto.addActionListener(this);
mi_Style_Font.addActionListener(this);
menuStyle.add(mi_Style_Auto);
menuStyle.add(mi_Style_Font);
m_MenuBar.add(menuStyle);
menuSearch=new Menu("查看");
mi_Search_sphere=new MenuItem("状态栏");
mi_Search_sphere.addActionListener(this);
menuSearch.add(mi_Search_sphere);
m_MenuBar.add(menuSearch);
menuHelp=new Menu("帮助");
mi_Help_Helptopic=new MenuItem("帮助主题");
mi_Help_About=new MenuItem("关于记事本");
mi_Help_Helptopic.addActionListener(this);
mi_Help_About.addActionListener(this);
menuHelp.add(mi_Help_Helptopic);
menuHelp.add(mi_Help_About);
m_MenuBar.add(menuHelp);
setMenuBar(m_MenuBar);//把菜单条加入到菜单
addWindowListener(new WindowAdapter()//监听窗口(关闭窗口)
{ public void windowClosing(WindowEvent e)
{
System.exit(0);
}
}
);
setVisible(true);
validate(); //如果加载了其他东西,就可用它来显示组件

}
public void actionPerformed(ActionEvent e)
{
if(e.getActionCommand()=="新建")
{
text.setText(null);//清空
}
if(e.getActionCommand()=="打开")
{
filedialog_load.setVisible(true);//使文件对话框可见
}
if(e.getActionCommand()=="保存")
{
filedialog_save.setVisible(true);//使文件对话框可见
}
if(e.getActionCommand() == "复制")
{
String s = text.getSelectedText();//复制到剪切板
StringSelection text1= new StringSelection(s);//拖动鼠标选取文本
clipboard.setContents(text1, null);
}
if(e.getActionCommand() == "剪切")
{
String s1 = text.getSelectedText();//剪切到剪切板
StringSelection text1 = new StringSelection(s1);//拖动鼠标选取文本
clipboard.setContents(text1, null);
int j = text.getSelectionStart();
int k = text.getSelectionEnd();
text.replaceRange("", j, k);//从Text中删除被选取文本
}
if(e.getActionCommand() =="粘贴")//从剪切板粘贴数据
{
Transferable transferable = clipboard.getContents(this);
DataFlavor dataflavor = DataFlavor.stringFlavor;
if(transferable.isDataFlavorSupported(dataflavor))
{
try//处理异常事件的发生(类型不符合)
{
String s3 = (String)transferable.getTransferData(dataflavor);
text.insert(s3, text.getCaretPosition());
}
catch(Exception e1) { }
}
}
if(e.getActionCommand()=="退出")
{
dispose();
System.exit(0);
}

}
}

⑽ java记事本的基本框架

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.datatransfer.*;
import java.util.*;
public class NotePad//本实验仅实现:文件(暂时模拟)打开,新建,保存,另存为,转到
{ //具体实现:剪切,复制,粘贴,删除,全选,打印,退出,页面设置,日期时间
//其他待实现
public static void main(String args[])
{

MyWindow my=new MyWindow("我的记事本");

}

}

class MyWindow extends Frame implements ActionListener
{
MyDialog dia1;
FileDialog saver,opener,save_as;
Clipboard clipboard;
MenuBar bar;
Menu menu1,menu2,menu3,menu4,menu5;
MenuItem newmake,open,save,saveas,pageset,print,exit;
MenuItem che,cut,,paste,del,search,s_next,replace,trans,save_all,data_time;
MenuItem letter;
MenuItem statusbar;
MenuItem help1,help2;
TextArea tex;
PrintJob p=null;
Graphics g=null;
CheckboxMenuItem auto_newline;
MyWindow(String s)
{
super(s);
dia1=new MyDialog(this,"转到下列行",true);

clipboard=getToolkit().getSystemClipboard();
saver=new FileDialog(this,"保存文件",FileDialog.SAVE);
//saver.setLocation(100,60);
opener=new FileDialog(this,"打开文件",FileDialog.LOAD);
save_as=new FileDialog(this,"另存为",FileDialog.LOAD);

bar=new MenuBar();
Menu menu1=new Menu("文件(F)");
Menu menu2=new Menu("编辑(E)");
Menu menu3=new Menu("格式(O)");
Menu menu4=new Menu("查看(V)");
Menu menu5=new Menu("帮助(H)");

newmake=new MenuItem("新建(N)");
newmake.addActionListener(this);
newmake.setShortcut(new MenuShortcut(KeyEvent.VK_N));
open=new MenuItem("打开(O)");
open.addActionListener(this);
open.setShortcut(new MenuShortcut(KeyEvent.VK_O));
save=new MenuItem("保存(S)");
save.addActionListener(this);
save.setShortcut(new MenuShortcut(KeyEvent.VK_S));
saveas=new MenuItem("另存为(A)");
saveas.addActionListener(this);
pageset=new MenuItem("页面设置(U)...");
pageset.addActionListener(this);
print=new MenuItem("打印(P)...");
print.addActionListener(this);
print.setShortcut(new MenuShortcut(KeyEvent.VK_P));
exit=new MenuItem("退出(X)");
exit.addActionListener(this);

menu1.add(newmake);
menu1.add(open);
menu1.add(save);
menu1.add(saveas);
menu1.addSeparator();
menu1.add(pageset);
menu1.add(print);
menu1.addSeparator();
menu1.add(exit);

che=new MenuItem("撤销(U)");
che.setShortcut(new MenuShortcut(KeyEvent.VK_Z));
cut=new MenuItem("剪切(T)");
cut.addActionListener(this);
cut.setShortcut(new MenuShortcut(KeyEvent.VK_X));
=new MenuItem("复制(C)");
.addActionListener(this);
.setShortcut(new MenuShortcut(KeyEvent.VK_C));
paste=new MenuItem("粘贴(P)");
paste.addActionListener(this);
paste.setShortcut(new MenuShortcut(KeyEvent.VK_V));
del=new MenuItem("删除(L)");
del.addActionListener(this);
del.setShortcut(new MenuShortcut(KeyEvent.VK_D));
search=new MenuItem("查找(F)...");
search.setShortcut(new MenuShortcut(KeyEvent.VK_F));
s_next=new MenuItem("查找下一个(N)");
s_next.setShortcut(new MenuShortcut(KeyEvent.VK_F3));
replace=new MenuItem("替换(R)...");
replace.setShortcut(new MenuShortcut(KeyEvent.VK_H));
trans=new MenuItem("转到(G)...");
trans.setShortcut(new MenuShortcut(KeyEvent.VK_G));
trans.addActionListener(this);
save_all=new MenuItem("全选(A)");
save_all.setShortcut(new MenuShortcut(KeyEvent.VK_A));
save_all.addActionListener(this);
data_time=new MenuItem("日期/时间(D)");
data_time.setShortcut(new MenuShortcut(KeyEvent.VK_F5));
data_time.addActionListener(this);

menu2.add(che);
menu2.addSeparator();
menu2.add(cut);
menu2.add();
menu2.add(paste);
menu2.add(del);
menu2.addSeparator();
menu2.add(search);
menu2.add(s_next);
menu2.add(replace);
menu2.add(trans);
menu2.addSeparator();
menu2.add(save_all);
menu2.add(data_time);

auto_newline=new CheckboxMenuItem("自动换行(W)");//尚未实现
auto_newline.addActionListener(this);
letter=new MenuItem("字体(F)...");//尚未实现
menu3.add(auto_newline);
menu3.add(letter);

statusbar=new MenuItem("状态栏(S)");
statusbar.setEnabled(false);
menu4.add(statusbar);

help1=new MenuItem("帮助主题(H)");
help2=new MenuItem("关于记事本(A)");
menu5.add(help1);
menu5.add(help2);

bar.add(menu1);
bar.add(menu2);
bar.add(menu3);
bar.add(menu4);
bar.add(menu5);

setMenuBar(bar);

tex=new TextArea();

add(tex,BorderLayout.CENTER);

setBounds(300,50,600,600);
setVisible(true);
validate();
addWindowListener(new WindowAdapter()
{

public void windowClosing(WindowEvent e)
{

System.exit(0);
}

});

}

public void actionPerformed(ActionEvent e)
{

if(e.getSource()==open)
{
opener.setVisible(true);
tex.setText("你打开的文件为:"+opener.getFile()+"\n文件所在目录为:"+opener.getDirectory());

}
if(e.getSource()==save)
{
saver.setVisible(true);
tex.setText("你保存文件为:"+saver.getFile()+"\n文件所在目录为:"+saver.getDirectory());

}
if(e.getSource()==saveas)
{
save_as.setVisible(true);
tex.setText("你另存的文件为:"+save_as.getFile()+"\n文件所在目录为:"+save_as.getDirectory());

}
if(e.getSource()==exit)
{
System.exit(0);

}

if(e.getSource()==newmake)
{
//if(tex.getText()!=null)这里不可以判断内容的有无,只能通过内容的长度,来判断是否输入了内容
if(tex.getText().length()!=0)
{
int k=JOptionPane.showConfirmDialog(this,"文件的文字已经改变,想保存文件吗?","确认对话框",JOptionPane.YES_NO_OPTION);

if(k==JOptionPane.YES_OPTION)
{
saver.setVisible(true);
tex.setText(null);
}

if(k==JOptionPane.NO_OPTION)
{
tex.setText(null);
}
}
else
{

tex.setText("你已经新建一个文件");

}

}

if(e.getSource()==print)
{
p=getToolkit().getPrintJob(this,"ok",null);
g=p.getGraphics();
g.translate(120,200);
tex.printAll(g);
g.dispose();
p.end();

}
if(e.getSource()==trans)//未实现
{

dia1.setVisible(true);
//dia1.setCaretPosition();

}
if(e.getSource()==save_all)
{
tex.selectAll();//全选

}

if(e.getSource()==data_time)
{
Date d=new Date();
tex.append(d.toString());

}

if(e.getSource()==pageset)
{
p=getToolkit().getPrintJob(this,"ok",null);
g=p.getGraphics();
g.translate(120,200);
tex.printAll(g);
g.dispose();
p.end();

}

if(e.getSource()==)
{

String temp=tex.getSelectedText();
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);

}

else if(e.getSource()==cut)
{

String temp=tex.getSelectedText();
StringSelection text=new StringSelection(temp);
clipboard.setContents(text,null);

int start=tex.getSelectionStart();
int end=tex.getSelectionEnd();
tex.replaceRange("",start,end);

}

else if(e.getSource()==paste)
{

Transferable contents=clipboard.getContents(this);
DataFlavor flavor=DataFlavor.stringFlavor;
if(contents.isDataFlavorSupported(flavor))
{

try{

String str=(String)contents.getTransferData(flavor);
tex.append(str);

}

catch(Exception ee){}

}

}

if(e.getSource()==del)
{
int start=tex.getSelectionStart();
int end=tex.getSelectionEnd();
tex.replaceRange("",start,end);

}

//if(e.getSource()==auto_newline)
//{

//System.out.println("自动换行");

//}

}

}

class MyDialog extends Dialog implements ActionListener
{

TextField t1;
Button but1,but2;
MyDialog(Frame f,String s,boolean b)
{
super(f,s,b);
t1=new TextField(10);
but1=new Button("确定");
but2=new Button("取消");
setLayout(new FlowLayout());
add(t1);
add(but1);
add(but2);
but1.addActionListener(this);
but2.addActionListener(this);
setBounds(320,150,200,100);
validate();

}

public void actionPerformed(ActionEvent e)
{
if(e.getSource()==but1||e.getSource()==but2)
{
setVisible(false);
}

}

}

阅读全文

与java记事本相关的资料

热点内容
同性肉多电影 浏览:34
mac邮箱服务器地址 浏览:802
真分数化简成最简的算法 浏览:515
视易锋云服务器新加硬盘 浏览:41
加密web的数据 浏览:435
一套铠甲中间一只眼是什么电影 浏览:298
冒泡算法c语音 浏览:945
运筹算法工程师 浏览:591
国产电影推荐动作大片 浏览:618
什么app不用网络也可以玩 浏览:313
程序员必备知识 浏览:603
程序员东西没做完不让走 浏览:605
尼克电影 浏览:214
程序员的职业道德 浏览:91
图的遍历算法的原理 浏览:653
eclipsegpu编译 浏览:378
啄木鸟出品电影 浏览:184
金莎朗的完整电影 浏览:908
安卓吃鸡开枪图标怎么那么大 浏览:86
app怎么搜不到呢 浏览:883