文档库 最新最全的文档下载
当前位置:文档库 › Java记事本程序源代码

Java记事本程序源代码

Java记事本程序源代码
Java记事本程序源代码

import java.awt.CheckboxMenuItem;

import java.awt.Color;

import java.awt.Container;

import java.awt.FileDialog;

import java.awt.FlowLayout;

import java.awt.Font;

import java.awt.GraphicsEnvironment;

import java.awt.Menu;

import java.awt.MenuBar;

import java.awt.MenuItem;

import java.awt.MenuShortcut;

import java.awt.TextArea;

import java.awt.Toolkit;

import java.awt.Window;

import java.awt.datatransfer.Clipboard;

import java.awt.datatransfer.DataFlavor;

import java.awt.datatransfer.StringSelection;

import java.awt.datatransfer.Transferable;

import java.awt.datatransfer.UnsupportedFlavorException; import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.File;

import java.io.FileNotFoundException;

import java.io.FileReader;

import java.io.FileWriter;

import java.io.IOException;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.JButton;

import javax.swing.JColorChooser;

import javax.swing.JComboBox;

import javax.swing.JDialog;

import javax.swing.JFileChooser;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JTextField;

public class notebook {

// 记事本的具体实现类

private static final long serialVersionUID = 1L;

private TextArea content;

private String filePath = "";//先让路径为空

Color color=Color.red;

Toolkit toolKit = Toolkit.getDefaultToolkit();

Clipboard clipboard = toolKit.getSystemClipboard();

public notebook(){

//创建一个JFrame对象;并设置相关属性

final JFrame jf = new JFrame("我的记事本");

jf.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

jf.setBounds(100,100,500,500);

jf.setResizable(true);

jf.setVisible(true);

//创建菜单栏

MenuBar menu = new MenuBar();

jf.setMenuBar(menu);

//创建并添加文本框

content = new TextArea("",50,50,TextArea.SCROLLBARS_VERTICAL_ONL Y);

jf.add(content);

content.setVisible(true);

content.requestFocusInWindow();

//菜单栏添加内容

Menu filemenu = new Menu("文件(F)");

Menu editmenu = new Menu("编辑(E)");

Menu formatmenu = new Menu("格式(O)");

Menu viewmenu = new Menu("查看(V)");

Menu helpmenu = new Menu("帮助(H)");

menu.add(filemenu);

menu.add(editmenu);

menu.add(formatmenu);

menu.add(viewmenu);

menu.add(helpmenu);

//创建文件菜单上的各个菜单项并添加到菜单上

MenuItem newitem = new MenuItem("新建(N)");

newitem.setShortcut(new MenuShortcut(KeyEvent.VK_N,false));

filemenu.add(newitem);

MenuItem openitem = new MenuItem("打开(O)");

openitem.setShortcut(new MenuShortcut(KeyEvent.VK_O,false));

filemenu.add(openitem);

MenuItem saveitem = new MenuItem("保存(S)");

saveitem.setShortcut(new MenuShortcut(KeyEvent.VK_S,false));

filemenu.add(saveitem);

MenuItem saveasitem = new MenuItem("另存为(A)");

saveasitem.setShortcut(new MenuShortcut(KeyEvent.VK_A,false));

filemenu.add(saveasitem);

MenuItem setitem = new MenuItem("页面设置(U)");

setitem.setShortcut(new MenuShortcut(KeyEvent.VK_U,false));

filemenu.add(setitem);

setitem.setEnabled(false);

MenuItem printitem = new MenuItem("打印(P)");

printitem.setShortcut(new MenuShortcut(KeyEvent.VK_P,false));

filemenu.add(printitem);

printitem.setEnabled(false);

filemenu.addSeparator();

MenuItem exititem = new MenuItem("退出(X)");

exititem.setShortcut(new MenuShortcut(KeyEvent.VK_X,false));

filemenu.add(exititem);

//添加监听器来实现文件菜单上的各个菜单项的功能

//新建菜单项的功能实现

newitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

String con = content.getText();

if(!con.equals("")){//文本域里文本不为空

int result = JOptionPane.showConfirmDialog(

null, ("是否要保存?"),("保存文件..."),JOptionPane.YES_NO_CANCEL_OPTION);

if(result == JOptionPane.NO_OPTION){//不保存

content.setText("");

}

else if(result == JOptionPane.CANCEL_OPTION){//取消新建

}

else if(result == JOptionPane.YES_OPTION)//选择保存

{

JFileChooser jfc = new JFileChooser();//用于选择保存路径的文件名

int bcf = jfc.showSaveDialog(jf);

if(bcf == JFileChooser.APPROVE_OPTION){

try {

//保存文件

BufferedWriter bfw = new BufferedWriter(

new FileWriter(new File(jfc.getSelectedFile().getAbsolutePath()+".txt")));

filePath = jfc.getSelectedFile().getAbsolutePath()+".txt";//获取文件保存的路径

bfw.write(con);//向文件写出数据

bfw.flush();

bfw.close();//关闭输出流

} catch (IOException ex) {

Logger.getLogger(notebook.class.getName()).log(Level.SEVERE, null, ex);

}

new notebook();//新建文本文件

}

}

}

}

});

//打开菜单项的功能实现

openitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

// JFileChooser jfile = new JFileChooser();

// FileNameExtensionFilter filter = new FileNameExtensionFilter("*.txt","txt");

// jfile.setFileFilter(filter);

// jfile.setVisible(true);

// int returnval = jfile.showOpenDialog(jfile);

// filePath = jfile.getDialogTitle()+jfile.getSelectedFile().getName();

// System.out.println(jfile.getSelectedFile());

FileDialog dialog = new FileDialog(new JFrame(),"打开....",FileDialog.LOAD);

dialog.setVisible(true);

filePath = dialog.getDirectory() + dialog.getFile();

System.out.println(filePath);

File file = new File(filePath);

BufferedReader br = null;

StringBuilder sb = new StringBuilder();

try{

br = new BufferedReader (new FileReader(file));

String str = null;

while ((str = br.readLine()) != null){

sb.append(str).append("\n");

}

content.setText(sb.toString());

}

catch(FileNotFoundException e1){

e1.printStackTrace();

}

catch(IOException e1){

e1.printStackTrace();

}

finally{

if(br != null){

try{

br.close();

}

catch(IOException e1){

e1.printStackTrace();

}

}

}

}

});

//保存菜单项的功能实现

saveitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

// FileDialog dialog = new FileDialog(new JFrame(),"保存....",FileDialog.SA VE);

// dialog.setVisible(true);

// filePath = dialog.getDirectory() + dialog.getFile();

// File file = new File(filePath);

// BufferedWriter bw = null;

// try{

// bw = new BufferedWriter(new FileWriter(file));

