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

用Java程序编写一个记事本程序的设计报告
用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();

try {

for (int i=0;i<100;i++){

Thread.sleep(100);

progress.setValue(progress.getValue() + 1);

progress.setString("欢迎进入迷你编辑,请稍后... ... "+i+"%"); } }

catch (Exception ex) {

ex.printStackTrace(); }

dispose();//关闭登陆界面} }

(2).时间标签:

class runtime extends JButton implements Runnable{

Thread datetime=null;

public runtime(){}

public void run(){

for(;;){

//java.util.Date timeer=new java.util.Date();

Calendar now=Calendar.getInstance();

int year1=now.get(Calendar.YEAR);

int month1=now.get(Calendar.MONTH);

int day1=now.get(Calendar.DAY_OF_MONTH);

int hour1=now.get(Calendar.HOUR);

int minute1=now.get(Calendar.MINUTE);

int sec=now.get(Calendar.SECOND);

setText(year1+"年"+month1+"月"+day1+"日"+hour1+":"+minute1+":"+sec);

//System.out.println(now.get(Calendar.DAY_OF_MONTH)-60);

try{

Thread.currentThread().sleep(1000);

}catch(InterruptedException e){} } }}

(3)右键的实现:

void initRightKey (){

filepopup=new JPopupMenu();

uundo=new JMenuItem("撤消(U)");

uundo.setMnemonic('U');

ccut=new JMenuItem("剪切(T)");

ccut.setMnemonic('T');

ccopy=new JMenuItem("复制(C)");

ccopy.setMnemonic('C');

ppaste=new JMenuItem("粘贴(V)");

ppaste.setMnemonic('V');

ddelete=new JMenuItem("删除(D)");

ddelete.setMnemonic('D');

sselectall=new JMenuItem("全选(A)");

sselectall.setMnemonic('A');

filepopup.add(uundo);

filepopup.addSeparator();

filepopup.add(ccut);

filepopup.add(ccopy);

filepopup.add(ppaste);

filepopup.add(ddelete);

filepopup.addSeparator();

filepopup.add(sselectall);

uundo.addActionListener(action);

ccut.addActionListener(action);

ccopy.addActionListener(action);

ppaste.addActionListener(action);

ddelete.addActionListener(action);

sselectall.addActionListener(action);

text.addMouseListener(new MouseAdapter(){

public void mousePressed(MouseEvent event){

checkForTriggerEvent(event);

}

public void mouseReleased(MouseEvent event){

checkForTriggerEvent(event);

}public void checkForTriggerEvent(MouseEvent event){

if(event.isPopupTrigger()){

filepopup.show(event.getComponent(),event.getX(),event.getY());

} }}); }

(4)打开、保存、复制、粘贴、撤销等功能事件响应实现:

//事件处理

ActionListener action = new ActionListener()