// bw.write(content.getText());

// }

// catch(FileNotFoundException e1){

// e1.printStackTrace();

// }

// catch(IOException e1){

// e1.printStackTrace();

// }

// finally{

// if(bw != null){

// try{

// bw.close();

// }

// catch(IOException e1){

// e1.printStackTrace();

// }

// }

// }

FileDialog dialog = new FileDialog(new JFrame(),"保存....",FileDialog.SA VE);

dialog.setVisible(true);

filePath = dialog.getDirectory() + dialog.getFile();

if(filePath.equals("")){//没有路径时,就另存为

JFileChooser jfc = new JFileChooser();//用于选择保存路径的文件名

int bcf = jfc.showSaveDialog(jf);//弹出保存窗口

if(bcf == JFileChooser.APPROVE_OPTION){

try {

//保存文件

BufferedWriter bfw = new BufferedWriter(

new FileWriter(new File(jfc.getSelectedFile().getAbsolutePath()+".txt")));

filePath = jfc.getSelectedFile().getAbsolutePath();

bfw.write(content.getText());//向文件写出数据

bfw.flush();

bfw.close();//关闭输出流

} catch (IOException ex) {

Logger.getLogger(notebook.class.getName()).log(Level.SEVERE, null, ex);

}

}

}

else{//路径不为空时,保存在原来的路径下

try {

//保存文件

BufferedWriter bfw = new BufferedWriter(

new FileWriter(

new File(filePath)));

bfw.write(content.getText());//向文件写出数据

bfw.flush();

bfw.close();//关闭输出流

} catch (IOException ex) {

Logger.getLogger(notebook.class.getName()).log(Level.SEVERE, null, ex);

}

}

}

});

//另存为菜单项的功能实现

saveasitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

JFileChooser jfc = new JFileChooser();//用于选择保存路径的文件名

int bcf = jfc.showSaveDialog(jf);//弹出保存窗口

if(bcf == JFileChooser.APPROVE_OPTION){

try {

//保存文件

BufferedWriter bfw = new BufferedWriter(

new FileWriter(new File(jfc.getSelectedFile().getAbsolutePath()+".txt")));

filePath = jfc.getSelectedFile().getAbsolutePath();

bfw.write(content.getText());//向文件写出数据

bfw.flush();

bfw.close();//关闭输出流

} catch (IOException ex) {

Logger.getLogger(notebook.class.getName()).log(Level.SEVERE, null, ex);

}

}

}

});

//页面设置菜单项的功能实现

setitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

}

});

//打印菜单项的功能实现

printitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

}

});

//退出菜单项的功能实现

exititem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

Object[] options = { "是的,我要退出", "不好意思,点错了" };

int option = JOptionPane.showOptionDialog(null, "您确定要退出吗?",

"退出提示....",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE,

null,options, options[0]);

if(option == JOptionPane.OK_OPTION){

System.exit(0);

}

}

});

//创建编辑菜单上的各个菜单项并添加到菜单上

MenuItem undoitem = new MenuItem("撤销(U)");

undoitem.setShortcut(new MenuShortcut(KeyEvent.VK_Z,false));

editmenu.add(undoitem);

MenuItem cutitem = new MenuItem("剪切(T)");

cutitem.setShortcut(new MenuShortcut(KeyEvent.VK_X,false));

editmenu.add(cutitem);

MenuItem copyitem = new MenuItem("复制(C)");

copyitem.setShortcut(new MenuShortcut(KeyEvent.VK_C,false));

editmenu.add(copyitem);

MenuItem pasteitem = new MenuItem("粘贴(P)");

pasteitem.setShortcut(new MenuShortcut(KeyEvent.VK_V,false));

editmenu.add(pasteitem);

MenuItem deleteitem = new MenuItem("删除(L)");

deleteitem.setShortcut(new MenuShortcut(KeyEvent.VK_DELETE,false));

editmenu.add(deleteitem);

editmenu.addSeparator();

MenuItem finditem = new MenuItem("查找(F)");

finditem.setShortcut(new MenuShortcut(KeyEvent.VK_F,false));

editmenu.add(finditem);

MenuItem nextitem = new MenuItem("查找下一个(N)");

nextitem.setShortcut(new MenuShortcut(KeyEvent.VK_3,false));

editmenu.add(nextitem);

MenuItem replaceitem = new MenuItem("替换(R)");

replaceitem.setShortcut(new MenuShortcut(KeyEvent.VK_H,false));

editmenu.add(replaceitem);

MenuItem turntoitem = new MenuItem("转到(G)");

turntoitem.setShortcut(new MenuShortcut(KeyEvent.VK_G,false));

editmenu.add(turntoitem);

editmenu.addSeparator();

//复选菜单项

Menu choicemenu = new Menu("选择(C)");

MenuItem allitem = new MenuItem("全选(A)");

allitem.setShortcut(new MenuShortcut(KeyEvent.VK_A,false));

choicemenu.add(allitem);

MenuItem fanxiangitem = new MenuItem("反向选择(B)");

fanxiangitem.setShortcut(new MenuShortcut(KeyEvent.VK_B,false)); choicemenu.add(fanxiangitem);

MenuItem chieseitem = new MenuItem("选择汉字(C)");

chieseitem.setShortcut(new MenuShortcut(KeyEvent.VK_C,false)); choicemenu.add(chieseitem);

editmenu.add(choicemenu);

//编辑菜单项的时间/日期项

MenuItem dateitem = new MenuItem("时间/日期(D)");

dateitem.setShortcut(new MenuShortcut(KeyEvent.VK_5,false));

editmenu.add(dateitem);

//添加监听器来实现编辑菜单上的各个菜单项的功能

//撤销菜单项的功能实现

undoitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

}

});

//剪切菜单项的功能实现

cutitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

String text = content.getSelectedText();

StringSelection selection = new StringSelection(text);

clipboard.setContents(selection, null);

if(text.length() == 0){

return;

}

else{

content.replaceRange("", content.getSelectionStart(),content.getSelectionEnd());

}

}

});

//复制菜单项的功能实现

copyitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

String text = content.getSelectedText();

StringSelection selection = new StringSelection(text);

clipboard.setContents(selection, null);

}

});

//粘贴菜单项的功能实现

pasteitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

Transferable contents = clipboard.getContents(this);

String str =null;

try {

str = (String) contents.getTransferData(DataFlavor.stringFlavor);

} catch (UnsupportedFlavorException e1) {

e1.printStackTrace();

} catch (IOException e1) {

e1.printStackTrace();

}

if (str == null)

return;

try {

content.replaceRange(str,content.getSelectionStart(),content.getSelectionEnd());

}

catch (Exception e1) {

e1.printStackTrace();

}

}

});

//删除菜单项的功能实现

deleteitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

content.replaceRange("",content.getSelectionStart(),content.getSelectionEnd());

}

});

//查找菜单项的功能实现

finditem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

final JDialog dialog = new JDialog(jf,"查找字符串...",true);

dialog.setBounds(560,250,310,130);

JLabel find = new JLabel("请输入字符串:");

final JTextField findtext = new JTextField(1);

JButton jbu = new JButton("查找");

dialog.setLayout(null);

find.setBounds(10,30,90,20);

findtext.setBounds(100,30,90,20);

jbu.setBounds(200,30,80,20);

dialog.add(find);

dialog.add(findtext);

dialog.add(jbu);

jbu.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

String text = content.getText();

String str = findtext.getText();

int end = text.length();

int len = str.length();

int start = content.getSelectionEnd();

if(start == end){

start = 0;

}

for(;start<=end-len;start++){

if(text.substring(start,start+len).equals(str)){

content.setSelectionStart(start);

content.setSelectionEnd(start+len);

return;

}

}

//若找不到待查字符串,则将光标置于末尾

content.setSelectionStart(end);

content.setSelectionEnd(end);

}

});

dialog.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent e){

dialog.dispose();

}

});

dialog.setResizable(false);

dialog.setVisible(true);

}

});

//查找下一个菜单项的功能实现

nextitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

}

});

//替换菜单项的功能实现

replaceitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

final JDialog dialog = new JDialog(jf,"字符串替换...",true);

dialog.setBounds(560,250,310,180);

final JLabel tihuan = new JLabel("请输入要替换的字符串:");

JLabel mubiao = new JLabel("请输入替换后的字符串:");

JTextField jtf1 = new JTextField(10);

JTextField jtf2 = new JTextField(10);

JButton jb = new JButton("替换");

dialog.setLayout(null);

tihuan.setBounds(10,30,150,20);

mubiao.setBounds(10,70,150,20);

jtf1.setBounds(160,30,110,20);

jtf2.setBounds(160,70,110,20);

jb.setBounds(100,110,80,20);

dialog.add(tihuan);

dialog.add(mubiao);

dialog.add(jtf1);

dialog.add(jtf2);

dialog.add(jb);

final String text = content.getText();

final String str1 = tihuan.getText();

final String str2 = mubiao.getText();

jb.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

if(content.getSelectedText().equals(tihuan.getText())){

content.replaceRange(str2,content.getSelectionStart(),content.getSelectionEnd());

}

else {

int end=text.length();

int len=str1.length();

int start=content.getSelectionEnd();

if(start==end) start=0;

for(;start<=end-len;start++){

if(text.substring(start,start+len).equals(str1)){

content.setSelectionStart(start);

content.setSelectionEnd(start+len);

return;

}

}

//若找不到待查字符串,则将光标置于末尾

content.setSelectionStart(end);

content.setSelectionEnd(end);

}

}

});

dialog.setResizable(false);

dialog.setVisible(true);

}

});

//转到菜单项的功能实现

turntoitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

}

});

//全选菜单项的功能实现

allitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

content.selectAll();

}

});

//反向选择菜单项的功能实现

fanxiangitem.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) {

}

});

//选择汉字菜单项的功能实现

chieseitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

}

});

//时间菜单项的功能实现

dateitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

}

});

//创建格式菜单上的各个菜单项并添加到菜单上

CheckboxMenuItem lineturnitem = new CheckboxMenuItem("自动换行(W)");

formatmenu.add(lineturnitem);

formatmenu.addSeparator();

MenuItem worditem = new MenuItem("字体(F)");

formatmenu.add(worditem);

worditem.setEnabled(true);

formatmenu.addSeparator();

MenuItem coloritem = new MenuItem("字体颜色(C)");

formatmenu.add(coloritem);

//添加监听器来实现格式菜单上的各个菜单项的功能

//自动换行菜单项的功能实现

lineturnitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

}

});

//字体菜单项的功能实现

worditem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

final JFrame ztsz = new JFrame("字体设置...");//字体设置窗口

//字体

ztsz.setLocation(150, 200);

jf.setEnabled(false);//文本编辑窗体不可用!

final JComboBox jc = new JComboBox(

GraphicsEnvironment.getLocalGraphicsEnvironment()

.getAvailableFontFamilyNames());

jc.setLocation(30, 80);

Container c = ztsz.getContentPane();

JPanel jp = new JPanel();

jp.add(jc,new FlowLayout());

//字形

String[] faceString={"正常","粗体","斜体","粗斜体"};

String[] sizeString={"初号","小初","一号","小一","二号","小二",

"三号","小三","四号","小四","五号","小五","六号","小六","七号",

"八号","5","8","9","10","11","12","14","16","18","20","22","24",

"26","28","36","48","72"};

final JComboBox zx = new JComboBox(faceString);

final JComboBox dx = new JComboBox(sizeString);

final JButton sure = new JButton("确定");

final JButton cancel = new JButton("取消");

jp.add(zx);

jp.add(dx);

jp.add(sure);

jp.add(cancel);

c.add(jp);

//确定

sure.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){//将文本设置成所选的字体

if(!content.getText().equals("")){

content.setFont(new Font(

jc.getActionCommand(),zx.getSelectedIndex(),

dx.getSelectedIndex()));

jf.setEnabled(true);//文本编辑窗体可用

ztsz.dispose();

}

else{

JOptionPane.showMessageDialog(null,

"您的文本中还没有内容,请输入内容后重新设置!"

,"消息...",https://www.wendangku.net/doc/bb3784092.html,RMATION_MESSAGE);

jf.setEnabled(true);

ztsz.dispose();

}

}

});

cancel.addActionListener(new ActionListener(){//取消

public void actionPerformed(ActionEvent e){

jf.setEnabled(true);//文本编辑窗体可用

ztsz.dispose();//关闭字体设置窗体

}

});

ztsz.setSize(360, 100);//设置窗体长度100和宽度360

ztsz.setVisible(true);//窗体可见

ztsz.setResizable(false);//禁止放大窗体

}

});

//字体颜色菜单项的功能实现

coloritem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

color=JColorChooser.showDialog(jf,"",color);

content.setForeground(color);

}

});

//添加监听器来实现查看菜单上的各个菜单项的功能

//字数统计菜单项的功能实现

MenuItem countitem = new MenuItem("字数统计(C)");

viewmenu.add(countitem);

countitem.setEnabled(true);

countitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

}

});

//状态栏菜单项的功能实现

MenuItem stateitem = new MenuItem("状态栏(S)");

viewmenu.add(stateitem);

stateitem.setEnabled(false);

stateitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

}

});

//创建帮助菜单上的各个菜单项并添加到菜单上

MenuItem findhelpitem = new MenuItem("查看帮助(H)");