{

public void actionPerformed(ActionEvent e)

{ JMenuItem mi = (JMenuItem)e.getSource();

String id = mi.getText();

if(id.equals("新建")){

Date date=new Date();

text.setText(date.toString());

file = null;

}else if(id.equals("打开...")){

if(file != null)

filechooser.setSelectedFile(file);//为用户选择文件提供了一种简单的机制

int returnVal = filechooser.showOpenDialog(MiniText.this);

if(returnVal == JFileChooser.APPROVE_OPTION){

file = filechooser.getSelectedFile();

openFile(); } }

else if(id.equals("保存...")){

if(file != null)

filechooser.setSelectedFile(file);

int returnVal = filechooser.showSaveDialog(MiniText.this);

if(returnVal == JFileChooser.APPROVE_OPTION){

file = filechooser.getSelectedFile();

saveFile();

JOptionPane.showMessageDialog(null,"已保存");

}}

else if(id.equals("另存为")){

if(file != null)

filechooser.setSelectedFile(file);

int returnVal = filechooser.showSaveDialog(MiniText.this);

if(returnVal == JFileChooser.APPROVE_OPTION){

file = filechooser.getSelectedFile();

saveFile();

JOptionPane.showMessageDialog(null,"已保存"); } } else if(id.equals("打印")){

prt.printDialog();

}

else if(id.equals("打印页面设置")){

try {

prt.print();

} catch(Exception ew){

JOptionPane.showMessageDialog(null,"打印出错!","错误",JOptionPane.ERROR_MESSAGE);} }

else if(id.equals("退出")){ System.exit(0); }else if(id.equals("剪切")||id.equals("剪切(T)")){ text.cut();

}else if(id.equals("复制")||id.equals("复制(C)")){

text.copy();

}else if(id.equals("粘贴")||id.equals("粘贴(V)")){

text.paste(); }

else if(id.equals("删除")||id.equals("删除(D)")){

text.replaceSelection(""); }

else if(id.equals("选择全部")||id.equals("全选(A)")){

text.selectAll();

}else if(id.equals("字体颜色...")){

color = JColorChooser.showDialog(MiniText.this,"字体颜色设置",color);

text.setForeground(color);

} else if(id.equals("自动换行")){ }

else if(id.equals("撤销")||id.equals("撤消(U)")){

text.setText("");

text.selectAll();

}

else if(id.equals("查找")){

String find="查找";

find=JOptionPane.showInputDialog("查找:"); }

else if(id.equals("时间")){

time.setFont(new Font("Times New Roman",Font.PLAIN,12));

text.insertComponent(time); }

else if(id.equals("系统记事本")){

try{

String command = "notepad.exe";

Process child = Runtime.getRuntime().exec(command);//从系统进程中调用记事本}

catch (IOException ex) { }

}else if(id.equals("系统计算器")){

try{

String command = "calc.exe";

Process child = Runtime.getRuntime().exec(command);//调用系统计算器}

catch (IOException ex) { }

}else if(id.equals("关于")){

about.setSize(250,150);

about.show();

} } };

四、源程序

import java.awt.*;

import java.awt.event.*;

import javax.swing.*;

import java.io.*;

public class Notepad extends JFrame {

// 系统组件声明

private JMenuBar menuBar = new JMenuBar();

private JEditorPane content = new JEditorPane();

private JScrollPane scroll = new JScrollPane(content);

private JFileChooser filechooser = new JFileChooser() ;

private BorderLayout bord = new BorderLayout();

private JLabel statusBar = new JLabel();

private JPanel pane = new JPanel();

private File file = null;

// 定义文件菜单

private JMenu fileMenu = new JMenu();

private JMenuItem newMenuItem = new JMenuItem();

private JMenuItem openMenuItem = new JMenuItem();

private JMenuItem saveMenuItem = new JMenuItem();

private JMenuItem saveAsMenuItem = new JMenuItem();

private JMenuItem pageSetupMenuItem = new JMenuItem();

private JMenuItem printMenuItem = new JMenuItem();

private JMenuItem exitMenuItem = new JMenuItem();

// 定义风格菜单

private JMenu styleMenu = new JMenu();

private ButtonGroup styleMenuGroup = new ButtonGroup();

private JRadioButtonMenuItem javaStyleMenuItem = new JRadioButtonMenuItem(); private JRadioButtonMenuItem metalStyleMenuItem = new JRadioButtonMenuItem(); private JRadioButtonMenuItem windowsStyleMenuItem = new JRadioButtonMenuItem();

// 定义帮助菜单

private JMenuItem aboutMenuItem = new JMenuItem();

private JMenuItem helpTopicMenuItem = new JMenuItem();

private JMenu helpMenu = new JMenu();

// 构造函数

public Notepad(){

initComponents();

}

private void initComponents(){

// 添加子菜单项到文件菜单

fileMenu.setText("\u6587\u4ef6 (F)");

newMenuItem.setText("新建(N)Ctrl+N");

openMenuItem.setText("打开(O)...Ctrl+O");

saveMenuItem.setText("保存(S)Ctrl+S");

saveAsMenuItem.setText("另存为(A)...");

pageSetupMenuItem.setText("页面设置(U)...");

printMenuItem.setText("打印(P)...Ctrl+P");

exitMenuItem.setText("退出");

fileMenu.add(newMenuItem);

fileMenu.add(openMenuItem);

fileMenu.add(saveMenuItem);

fileMenu.add(saveAsMenuItem);

fileMenu.addSeparator();

fileMenu.add(pageSetupMenuItem);

fileMenu.add(printMenuItem);

fileMenu.addSeparator();

fileMenu.add(exitMenuItem);

// 添加子菜单项到风格菜单

styleMenu.setText("风格(S)");

javaStyleMenuItem.setText("Java默认");

metalStyleMenuItem.setText("Metal风格");

windowsStyleMenuItem.setText("Windows风格");

styleMenuGroup.add(javaStyleMenuItem);

styleMenuGroup.add(metalStyleMenuItem);

styleMenuGroup.add(windowsStyleMenuItem);

styleMenu.add(javaStyleMenuItem);

styleMenu.add(metalStyleMenuItem);

styleMenu.add(windowsStyleMenuItem);

// 添加子菜单项到帮助菜单

helpMenu.setText("帮助(H)");

helpTopicMenuItem.setText("帮助主题(H)");

aboutMenuItem.setText("关于记事本(A)");

helpMenu.add(helpTopicMenuItem);

helpMenu.addSeparator();

helpMenu.add(aboutMenuItem);

// 定义文件菜单下的事件监听

newMenuItem.addActionListener(new newMenuItem_actionAdapter(this)); openMenuItem.addActionListener(new openMenuItem_actionAdapter(this)); saveMenuItem.addActionListener(new saveMenuItem_actionAdapter(this)); saveAsMenuItem.addActionListener(new saveAsMenuItem_actionAdapter(this)); pageSetupMenuItem.addActionListener(new pageSetupMenuItem_actionAdapter(this)); printMenuItem.addActionListener(new printMenuItem_actionAdapter(this)); exitMenuItem.addActionListener(new exitMenuItem_actionAdapter(this));

// 定义风格菜单下的事件监听

javaStyleMenuItem.addActionListener(new javaStyleMenuItem_actionAdapter(this)); metalStyleMenuItem.addActionListener(new metalStyleMenuItem_actionAdapter(this)); windowsStyleMenuItem.addActionListener(new windowsStyleMenuItem_actionAdapter(this));

// 定义帮助菜单下的事件监听

helpTopicMenuItem.addActionListener(new helpTopicMenuItem_actionAdapter(this));

aboutMenuItem.addActionListener(new aboutMenuItem_actionAdapter(this));

// 填加菜单到菜单栏

menuBar.add(fileMenu);

menuBar.add(styleMenu);

menuBar.add(helpMenu);

// 对主窗口的一些设置

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setTitle("无标题- \u8bb0\u4e8b\u672c");

this.setSize(640,480);

setJMenuBar(menuBar);

pane.setLayout(bord);

pane.add("Center",scroll);

setContentPane(pane);

}

// 定义新建菜单项方法

public void newMenuItemActionPerformed(ActionEvent evt){

file = null;

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

Object[] options = { "是(Y)", "否(N)","取消" };

int s = JOptionPane.showOptionDialog(null, "\u6587\u4ef6 "+getTitle()+" \u7684\u6587\u5b57\u5df2\u7ecf\u6539\u53d8\u3002\n\u60f3\u4fdd\u5b58\u6587\u4ef6\u5417\uff 1f", "\u8bb0\u4e8b\u672c",

JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,

null, options, options[0]);

switch(s){

case 0:

int returnV al=filechooser.showSaveDialog(this);

if(returnV al == JFileChooser.APPROVE_OPTION) {

file=filechooser.getSelectedFile();

try{

FileWriter fw=new FileWriter(file);

fw.write(content.getText());

setTitle(filechooser.getSelectedFile().getName()+" - \u8bb0\u4e8b\u672c");

fw.close();

}

catch(Exception e){

e.printStackTrace();

}

break;

}

case 1:

content.setText("");

setTitle("无标题- \u8bb0\u4e8b\u672c");

}

}

}

// 定义打开菜单项方法

public void openMenuItemActionPerformed(ActionEvent evt){

try {

file = null;

int returnV al = filechooser.showOpenDialog(this);

if(returnV al == JFileChooser.APPROVE_OPTION){

file = filechooser.getSelectedFile();

FileReader fr = new FileReader(file);

int len = (int)file.length();

char[] buffer = new char[len];

fr.read(buffer,0,len);

fr.close();

content.setText(new String(buffer));

}

}

catch(Exception e){

e.printStackTrace();

}

}

// 定义退出菜单项方法

public void exitMenuItem_actionPerformed(ActionEvent e){

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

Object[] options = { "是(Y)", "否(N)","取消" };

int s = JOptionPane.showOptionDialog(null, "文件的文字已经改变。\n想保存文件吗?", "\u8bb0\u4e8b\u672c",

JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE,

null, options, options[0]);

switch(s){

case 0:

int returnV al=filechooser.showSaveDialog(this);

if(returnV al == JFileChooser.APPROVE_OPTION) {

file=filechooser.getSelectedFile();

try{

FileWriter fw=new FileWriter(file);

fw.write(content.getText());

setTitle(filechooser.getSelectedFile().getName()+" - \u8bb0\u4e8b\u672c");

fw.close();

}

catch(Exception ex){

ex.printStackTrace();

}

break;

}

case 1:

System.exit(0);

}

}

else{

System.exit(0);

}

}

// 保存事件

public void saveMenuItemActionPerformed(ActionEvent evt){

int returnV al=filechooser.showSaveDialog(this);

if(returnV al == JFileChooser.APPROVE_OPTION) {

file=filechooser.getSelectedFile();

try{

FileWriter fw=new FileWriter(file);

fw.write(content.getText());

setTitle(filechooser.getSelectedFile().getName()+" - \u8bb0\u4e8b\u672c");

fw.close();

}

catch(Exception e){

e.printStackTrace();

}

}

}

// 另存为事件

public void saveAsMenuItemActionPerformed(ActionEvent evt){ filechooser.setDialogTitle("另存为...");

int returnV al = filechooser.showSaveDialog(this);

if(returnV al == JFileChooser.APPROVE_OPTION) {

file=filechooser.getSelectedFile();

try{

FileWriter fw=new FileWriter(file);

fw.write(content.getText());

setTitle(filechooser.getSelectedFile().getName()+" - \u8bb0\u4e8b\u672c");

fw.close();

}

catch(Exception e){

e.printStackTrace();

}

}

}

// 页面设置事件

public void pageSetupMenuItemActionPerformed(ActionEvent evt){ JOptionPane.showMessageDialog(null,"此功能正在开发中...");

}

// 打印事件

public void printMenuItemActionPerformed(ActionEvent evt){ JOptionPane.showMessageDialog(null,"打印中...");

}

// 更新风格外观方法

void changeLookFeel(String className) {

try {

UIManager.setLookAndFeel(className);

}

catch (Exception e) {

System.out.println(e);

}

SwingUtilities.updateComponentTreeUI(this);

}

// Java风格事件

public void javaStyleMenuItemActionPerformed(ActionEvent evt){ changeLookFeel("javax.swing.plaf.metal.MetalLookAndFeel");

}

// Motif风格事件

public void metalStyleMenuItemActionPerformed(ActionEvent evt){ changeLookFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel"); }

// MAC风格事件

public void windowsStyleMenuItemActionPerformed(ActionEvent evt){

changeLookFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");

}

// 帮助事件

public void helpTopicMenuItemActionPerformed(ActionEvent evt){

JOptionPane.showMessageDialog(null,"\u9700\u8981\u5e2e\u52a9\u5417\uff1f");

}

// 关于事件

public void aboutMenuItemActionPerformed(ActionEvent evt){

JOptionPane.showMessageDialog(null,"\n\u7a0b\u5e8f\u540d\u79f0\uff1aJava

\u8bb0\u4e8b\u672c\n\u4ee3\u7801\u7f16\u5199\uff1aCavien\n\u4f5c\u8005\u7f51\u7ad9\uff1ahttp :/https://www.360docs.net/doc/308577109.html,\nE-mail\u3000\uff1aCavien@https://www.360docs.net/doc/308577109.html,");

}

// 主函数

public static void main(String args[]) {

Notepad notepad = new Notepad();

notepad.setVisible(true);

}

}

// 定义新建事件类

class newMenuItem_actionAdapter implements ActionListener{

Notepad adaptee;

newMenuItem_actionAdapter(Notepad adaptee){

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent evt){

adaptee.newMenuItemActionPerformed(evt);

}

}

// 定义打开事件类

class openMenuItem_actionAdapter implements ActionListener{

Notepad adaptee;

openMenuItem_actionAdapter(Notepad adaptee){

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent evt){

adaptee.openMenuItemActionPerformed(evt);

}

}

// 定义保存事件类

class saveMenuItem_actionAdapter implements ActionListener{ Notepad adaptee;

saveMenuItem_actionAdapter(Notepad adaptee){

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent evt){

adaptee.saveMenuItemActionPerformed(evt);

}

}

// 定义另存为事件类

class saveAsMenuItem_actionAdapter implements ActionListener{ Notepad adaptee;

saveAsMenuItem_actionAdapter(Notepad adaptee){

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent evt){

adaptee.saveAsMenuItemActionPerformed(evt);

}

}

// 定义页面设置事件类

class pageSetupMenuItem_actionAdapter implements ActionListener{ Notepad adaptee;

pageSetupMenuItem_actionAdapter(Notepad adaptee){

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent evt){

adaptee.pageSetupMenuItemActionPerformed(evt);

}

}

// 定义打印事件类

class printMenuItem_actionAdapter implements ActionListener{ Notepad adaptee;

printMenuItem_actionAdapter(Notepad adaptee){

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent evt){

adaptee.printMenuItemActionPerformed(evt);

}

}

// 定义Java风格事件类

class javaStyleMenuItem_actionAdapter implements ActionListener{ Notepad adaptee;

javaStyleMenuItem_actionAdapter(Notepad adaptee){

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent evt){

adaptee.javaStyleMenuItemActionPerformed(evt);

}

}

// 定义Java风格事件类

class metalStyleMenuItem_actionAdapter implements ActionListener{ Notepad adaptee;

metalStyleMenuItem_actionAdapter(Notepad adaptee){

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent evt){

adaptee.metalStyleMenuItemActionPerformed(evt);

}

}

// 定义Java风格事件类

class windowsStyleMenuItem_actionAdapter implements ActionListener{ Notepad adaptee;

windowsStyleMenuItem_actionAdapter(Notepad adaptee){

this.adaptee = adaptee;

}

public void actionPerformed(ActionEvent evt){

adaptee.windowsStyleMenuItemActionPerformed(evt);

课程设计—java记事本

import javax.swing.*; import javax.swing.undo.*; import javax.swing.text.*; import javax.swing.event.*; import java.awt.*; import java.awt.event.*; import java.text.*; import java.util.*; import java.awt.datatransfer.*; import java.awt.print.*; import java.io.*; public class Jishiben extends JFrame implements ActionListener { JPopupMenu pm ; JTextArea ta; boolean isNewFile=true; //是否新文件(未保存过的) File currentFile; //当前文件名 String oldValue; //存放编辑区原来的内容,用于比较文本是否有改动//protected UndoManager undo = new UndoManager(); //protected UndoableEditListener undoHandler = new UndoHandler(); JToolBar tbar = new JToolBar(); JCheckBoxMenuItem mt19; public Jishiben() { super("记事本"); //Container ct=getContentPane(); //以下三句是设置编辑区域及滚动条 ta = new JTextArea(); JScrollPane sp = new JScrollPane(ta); add(sp); JMenuBar mb = new JMenuBar(); //设置文件菜单 JMenu mu1 = new JMenu("文件(F)",true); mu1.setMnemonic('F');//设置快捷键按下ALT+F激活打开菜单 JMenuItem mt1 = new JMenuItem("新建(N)",'N'); mt1.setMnemonic('N'); //mt1.addActionListener(new new1()); JMenuItem mt2 = new JMenuItem("打开(O)...",'O'); mt2.setMnemonic('O'); mt2.addActionListener(this); JMenuItem mt3 = new JMenuItem("保存(S)",'S'); //mt3.addActionListener(new save()); mu1.add(mt3); JMenuItem mt4 = new JMenuItem("另存为(A)..."); JMenuItem mt5 = new JMenuItem("页面设置(A)..."); JMenuItem mt6 = new JMenuItem("打印(P)..."); JMenuItem mt7 = new JMenuItem("退出(X)",'X');

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程序设计 院系:计算机科学学院 专业班级:计算机科学与技术(2)班 组员:张少华、张天阳 2010年6月 26 日

《Java程序设计》课程设计 ——日历记事本 我们开发了一个实现有日历标记的记事本软件,日历记事本面板由日历和和记事本两部分组成。日历部分可以调节年份,月份,日期,星期。记事本可以实行查看,保存,删除等操作,并且每一步操作都有相应提示。本软件是一个实用性很强,简洁,方便的功能软件。 引言 Java是一种纯面向对象的、网络编程首选的语言。Java技术作为软件开的一种革命性技术,已被列为当今世界信息技术的主流之一。为了适应时代潮流,我们应该加强对Java的学习,更好的掌握这门课程。为此,我们成了一个课程小组,经过小组成的商讨之后,我们决定以“日历记事本”为设题材,借此巩固加深我们对Java 的了解。 本次课程设计的实例虽然比较简单,程序设计也不是很复杂,但在此程序的设计过程也是一个学习过程,更是对复杂程序的一个学习过程,还能培养我们的数抽象能力。因此,我们觉得这次课程设计是非常有意义的,能为我们今后学习面向过程的程序设计作一些铺垫。 1、设计的目的与要求; (1)为用户提供一个简便的日历记事本; (2)对java技术的进一步了解和简单的运用; (3)初步的接触软件工程; 2.设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“日历记事本”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。 3.设计方案 3.1 总体设计

用Java实现日历记事本

用Java实现日历记事本

信息与计算科学专业课程设计 用Java实现日历记事本

3. 实验内容 编程实现日历记事本。具体要求如下: (1)该日历可以通过在文本框中输入年份和月份设置日期,也可按年前后翻动,用鼠标左键单击“上年”和“下年”按钮,将当前日历的年份减一和加一。还可以在某年内按月前后翻动,用鼠标左键单击“上月”和“下月”按钮,将日历的月份减一和加一。 (2)左键单击日历上的日期,可以通过右侧的记事本(文本区)编辑有关日志,并将日志保存到一个文件,该文件的名字是由当前日期组成的字符序列。用户可以读取、删除某个日期的日志,也可以继续向某个日志添加新的内容。在保存、删除和读取日志时都会先弹出一个确认对话框,以确认保存、删除和读取操作。 (3)当某个日期有日志时,该日期以粗体16号字显示,表明这个日期有日志;当用户删除某个日期的日志后,该日期恢复原来的外观。

实现效果图(参考)如下: 提示:(1)组件调用public void setFont(Font f)方法可以设置组件上的字体,Font类的构造方法为:public Font(String name,int style,int size),其中name 是字体的名字,style决定字体的样式(如Font.BOLD 表示粗体)size决定字体的大小。(具体请参考JDK API) (2)当左键单击日历上的日期时,如要获取该日期,可通过处理该组件上的鼠标事件来实现。

4.实验步骤、实施过程、关键代码、实验结果及分析说明等 1.CalendarPad类 (1) 进行整体布局,建立日历记事本文件,设置日历卡,把日期按星期顺序排列,并用窗口监视器实现。 (2)用窗口监视器实现,结果如下: 2.Notepad类 (1)对日期的设置和获取,设置信息条,对文本框进行设置,保存日志、删除日志和读取日志按钮的事件实现。 (2)保存日志按钮事件实现如下:

仿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语言课程设计报告 选题名称简单记事本开发 学生学号 专业班级 学生姓名 学生成绩 指导教师朱军 工作时间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程序编写一个记事本程序的设计报告

用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();

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课程设计记事本

攀枝花学院课程设计 题目:记事本程序设计 院(系):数学与计算机学院 年级专业: 姓名: 000000 学号: 指导教师: 二〇一三年十二月三十日 攀枝花学院教务处制

攀枝花学院本科学生课程设计任务书

课程设计(论文)指导教师成绩评定表

摘要 目前,很多新的技术领域都涉及到了Java语言,Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。按照教学培养计划要求,学生在学习完课本中指定课时的知识后,应安排一定课时的课程设计。其主要目的是使学生深入理解并实践在本课程中所学的有关JAVA程序设计方面的语言基础、异常处理、事件处理、小应用程序以及图形用户界面设计等。故此“记事本”应运而生。 该报告中的程序是简易记事本。使用Java程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。该程序主要用到了Java swing和事件监听等。 关键字:记事本,Java,Java swing

目录 摘要................................................................ 1 前言 (1) 2 需求分析 (2) 需求分析 (2) 功能设计 (2) 3 概要设计 (3) 程序设计思路 (3) 程序运行界面 (3) 模块说明图 (3) 程序流程图 (5) 程序相关说明 (5) 4 程序详细设计与分析 (6) 初始化组件 (6) .构建菜单栏及其下拉菜单 (6) “文件”菜单的事件监听 (7) “编辑”菜单的事件监听 (7) 5 测试分析 (9) 结论 (11) 参考文献 (12) 附录 (13)

(完整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文

java课程设计方案

JAVA课程设计方案 1.设计目的与任务 本课程设计所要求达到的目的和任务:通过Java程序设计的一些重要理论基础来实现“写字留痕”的“日历”和“记事本”的双重功能。并通过此次课程设计的训练,使学生巩固和加深对Java这门课程的理解,通过利用所学到的计算科学的理论知识,提高解决实际问题的能力,增强运算、编程和使用技术资料的技能,通过实际问题的分析设计、编程和调试,掌握应用软件的分析方法和工程设计方法,能正确阐述设计和实验结果。通过这次课程设计,培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。 设计方案 3.1总体设计 (1)问题定义:创建写字留痕,实现对某日期的事情进行记录这主要功能,并能显示设置的图片,增加美观。 (2)问题分析:通过对“写字留痕”这一题材的分析,我需要四个类来实现其“日历”和“记事本”这两大功能。通过主类N2创建动写字留痕软件的主窗口,该类含有main方法,程序从该类开始执行。再用余下YearMonth 、MonthPane类来显示并改变日期和实现记事本的功能。而ImagePanel类用来显示图片,Music类用来实现音乐的播放控制。 (3)研究意义:通过本次课程设计,我们掌握了Java语言的基本运用,提高了理论结合实际的能力。 3.2设计要求 (1)日记本使用Java语言开发设计。课程的基本功能包括万年历、记事本和辅助功能三个部分。 (2)万年历部分由微调器确定年月,由一组文本框显示日历。年月可选择数据符合逻辑,默认为当前日期。 (3)月历显示应该符合查看习惯,如星期六和星期日分别用不同颜色表示,当日可用特别的字号和颜色 (4)记事本区,记事本容按年月日记录且保存。 (5)微调器应该进行事件设置,以及即时地显示该年月的月历;日期文本框可监听鼠标事件,当单击任何一个日期时,若该日有记事容,则在日记本中显示该日期的记录文字;若该日无记录,记事区保持空白。 (6)日记本应该是开放的,容可按日期增减,保存应即时,删除需谨慎删除记录时,应进行对话框询问确定。

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日历记事本课程设计报告

Java 日历记事本课程设计报告 在设计日历记事本时,需要编写6个JAVA源文件:、、、、和 效果图如下 . CalendarWindow 类 import .*; import .*; import .*; import .*; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener{ int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad; JTextField showYear,showMonth; JTextField[] showDay; CalendarImage calendarImage;

String picturename; Clock clock; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord; JButton getPicture; File dir; Color backColor= ; public CalendarWindow(){ dir=new File("./dailyRecord"); (); showDay=new JTextField[42]; for(int i=0;i<;i++){ showDay[i]=new JTextField(); showDay[i].setBackground(backColor); showDay[i].setLayout(new GridLayout(3,3)); showDay[i].addMouseListener(this); showDay[i].addFocusListener(this); } calendarMessage=new CalendarMessage(); calendarPad=new CalendarPad(); notePad=new NotePad(); Calendar calendar=(); (new Date()); year=; month=+1; day=; (year); (month); (day);

JAVA日历记事本课程设计报告

Java日历记事本课程设计报告 在设计日历记事本时,需要编写6个JA V A源文件:CalendarWindow.java、CalendarPad.java、NotePad.java、CalendarImage.java、Clock.java和CalendarMesssage.java 效果图如下 . CalendarWindow类 import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.io.*; public class CalendarWindow extends JFrame implements ActionListener,MouseListener,FocusListener{ int year,month,day; CalendarMessage calendarMessage; CalendarPad calendarPad; NotePad notePad; JTextField showYear,showMonth; JTextField[] showDay; CalendarImage calendarImage; String picturename; Clock clock; JButton nextYear,previousYear,nextMonth,previousMonth; JButton saveDailyRecord,deleteDailyRecord,readDailyRecord;

JButton getPicture; File dir; Color backColor=Color.white ; public CalendarWindow(){ dir=new File("./dailyRecord"); dir.mkdir(); showDay=new JTextField[42]; for(int i=0;i

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

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

3.1“文件”菜单。 21 22

23 24 3.2“编辑”菜单。 25

26 四.记事本实现功能代码实现。 27

4.1.界面设计。 28 29 主要代码: 30 f=new Frame(s); 31 p1=new TextArea(""); 32 f.setSize(400,600); 33 f.setBackground(Color.white); 34 f.setVisible(true); 35 menubar=new MenuBar(); 36 menu1=new Menu("文件"); 37 menu2=new Menu("编辑"); 38 item1=new MenuItem("新建"); 39 item2=new MenuItem("打开"); 40 item3=new MenuItem("保存"); 41 item4=new MenuItem("另存为"); 42 item5=new MenuItem("退出"); 43 item6=new MenuItem("全选"); 44 item7=new MenuItem("复制"); 45 item8=new MenuItem("剪切");

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课程设计-简单记事本

目录 前言 (2) 正文 (2) 1.1课程设计的教学目的和任务 (2) 1.2课程设计的主要内容 (2) 2.1.问题描述及基本要求 (2) 2.2.记事本基本功能 (2) 2.3使用的JAVA主要的类 (2) 2.4 JAVA类的主要方法 (2) 2.5程序流程图 (4) 2.6运行界面 (4) 2.6小结 (6) 参考文献: (7) 附录: (8)

前言 随着科学技术的不断发展,计算机已经成为我们工作学习和生活中不可缺少的工具。文本编辑器是个人计算机最司空见惯的应用程序了,在学习了Java语言之后,我决定使用Java语言编写记事本,具有基本的文字编辑功能。 记事本是Windows 操作系统中常见自带的一款用于创建和编辑文本文件的附件工具,用户可以在其中方便地输入文字,从而进行编辑与操作。由于记事本操作简单、小巧灵活。因此非常适合用户在进行一些简单的文字处理时使用。我们在日常的生活中非常普遍地去使用记事本,但是却很少去研究它的具体功能,更不会去考虑它的具体实现。经过一个学期的学习,我学习了Java这门面向对象的程序设计语言, 对于面向对象的概念有了进一步的了解,这个学期的java课程也有很多机会遇到实际的课题和项目,特别是课后练习实验和上机的一些基本题目,这对于巩固所学的理论知识有很大的帮助。特别是在学完理论的Java课程之后,进行这样一个课题设计,可以把整本书的知识进行融会贯通,更进一步地提高了我们的处理实际编程问题的能力。最后决定做一个简易记事本程序并实现其中部分的功能。 摘要:该程序是一个记事本,具有良好的界面,使用人员能快捷简单地进行操作。 关键字:java、记事本、方法、事件。 正文 1.1 课程设计的教学目的和任务 (1) 使学生进一步理解和掌握所学的各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。 (2) 使学生初步掌握软件开发过程的问题分析、设计、编码、测试等基本方法和基本技能。 (3) 使学生掌握使用各种计算机资料和有关参考资料,提高学生进行程序设计的基本能力。 (4) 使学生能用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。 1.2 课程设计的主要内容 (1) 问题分析和任务定义。 根据题目的要求,充分地分析和理解问题,明确问题要求做什么?限制条件是什么?最终完成什么? (2) 逻辑设计。 对问题描述中涉及的操作对象定义相应的数据类型,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图。 (3) 物理设计。 定义相应的存储结构并写出各函数的伪代码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对数据结构和基本操作作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架。 (4)程序编码。 把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解和断言,使程序中逻辑概念清楚,并编写程序。 (5) 程序调试与测试。

相关文档
最新文档