helpmenu.add(findhelpitem);

findhelpitem.setEnabled(false);

helpmenu.addSeparator();

MenuItem aboutboxitem = new MenuItem("关于记事本(A)");

helpmenu.add(aboutboxitem);

helpmenu.addSeparator();

MenuItem writeritem = new MenuItem("关于作者(S)");

helpmenu.add(writeritem);

//添加监听器来实现帮助菜单上的各个菜单项的功能

//查看帮助菜单项的功能实现

findhelpitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

}

});

//关于记事本菜单项的功能实现

aboutboxitem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

JOptionPane.showMessageDialog(jf,"本软件由孤独的野狼制作!\n如需要源代码,随时欢迎联系作者!\n" +

"作者邮箱:sunchuanhui212@https://www.wendangku.net/doc/bb3784092.html,\nQQ号:2442701497\n本程序基本上实现了Microsoft记事本的功能\n" +

"并新增了“反向选择”,“选择汉字”\n" +

"“字数统计”,“自动保存”等功能 ...\n希望您喜欢!\n" +

"如有任何疑问及改善意见,随时欢迎指出,\n我们将尽最大的努力满足您的需求!\n" +

"最后谢谢您的使用!\n版权所有,请勿侵权!","关于记事本...",https://www.wendangku.net/doc/bb3784092.html,RMATION_MESSAGE);

}

});

//关于作者菜单项的功能实现

writeritem.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

JOptionPane.showMessageDialog(jf,"作者:孤独的野狼\n性别:男\n籍贯:湖南邵阳\n出生日:1990年11月9日\n" +

"本科院校:上海应用技术学院\n现居地:上海\n自我介绍:不帅也不丑\n偶像:爱因斯坦\n" +

"最喜欢的歌手:刀郎\n最向往的地方:北京\n座右铭:疯狂源自梦想\n" +

" 勤奋铸就辉煌\n最喜欢的话:我愿变成一座石桥,受五百年风吹,五百年雨打,\n" +

" 五百年日晒,只求你从上面走过...\n" +

"梦想:天地有多大,梦有多潇洒\n","关于作者...",https://www.wendangku.net/doc/bb3784092.html,RMATION_MESSAGE);

}

});

//关闭程序事件

jf.addWindowListener(new WindowAdapter(){

//程序关闭时的方法

public void windowClosing(WindowEvent e){

int option = JOptionPane.showConfirmDialog(null, "您确定关闭吗?",

"关闭提示....",JOptionPane.OK_CANCEL_OPTION,JOptionPane.WARNING_MESSAGE);

if(option == JOptionPane.OK_OPTION){

((Window) e.getComponent()).dispose();

System.exit(0);

}

}

});

}

public static void main(String[] args){

new notebook();

}

}

//新构想:

//记事本程序添加音乐盒功能,音乐在后台播放

//程序并不实际保存音乐文件,只保存音乐文件的地址

//为程序保留20M空间或20M的数据库用于音乐播放

//为本程序添加自动保存功能,每一分钟保存一次,后台保存

//可能要用到多线程

//如果用户选择的保存地址与默认的地址不同,则删除默认地址保存的文件//并且在本次操作中一直使用用户选择的保存地址

//但在下次操作时仍使用本程序默认的地址

//告诉用户默认的地址,让用户能找到程序为用户保存的文件

//最好在“关于记事本”的文档中插入相应的超链接,方便用户

//这样做能让用户在出现死机和突然断电时劳动成果不至于付诸东流

如何用记事本编写一个简单的java代码

如何用记事本编写一个简单的j a v a代码 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

一:怎么用记事本写第一个java代码 第一步:新建txt文档 首先我们在F盘新建一个txt文档,并命名为,如下图所示: 第二步:编写代码 我们双击打开:如下图所示 第三步:编写好代码 我们在记事本中写代码,写好后如下所示:

然后我们同时按Ctrl+s键保存,然后关闭记事本即可 上面的源代码如下: public class Test{//这里的Test为类名,这里类名要与我们刚才新建的记事本的名字必须一致,首字母大写 public static void main(String[] args){//java中的主函数的写法 "HelloWorld");//java中的输出语句写法 } } 第三步:打开控制台界面 我们在计算机中,打开如下图界面,

然后在这里,输入cmd,并按回车,然后弹出如图所示

第四步:在控制台中运行并输出 我们用鼠标点击一下里面黑色部分,然后输入F:然后回车,然后再输入javac 然后回车,最后输入java Test,就可以看到结果了,如下图所示:

红色圈出来部分就是结果了 二:温馨提示: 1,上面演算中在控制台中首先输入F:的原因是因为我在F盘建立一个文本文档,并命名为,如果你是把你的文档文档建立在D盘,则应该输入D: 以此类推。 2,如果你是在F盘下的CH文件夹建立一个记事本,并命名为,则输入的情况如下, cd CH表示转到CH这个文件夹下,然后再输入回车,再输入java Test 就可以看到运行结果了

java记事本课程设计论文附源码

设计题目:记事本课程设计 专业:电子信息科学与技术 班级:电子1202班 学号:20121210606 姓名:王鹏 2015 年7月

XXX学院本科学生课程设计任务书

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。此次课程设计主要通过编写一个简单的记事本程序使我们深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等内容。此简易记事本程序,使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能。该程序主要用到了Java swing和事件监听等。 关键词记事本程序,java语言,Java swing

目录 摘要 (1) 1 需求分析 (3) 1.1需求分析 (3) 1.2功能设计 (3) 2 概要分析 (4) 2.1概要设计思想 (4) 2.2程序运行界面 (4) 2.3程序模块说明 (4) 2.4流程图 (5) 2.5程序相关说明 (6) 3 程序详细设计与分析 (8) 3.1构建菜单栏及其下拉菜单 (8) 3.2“文件”菜单操作的事件监听 (8) 3.3“编辑”、“格式”等菜单的事件监听 (10) 3.4异常处理 (11) 4 测试分析 (12) 5 源程序清单 (15) 结论 (22) 参考文献 (23)

1 需求分析 1.1需求分析 现在网络上各种文档编辑器数不胜数,有EmEditor ,UEStudio ,GridinSoft Notepad ,Notepad++,win32pad ,SkimEdit,UniRed, xint 。功能也是应有尽有,有能改变字体的,有能改变文字颜色的。但是,这些软件又存在各种各样的瑕疵或问题:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。仅从日常应用方面来说,一个文本编辑器只需一些简单实用的功能就够了。本程序设计就是依照这样一种使用需要设计了一个简单的记事本程序。 1.2功能设计 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: 1、菜单中有“文件”,“编辑”,“格式”,“查看”,“帮助”五个主菜单。 2、“文件”有“新建”“打开”“保存”“另存为”“退出”五个子菜单:分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 3、“编辑”中有“撤销”“剪切”“复制”“粘贴”“全选”“时间/日期”六个字菜单:用于撤销操作,剪切文字,复制文字,粘贴文字。全部选择,插入日期、时间。 4、“格式”菜单中有“自动换行”和“字体”两个子菜单。 5、“查看”菜单只是显示状态栏。 6、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

JAVA简单记事本程序设计实验报告(带源码).

JAVA程序设计 实验报告 院系:信息工程系 专业:计算机应用技术 班级:11计算机01班 姓名:Civen 任课教师:XXX 实验题目:JA V A简单记事本程序设计

目录 目录 (1) 一、引言 (2) 1.1 课程设计目的 (2) 1.2 题目说明 (2) 1.3 开发工具介绍 (2) 二、总体设计 ......................................................................... - 4 - 2.1系统开发平台.............................................................. - 4 - 2.2 系统流程图 (4) 2.3功能结构图.................................... 错误!未定义书签。 2.4数据库设计.................................... 错误!未定义书签。 三、详细说明 (4) 3.1 系统实施................................................................... - 11 - 四、系统的调试和运行 (9) 五、课程设计总结 (9) 六、参考文献 (9) 附录(源程序代码) (10)

一、引言 1.1 课程设计目的 1) 复习,巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握; 2) 课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和 实际有机的结合起来,锻炼学生的分析解决实际问题的能力,提高学生适应实际,实践编程的能力; 3) 培养学生在项目开发中团队合作精神,创新意识及能力。 1.掌握窗口、菜单等高级组件的应用。 2.掌握Java Swing的使用方法。 3.了解GUI应用程序的创建过程与方法。 1.2 题目说明 课题:学生成绩管理 4.功能要求: 编写一个简单记事本程序,要求包含以下菜单项 文件新建、打开、保存、退出 编辑剪切、拷贝、粘贴、查找 帮助关于 5.实现文件和编辑菜单里的功能 1.3 开发工具介绍 Eclipse是一种可扩展的开放源代码IDE。2001年11月,IBM公司捐出价值4,000万美元的源代码组建了Eclipse联盟,并由该联盟负责这种工具的后续开发。集成开发环境(IDE)经常将其应用范围限定在“开发、构建和调试”的周期之中。为了帮助集成开发环境(IDE)克服目前的局限性,业界厂商合作创建了Eclipse平台。Eclipse允许在同

java课程设计简单记事本开发内附完整代码流程图等

浙江科技学院 经济管理学院 JAVA语言课程设计报告 选题名称简单记事本开发 学生学号 专业班级 学生姓名 学生成绩 指导教师朱军 工作时间2012/06/27——2012/06/29

目录 第一章选题简介 主要利用面向对象的程序设计语言Java来实现简单记事本,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切,查找,替换等功能,区别于一般的记事本,本程序利用了Java swing和事件监听等能够对文字的颜色进行设置。 第二章需求分析 1.系统要实现的目标分析 菜单中有文件,编辑,格式,视图风格,帮助五个主菜单。 (1)“文件”有新建、打开、保存、另存为、退出五个子菜单:分别用于新建文件,打开文件,保存文件,更改存储地址,退出记事本。 (2)“编辑”中有复制、剪切、粘贴、删除、查找、查找下一个、替换、替换下一个、全选、日期/时间十个字菜单:用于复制文字,剪切文字,粘贴文字,删除文字,查找文字,查找下一个文字,替换文字,替换下一个文字,选择文字,添加日期和者时间。 (3)“格式”中有字体样式、字体大小、字体颜色,自动换行。字体样式中又包含了正常、粗体、斜体3中字体样式,可以对文字的字体样式做修改。字体大小中又包含了最大、较大、适中、较小、最小这5个大小范围。字体颜色可以对字体进行颜色上的修改,是字体更加漂亮。自动换行能够实现文档在编辑是需要的自动换行功能。 (4)“视图风格”中有MOTIF风格,默认风格,状态栏。当用户选择MOTIF 风格,软件界面会切换成MOTIF风格界面。当用户选择默认风格,软件界面会切换成默认风格界面。点击状态栏时可以对状态栏进行显示和隐藏。 (5)“帮助”中有帮助主题和关于,可以解决用户在使用记事本中的一些问题。 (6)“快捷键”,在菜单栏下面增加了一排快捷键,可以对稳定进行快速的修改、操作等命令。快捷键主要有新建、打开、保存、复制、剪切、黏贴、删除、查找、字体颜色、帮助主题、退出。 2.对输入输出数据及流程的分析 本次设计中,设计了一个菜单栏和文本内容区。设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。JMenu用来制作菜单,JTextPane主要用来输入文本。为了加入颜色的设置,所以加了一个JColorChooser组件。整个记事本分为2块:菜单栏和内容输入区。本程序中首先定义一个myfr类继承JFrame作为最底层容器。Textcontent为程序文本输入区。Menu为菜单栏。AboutDialog为关于对话框。要想记事本完成需求分析中相

(完整版)JAVA记事本源代码毕业设计

以下文档格式全部为word格式,下载后您可以任意修改编辑。 JAVA记事本源代码 import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; import java.io.*; import javax.swing.undo.*; import javax.swing.*; import javax.swing.event.*; import java.awt.datatransfer.*; import java.util.List; public class Notepad4 extends JFrame implements ActionListener, DocumentListener { JMenu mFile, mEdit, mMode, mView, mHelp; ---文件菜单 JMenuItem mFile_New, mFile_Open, mFile_Save, mFile_ASave, mFile_Print, mFile_Exit; ---编辑菜单 JMenuItem mEdit_Undo, mEdit_Cut, mEdit_Copy, mEdit_Paste, mEdit_Del, mEdit_Search, mEdit_SearchNext, mEdit_Replace, mEdit_Turnto, mEdit_SelectAll, mEdit_TimeDate;

---格式菜单 JCheckBoxMenuItem formatMenu_LineWrap; JMenu formatMenu_Color; JMenuItem formatMenu_Font, formatMenu_Color_FgColor, formatMenu_Color_BgColor; ---查看菜单 JCheckBoxMenuItem viewMenu_Status; ---帮助菜单 JMenuItem mHelp_HelpTopics, mHelp_About; ---弹出菜单级菜单项 JPopupMenu popupMenu; JMenuItem popupMenu_Undo, popupMenu_Cut, popupMenu_Copy, popupMenu_Paste, popupMenu_Delete, popupMenu_SelectAll; ---工具栏按钮 JButton newButton, openButton, saveButton, saveAsButton, printButton, undoButton, redoButton, cutButton, copyButton, pasteButton, deleteButton, searchButton, timeButton, fontButton, boldButton, italicButton, fgcolorButton, bgcolorButton, ; 文本编辑区域 static JTextArea Text; 状态栏标签 JLabel statusLabel1, statusLabel2, statusLabel3; JToolBar statusBar; ---系统剪贴板 Toolkit toolKit = Toolkit.getDefaultToolkit();

用Java程序编写一个记事本程序的设计报告

用Java程序编写一个记事本程序的 设计报告 学习中心(点):泾阳学习中心 专业:计算机科学与技术 层次:专升本 姓名:李永固 批次: 112

目录 一、设计分析 (1) 二、程序结构 (1) 三、各模块的功能及程序说明 (2) 1、类设计 (2) 2、主要功能代码实现 (4) 四、源程序 (9) 五、操作方法 (20) 六、试验结果 (20) 七、设计体会 (22)

用Java程序编写一个记事本程序的设计报告 一、设计要求 1.用图形用户界面实现。 2.能实现编辑、保存、另存为、查找替换等功能。 二、程序结构 流程图: 图1基本流程图

本Java文本编辑器功能设计如下: 图2基本功能图 三、各模块的功能及程序说明 1、类设计 (1)类MiniText ,包括initTextPane方法初始化面板,initMenu()方法初始化菜单,initAboutDialog()方法初始化关于对话框,initToolBar()方法初始化工具栏,initRightKey()方法初始化右键设置,等方法。类成员如下:

(2)类Loading (实现登陆)类成员如下:

(3)类runtime (实现时间同步) 类成员如下: (4)类MainFunction (包含主函数) 类成员如下: 2、主要功能代码实现 (1)登陆界面: class Loading extends JWindow implements Runnable { Thread dluThread=null; private JProgressBar progress; public Loading() { setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));//设置光标为等待状态JPanel dlu = new JPanel(new BorderLayout()); URL url = getClass().getResource("/images/loading.jpg"); if(url != null){ dlu.add(new JButton(new ImageIcon(url)), BorderLayout.CENTER); } progress = new JProgressBar(1,100); progress.setStringPainted(true); progress.setBorderPainted(true); progress.setBackground(Color.white); progress.setForeground(Color.green); dlu.add(progress,BorderLayout.SOUTH); setContentPane(dlu); //设置窗口属性为登陆面板属性 Dimension screen = getToolkit().getScreenSize(); pack(); //显示登陆界面 setLocation(screen.width/4,screen.height/4); //设置登陆界面始终在屏幕中间显示 } public void start(){ // this.toFront(); dluThread=new Thread(this); dluThread.start(); } public void run(){ show();

仿windows JAVA 课程设计 记事本

前言 随时着科学技术的快速发展,计算机程序设计早已成为了趋势,JAVA是计算机专业的核心课程,是计算机科学的算法理论基础和软件设计的技术基础。JAVA是实践性很强的课程。课程设计是加强实践能力的一个强有力手段。要求掌握JAVA的应用、编写、上机调试的基本方法。本课程设计就是主要利用java语言编写的一个模仿windows 记事本的较简单的程序,实现了一些基本功能,要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现输入文本文件、控制保存文本信息到指定的文件的功能。 目录 一、需求分析 (1) 二、概要设计 (1) 三、详细设计 (2) 四、系统调试分析 (6) 五、课程设计心得体会 (7) 六、使用说明 (7) 七、参考文献及致 (7) 八、附录(程序源代码) (7)

一、需求分析 该课程设计报告里的简易记事本程序是使用Java程序设计语言编写的,要现记事本的基本功能,参考了windows中记事本的一些功能。要求打开文件,读取文件中的文本信息;显示、编辑修改文本信息;实现新建、打开、保存文本文件以及控制保存文本信息到指定的文件的一些基本功能。 二、概要设计 1.1 系统主要功能 本程序是利用java程序设计语言编写的一个简单的记事本程序。可以通过菜单栏和工具栏实现以下功能:如文件的新建,打开,保存和退出;对文件的编辑,如复制,剪切,粘贴;以及帮助菜单;执行完操作后,能够顺利关闭记事本。 1.2运行环境要求 (1) 实现设计的系统硬件需求 硬件配置的基本要求: * 586以上的计算机 * 32MB以上的存 * 彩色显示器 * 3.5寸高密软盘驱动器 * 光盘驱动器 * 4G以上硬盘空间 * 鼠标 (2) 实现设计的系统软件 * WINDOWS95或WINDOWS98 * Jcreator Pro全套软件 三、详细设计 设计思路:设计一个EditorDemo类,继承自JFrame类,并在EditorDemo类利用JtextPane 创建面板窗口textPane,利用Jlabel创建状态栏 statusBar,利用JFileChooser 创建文件选择器filechooser,利用JMenuBar创建并实例化菜单栏,利用JToolBar创建工具栏,再通过一些具体方法实现各功能键的功能。建立构造函数public EditorDemo();通过该构造函数实现记事本程序的主要功能,运行时在主类过调用该构造函数来实现对记事本程序的基本操作。 1:窗口设计 在主接口中设计一个EditorDemo容器继承自JFrame,并在其中加入菜单栏、工具栏和一个文本域控件。

JAVA课程设计-编写一个记事本程序

Java语言程序设计B报告 题目:编写一个记事本程序 一.要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。 二.课程设计思路。 设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。 在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 三.课程设计实现功能结构图。 3.1“文件”菜单。

3.2“编辑”菜单。

四.记事本实现功能代码实现。 4.1.界面设计。 主要代码: f=new Frame(s); p1=new TextArea(""); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑"); item1=new MenuItem("新建"); item2=new MenuItem("打开"); item3=new MenuItem("保存"); item4=new MenuItem("另存为"); item5=new MenuItem("退出"); item6=new MenuItem("全选"); item7=new MenuItem("复制"); item8=new MenuItem("剪切"); item9=new MenuItem("粘贴"); menu1.add(item1); menu1.add(item2);

Java记事本源代码(完整)

/** * 作品:记事本 * 作者:*** * 功能:简单的文字编辑 */ import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; class NotePad extends JFrame{ private JMenuBar menuBar; private JMenu fielMenu,editMenu,formMenu,aboutMenu; private JMenuItem newMenuItem,openMenuItem,saveMenuItem,exitMenuItem; private JMenuItem cutMenuItem,copyMenuItem,pasteMenuItem,foundItem,replaceItem,s electAll; private JMenuItem font,about; private JTextArea textArea; private JFrame foundFrame,replaceFrame; private JCheckBoxMenuItem wrapline; private JTextField textField1=new JTextField(15); private JTextField textField2=new JTextField(15); private JButton startButton,replaceButton,reallButton; int start=0; String value; File file=null; JFileChooser fileChooser=new JFileChooser(); boolean wrap=false; public NotePad(){ //创建文本域 textArea=new JTextArea(); add(new JScrollPane(textArea),BorderLayout.CENTER); //创建文件菜单及文件菜单项 fielMenu=new JMenu("文件"); fielMenu.setFont(new Font("微软雅黑",0,15)); newMenuItem=new JMenuItem("新建",new

(完整word版)如何用记事本编写一个简单的java代码

一:怎么用记事本写第一个java代码? 第一步:新建txt文档 首先我们在F盘新建一个txt文档,并命名为Test.java,如下图所示: 第二步:编写代码 我们双击打开:如下图所示 第三步:编写好代码 我们在记事本中写代码,写好后如下所示:

然后我们同时按Ctrl+s键保存,然后关闭记事本即可 上面的源代码如下: public class Test{//这里的Test为类名,这里类名要与我们刚才新建的记事本的名字必须一致,首字母大写 public static void main(String[] args){//java中的主函数的写法 System.out.println("HelloWorld");//java中的输出语句写法} } 第三步:打开控制台界面 我们在计算机中,打开如下图界面,

然后在这里,输入cmd,并按回车,然后弹出如图所示

第四步:在控制台中运行并输出 我们用鼠标点击一下里面黑色部分,然后输入F:然后回车,然后再输入javac Test.java然后回车,最后输入java Test,就可以看到结果了,如下图所示:

红色圈出来部分就是结果了 二:温馨提示: 1,上面演算中在控制台中首先输入F:的原因是因为我在F盘建立一个文本文档,并命名为Test.java,如果你是把你的文档文档建立在D盘,则应该输 入D: 以此类推。 2,如果你是在F盘下的CH文件夹建立一个记事本,并命名为Test.java,则输入的情况如下, cd CH表示转到CH这个文件夹下,然后再输入java.Test.java回车,再输入java Test就可以看到运行结果了 3,如果你在D盘下的CH的文件夹下新建一个为ch 的文件夹,并且在ch的文件夹下新建一个txt文

安卓记事本程序源代码

1?¢MainActivity 01.package cn.dccssq; 02. 03.import android.app.ListActivity; 04.import android.content.Intent; 05.import android.database.Cursor; 06.import android.os.Bundle; 07.import android.util.Log; 08.import android.view.Menu; 09.import android.view.MenuItem; 10.import android.view.View; 11.import android.widget.ListAdapter; 12.import android.widget.ListView; 13.import android.widget.SimpleCursorAdapter; 14. 15.public class MainActivity extends ListActivity { 16. 17. private static final int INSERT_ID = Menu.FIRST; 18. 19. private static final int DELETE_ID = Menu.FIRST + 1; 20. 21. private static final int ACTIVITY_CREATE = 0; 22. 23. private static final int ACTIVITY_EDIT = 1; 24. 25. private DiaryDbAdapter diaryDb; 26. 27. private Cursor cursor; 28. /** Called when the activity is first created. */ 29. @Override 30. public void onCreate(Bundle savedInstanceState) { 31. super.onCreate(savedInstanceState); 32. setContentView(https://www.wendangku.net/doc/bb3784092.html,yout.main); 33. 34. diaryDb =new DiaryDbAdapter(this); 35. diaryDb.open(); 36. 37. } 38. 39. private void showListView(){

如何用记事本编写一个简单的java代码

:怎么用记事本写第一个java代码? 第一步:新建txt文档 首先我们在F盘新建一个txt文档,并命名为Test.java, 如下图所示: 第二步:编写代码 我们双击打开:如下图所示 第三步:编写好代码 我们在记事本中写代码,写好后如下所示:

立耿円?|r K£|D| *51CH1 piAlit! d曲g仁就</7述里的Test为类各煤里类名象与我们月眼;新建时记事北的名字挹须一毀”首宇母九马tmblic static void mln(Strlns□ ar厨申的圭昌揪的骂法 jvsikim. out. print In(or Id"1. j^u 申的:址出话甸旨三 然后我们同时按Ctrl+s键保存,然后关闭记事本即可上面的源代码如下: public class Test{/这里的Test为类名,这里类名要与我们刚才新建的记事本的名字必须一致,首字母大写 public static void main(String[] args){//java 中的主函数的写法 System.out.println("HelloWorld");//java 中的输出语句写法} } 第三步:打开控制台界面 我们在计算机中,打开如下图界面,

然后在这里,输入cmd,并按回车,然后弹出如图所示

第四步:在控制台中运行并输出 我们用鼠标点击一下里面黑色部分,然后输入F:然后回车,然后再输入javac Test.java然后回车,最后输入java Test就可以看到结果了,如下图所示:

红色圈出来部分就是结果了 —:温馨提示: 1,上面演算中在控制台中首先输入F:的原因是因为我在F盘建立一个文本文档,并命名为Test.javq如果你是把你的文档文档建立在D盘,则应该输入D:以此类推。2,如果你是在F盘下的CH文件夹建立一个记事本,并命名为Test.java则输入的情况如下,

java编写的记事本源代码

import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.text.*; import javax.swing.event.*; public class IJMFrame extends JFrame { Document document = null; JTextArea textArea = new JTextArea(); JScrollPane scrollPane = new JScrollPane(textArea); EditController controller; //------ 定义菜单变量------// JMenuBar menuBar = new JMenuBar(); JMenu menuFile = new JMenu("文件"); JMenu menuEdit = new JMenu("编辑"); JMenu menuFormat = new JMenu("格式"); JPopupMenu memuPopup = new JPopupMenu(); JMenuItem itemNew = new JMenuItem("新建"); JMenuItem itemOpen = new JMenuItem("打开"); JMenuItem itemSave = new JMenuItem("保存"); JMenuItem itemSaveAs = new JMenuItem("另存"); JMenuItem itemExit = new JMenuItem("退出"); JMenuItem itemUndo = new JMenuItem("撤消"); JMenuItem itemCut = new JMenuItem("剪切"); JMenuItem itemCopy = new JMenuItem("复制"); JMenuItem itemPaste = new JMenuItem("粘贴"); JMenuItem itemDelete = new JMenuItem("删除"); JMenuItem itemFind = new JMenuItem("查找"); JMenuItem itemReplace = new JMenuItem("替换"); JMenuItem itemSelectAll = new JMenuItem("全选"); JMenuItem itemFont = new JMenuItem("字体"); //------------定义右键菜单------------------------// JMenuItem popupMenu_Undo=new JMenuItem("撤销"); JMenuItem popupMenu_Cut=new JMenuItem("剪切"); JMenuItem popupMenu_Copy=new JMenuItem("复制"); JMenuItem popupMenu_Paste=new JMenuItem("粘贴"); JMenuItem popupMenu_Delete=new JMenuItem("删除"); JMenuItem popupMenu_SelectAll=new JMenuItem("全选"); public IJMFrame() { super("记事本");

JAVA课程设计 编写一个记事本程序

Java语言程序设计B报 告 班级: 学号: 姓名: 成绩: 2012年12月

题目:编写一个记事本程序一.课程设计题目概要。 1.1课程设计目的 1.2题目设计要求 二.课程设计思路。 三.课程设计实现功能结构图。 3.1“文件”菜单。 3.2“编辑”菜单。 四.记事本实现功能代码实现。 4.1界面设计代码实现及实现截图。 4.2功能代码详细设计 4.2.1新建文件 4.2.2打开文件 4.2.3复制文件 4.2.4粘贴文件 4.2.5退出记事本 五.JAVA课程设计个人总结。 附:JAVA课程设计程序源代码

一.课程设计题目概要。 1.1课程设计目的。 按照老师要求,编写一个记事本程序,并可以实现老师要求的相关功能。在课程设计过程中,复习巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握,将课本上的理论知识和实际有机的结合起来,锻炼自己的分析解决实际问题的能力,提高自己实践编程的能力。 1.2题目设计要求。 要求:用图形用户界面实现。能实现编辑、保存、另存为、查找替换等功能。提示:使用文件输入输出流。 二.课程设计思路。 设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。 在主界面中设计一个Frame容器,并在其中加入一个下拉菜单和一个文本域控件,把该容器设置为GridLayout(1,1)布局。 三.课程设计实现功能结构图。 3.1“文件”菜单。

3.2“编辑”菜单。

四.记事本实现功能代码实现。 4.1.界面设计。 主要代码: f=new Frame(s); p1=new TextArea(""); f.setSize(400,600); f.setBackground(Color.white); f.setVisible(true); menubar=new MenuBar(); menu1=new Menu("文件"); menu2=new Menu("编辑"); item1=new MenuItem("新建"); item2=new MenuItem("打开"); item3=new MenuItem("保存"); item4=new MenuItem("另存为"); item5=new MenuItem("退出"); item6=new MenuItem("全选"); item7=new MenuItem("复制"); item8=new MenuItem("剪切"); item9=new MenuItem("粘贴"); menu1.add(item1); menu1.add(item2);

JAVA简单记事本程序(源代码)课程设计

辽宁工业大学 JA V A程序设计课程设计(论文)题目: JAVA简单记事本程序 院(系):软件学院 专业班级:软件工程班 学号: 学生姓名: 指导教师: 教师职称: 起止时间:

程序设计专题(报告)任务及评语

目录 第1章课程设计的目的与要求 (4) 1.1 课程设计目的 (4) 1.2 课程设计的实验环境 (4) 1.3 课程设计的预备知识 (4) 1.4 课程设计要求 (4) 第2章课程设计内容 (5) 2.1课题描述 (5) 2.2 系统设计 (5) 2.2.1功能分析 (5) 2.2.2面向对象设计 (5) 2.2.3详细设计 (7) 2.3程序实现 (10) 2.3.1源码分析 (10) 2.3.1运行结果 (14) 第3章总结 (18) 参考文献19

第1章课程设计的目的与要求 1.1 课程设计目的 《JA V A程序设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。实践教学环节是必不可少的一个重要环节。本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JA V A程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。 1.2 课程设计的实验环境 硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。 1.3 课程设计的预备知识 熟悉JAVA语言及ECLIPSE开发工具。 1.4 课程设计要求 按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JA V A程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。

基于java的记事本程序课程设计(含源文件)

1 问题描述 设计一个具有GUI界面的记事本,含有简单的文字编辑功能,如:剪切、复制、粘贴、删除;还能实现保存、另存为、设置字体和颜色等功能。 这次课程设计由**、**和我三个人合作完成。**主要负责3概要设计和5测试分析。**4.1GUI程序界面设计,我负责4. 2JM4类的实现。由于4.3事件处理和撰写程序关系密切,这两项都由**负责。 2 需求分析 本程序要构建的记事本程序参照了Windows操作系统的记事本工具,其功能有以下几个方面: (1)、菜单中有“文件”、“编辑”、“格式”、“帮助”四个主菜单; (2)、“文件”有“新建”、“打开”、“保存”、“另存为”、“退出”分别用于新建文件,打开文件,保存文件,另存文件,退出记事本。 (3)、“编辑”有“剪切”、“复制”、“粘贴”三个子菜单:用于剪切文字,复制文字,粘贴文字,删除文字。 (4)、“格式”中,有“字体”、“颜色”两个子菜单:用于设置文字的字体而和颜色,字体有“宋体”、“楷体”、“黑体”颜色有“红”、“蓝”、“绿”。 (5)、“帮助”菜单中有“关于”的子菜单,用于描述记事本程序的相关信息。 (6)、还有弹出菜单也能实现“剪切”、“复制”、“粘贴”三个子菜单的功能。 3 概要设计 3.1自定义类说明 3.1.1 类名: JM (1)作用: 主类 (2)继承的父类: JFrame类 (3)成员变量说明: JMenuBar mb=new JMenuBar(); //定义一个菜单项 /******定义各个菜单及其菜单项******/

JMenu m1=new JMenu("文件(F)"); JMenuItem n=new JMenuItem("新建"); JMenuItem open=new JMenuItem("打开(O)... Ctrl+O"); JMenuItem save=new JMenuItem("保存(S)... Ctrl+S"); JMenuItem save_as=new JMenuItem("另存为(A)...Ctrl+A"); JMenuItem exit=new JMenuItem("退出"); JMenu m2=new JMenu("编辑(E)"); JMenuItem copy=new JMenuItem("复制(C) Ctrl+C"); JMenuItem cut=new JMenuItem("剪切(X) Ctrl+X"); JMenuItem paste=new JMenuItem("粘贴(P) Ctrl+P"); JMenu m3=new JMenu("格式(O)"); JMenu f1=new JMenu("字体(F)"); JMenuItem i11=new JMenuItem("宋体"); JMenuItem i12=new JMenuItem("楷体"); JMenuItem i13=new JMenuItem("黑体"); JMenu color=new JMenu("颜色(C)"); JMenuItem i21=new JMenuItem("红"); JMenuItem i22=new JMenuItem("蓝"); JMenuItem i23=new JMenuItem("绿"); JMenu m4=new JMenu("帮助(H)"); JMenuItem about=new JMenuItem("关于"); /*****定义弹出菜单及其菜单项*****/ JPopupMenu pm=new JPopupMenu(); JMenuItem item1=new JMenuItem("复制"); JMenuItem item2=new JMenuItem("剪切"); JMenuItem item3=new JMenuItem("粘贴"); /***********编辑区**********/ String s;

相关文档
相关文档 最新文档