文档库 最新最全的文档下载
当前位置:文档库 › Java程序编写一个记事本程序的设计报告

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

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

用Java程序编写一个记事本程序的

设计报告

学习中心(点):榆林子洲

专业:计算机科学与技术

层次:专升本

姓名:张航

批次: 112

目录

一、设计分析 (1)

二、程序结构 (1)

三、各模块的功能及程序说明 (2)

1、类设计 (2)

2、主要功能代码实现 (4)

四、源程序 (9)

五、操作方法 (20)

六、试验结果 (20)

七、设计体会 (22)

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

一、设计要求

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.W ARNING_MESSAGE,

null, options, options[0]);

switch(s){

case 0:

int returnVal=filechooser.showSaveDialog(this);

if(returnVal == 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 returnVal = filechooser.showOpenDialog(this);

if(returnVal == 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.W ARNING_MESSAGE,

null, options, options[0]);

switch(s){

case 0:

int returnVal=filechooser.showSaveDialog(this);

if(returnVal == 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 returnVal=filechooser.showSaveDialog(this);

if(returnVal == 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 returnVal = filechooser.showSaveDialog(this);

if(returnVal == 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.wendangku.net/doc/6915170825.html,\nE-mail\u3000\uff1aCavien@https://www.wendangku.net/doc/6915170825.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程序设计实验报告

Java 程序设计实验报告

实验一 JDK开发环境和结构化程序设计 实验学时:2 实验类型:综合性 一、实验目的 1.熟悉JDK开发环境。 2.熟悉UltraEdit/NotePad等编辑器编写、编译、运行Java程序。 3.掌握Java Application的程序结构和开发过程。 4.掌握Eclipse工具的使用。 5.结构化程序设计 二、实验内容 1.JDK开发环境 (1)J2sdk开发环境安装。假设JDK的安装路径为C:\JDK; (2)设置环境变量PATH和CLASSPATH(如果在autoexec.bat中没有进行设置)。如 SET PATH=C:\JDK\BIN;%PATH% SET CLASSPATH=.; %CLASSPATH%;d:\test_java (自己的工作目录) 2.UltraEdit/Notepad编辑器 练习使用Ultraedit/Notepad创建Java源程序的方法。

3.掌握Java Application程序开发过程 (1)编辑源程序,如下程序: import java.io.*; public class HelloWorld1{ public static void main(String arg[]){ System.out.println("Hello World!"); } } (2)保存文件,(注意大小写)。可将文件保存在“D:\test_java\”目录中,注意文件名为HelloWorld1.java。 (3)进入命令行(MS-DOS)方式,设定当前目录为“D:\test_java\”,运行Java 编译器: D:\test_java>javac HelloWorld1.java (4)如果输出错误信息,则根据错误信息提示的错误所在行返回EditPlus编辑器进行修改。常见错误是类名与文件名不一致、当前目录中没有所需源程序、标点符号全角等。 如果没有输出任何信息或者出现“deprecation”警告,则认为编译成功,此时会在当前目录中生成HelloWorld1.class文件。 (5)利用Java解释器运行这个Java Application程序,并查看运行结果。 D:\test_java>java HelloWorld1 4.Eclipse开发环境的使用 练习使用Eclipse实现第3步中Java HelloWorld程序的方法。

课程设计—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程序设计实验报告分析

学生实验报告 (理工类) 课程名称: JAVA程序设计专业班级: 13电子信息工程(2)学生学号: 1305102056 学生姓名:许伟铭 所属院部:软件工程学院指导教师:王倩倩 20 15 ——20 16 学年第 2 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:JAVA编程基础实验学时: 4 同组学生姓名:————实验地点: 1514/A203 实验日期: 2016.04.08 实验成绩: 批改教师:王倩倩批改时间:

一、实验目的和要求 (1)熟练掌握JDK1.7及Eclipse Kepler Service Release 1(下简称Eclipse)编写调试Java应用程序及Java小程序的方法; (2)熟练掌握Java应用程序的结构; (3)了解Java语言的特点,基本语句、运算符及表达式的使用方法; (4)熟练掌握常见数据类型的使用; (5)熟练掌握if-else、switch、while、do-while、for、continue、break、return 语句的使用方法; (6)熟练掌握数组和字符串的使用; (7)调试程序要记录调试过程中出现的问题及解决办法; (8)编写程序要规范、正确,上机调试过程和结果要有记录,不断积累编程及调试经验; (9)做完实验后给出本实验的实验报告。 二、实验仪器和设备 奔腾以上计算机,Windows 操作系统,装有JDK1.7和Eclipse软件。 三、实验过程 (1)分别使用JDK命令行和Eclipse编译运行Java应用程序。记录操作过程。 Java应用程序参考如下: 思考:1. 适当添加注释信息,通过javadoc生成注释文档; 2. 为主方法传递参数“Hello world”字符串,并输出; 3. 压缩生成".jar"文件。 (2)分别使用JDK命令行和Eclipse编译Java Applet,并建立HTML文档运行该Applet。 记录操作过程。 Java小应用程序参考如下:

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 总体设计

JAVAWEB程序设计报告模板

南京晓庄学院《JAVA WEB程序设计》 课程报告 题目: 学生信息管理系统 姓名: 沈莉莉 学号: 13131320 班级: 13计算机转本1班 完成时间2016年6月23号 成绩:

数学与信息技术学院

目录 1.系统需求分析 (1) 2.相关技术与原理介绍 (1) 3.系统分析与设计 (2) 3.1 系统功能分析 (2) 3.2 系统结构分析 (2) 3.3 数据库设计 (3) 4.系统实现 (4) 4.1 登录模块实现 (4) 4.2 教师模块实现 (6) 4.3 成绩模块实现 (7) 4.4 学生模块实现 (8) 5.总结与体会 (11) 5.1 工作总结 (11) 5.2 改进设想 (11)

1.系统需求分析 (对系统的功能需求进行分析) 在本次的实验中主要用到了Eclipse、Mysql、Tomcat等软件。用JSP和JAVABEAN 编写代码,编写完的低吗主要用来实现教师、学生、成绩以及课程的查询、修改、删除等操作。 2.相关技术与原理介绍 (对Tomcat、MySQL、JSP、JDBC、JAVABEAN等技术进行简要介绍) 2.1、Tomcat简介 Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问童虎不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。对于一个初学者来说,当一台机器上配置好Apache服务器,可利用它响应HTML(标通用标记语言下的一个应用)页面访问的请求。实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你圆形tomcat时,它实际上是作为一个与Apache独立的进程单独运行。 2.2、MySQL的简介 MySQL是一个小型关系数据库管理系统,它的主要特性如下: (1)支持多线程,充分利用CPU资源。 (2)一共TCP/IP、ODBC和JDBC等多种数据库连接途径。 (3)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性。 2.3、JSP的简介 JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 2.4、JDBC的简介 JDBC 扩展了Java 的功能。例如,用Java 和JDBC API 可以发布含有applet 的网页,而该applet 使用的信息可能来自远程数据库。企业也可以用JDBC 通过Intranet 将所有职员连到

用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语言程序课程设计设计题目:实验室设备管理系统

实验室设备管理系统 第一章问题定义 (1) 第二章可行性研究 (1) 2.1 系统建设目标 (1) 2.2 可行性分析 (1) 第三章系统的需求分析 (2) 3.1 实验室设备管理系统的需求陈述 (2) 3.2 使用结构化方法进行系统分析 (2) 3.3 对系统进行面向对象分析 (3) 第四章系统的概要设计 (5) 4.1 系统体系结构图 (5) 4.2 数据库设计 (5) 第五章系统的详细设计及其实现 (8) 5.1主模块 (8) 5.2 用户综合管理模块 (11) 第六章系统测试 (14)

第一章问题定义 每学年要对实验室设备使用情况进行统计、更新,其中: (1)对于已彻底损坏的作报废处理,同时详细记录有关信息。 (2)对于有严重问题(故障)的要即使修理,并记录修理日期、设备名、修理厂家、修理费、责任人等。 (3)对于急需但又缺少的设备需以“申请表”的形式送交上级领导请求批准购买。新设备购入后要立即进行设备登记(包括类别、设备名、型号、规格、单价、数量、购置日期、生产厂家、购买人等),同时更新申请表的内容。 (4)随时对现有设备及其修理、报废情况进行统计、查询,要求能够按类别和时间段(某日期之前)查询。 系统目标与范围说明书 项目名称:实验室设备管理系统。 问题:目前系统式手工操作,费时费力,效率低下。 项目目标:建立一个高效率、自动化操作实验室设备管理的计算机系统。 项目规模:开发成本应该不超过5万元。 初步设想:用学校现有的物力和人力资源开发该系统。 可行性研究:为了全面分析该系统开发的可能性,建议进行大约2周的可行性研究。 可行性研究成本不超过5000元。 第二章可行性研究 2.1 系统建设目标 在对系统初步调查的基础上就可以提出项目的开发目标,即新系统建立后所要求达到的运行指标,这是系统开发和评价的依据。 随着高校规模的扩大,实验室及仓库的增多,人工管理实验设备已变得过于低效,为了解决这一问题,高校实验室设备管理系统将实现设备管理的自动化。 实验室设备管理系统将贯穿于设备从购进到报废的整个流程的管理过程,帮助管理员高效地管理整个高校的所有设备,并给上级领导提供一个审核监督管理的平台,提供整个实验室管理的效率,使总体管理水平上升到一个新的高度。 本系统能减少很多不必要的资源,消除了以前用冗余的纸张式管理,大节省了学校能源。 2.2 可行性分析 可行性分析是任何一个大型工程正式投入力量之前必须进行的一项工作。这对于保证资源的合理利用、避免浪费是一个十分重要的,也是项目一旦开始以后能顺利进行的必要保证。当系统的开发目标确定后,就可以从以下三方面对能否实现新系统目标进行可行性分析: 1. 技术可行性 技术可行性是指:根据现有的技术条件,能否达到所提出的要求;所需要的物理资源是否具备,能否得到。 针对于本系统,本系统属于一个普通的MIS系统。在其组织关系上也未存在的很大的复杂性、繁琐性及不确定性,而且整个系统的技术构成上来看,它还是属于一个简单的数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、编辑等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。并且本系统的开发我利用access作为本系统的数据库,把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。使用eclipse作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。因此,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,它在技术上是可行的。 2. 经济可行性 经济可行性分析要估计项目的成本和效益,分析项目经济上是否合理,并将费用与效益进行比较,看是否有利。 首先,实验室设备管理系统地实现的硬件支持只是一台简单的计算机,如今的性能

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程序的设计实验报告

信息科学与工程学院 课程设计 题目:图书管理系统 姓名:晓雨颖 学号: 201312140115 201312140120 班级: 13级本科四班物联网 课程: Java程序设计 任课教师梦琳 2014年12月20日

课程设计任务书及成绩评定

目录 1前言 (3) 1.1设计目的 (4) 1.2设计任务 (4) 1.3运行环境 (4) 2总体设计 (5) 2.1设计原理............................................. 错误!未定义书签。3详细设计实现.. (5) 3.1 代码 (5) 3.2 登陆后事件处理 (12) 4心得体会................................................ 错误!未定义书签。

1前言 Java的前身是Oak,它一开始只是被应用于消费性电子产品中。后来它的开发者们发现它还可以被用于更大围的Internet上。1995年,Java语言的名字从Oak编程了Java。1997年J2SE1.1发布。1998年J2SE1.2发布,标志Java2的诞生。十多年来,Java编程语言及平台成功地运用在网络计算及移动等各个领域。Java的体系结构由Java语言、Java class、Java API、Java虚拟机组成。它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。Java支持多线程编程,Java运行时系统在多线程同步方面具有成熟的解决方案。Java的平台标准有Java ME,Java SE和Java EE。Java发展到今天,它的卓越成就及在业界的地位毋庸置疑。目前在众多的支持Java的开发工具中主要的7有Java Development Kit,NetBeans,Jcreator,JBuilder,JDeveloper和Eclipse等。其中Java Development Kit 简称JDK是大多开发工具的基础。以上的每种开发工具都有优缺点,对于开发者来说,重要的是要根据自己的开发规模、开发容和软硬件环境等因素来选择一种合适的开发 工具。

用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程序设计》课程设计报告 (1)

河南工程学院计算机学院课程设计报告书 学号:201312211115 姓名:陈晏猛 学院:计算机学院 专业班级:软件工程1341 专业课程:Java程序设计指导教师:汪伟 2014 年12 月27 日

目录 第1章计算器的设计与实现 (1) 1.1设计目的..................... ..... ... (2) 1.2系统实现思路...................... ... (3) 1.3系统详细设计.............. ..... . (4) 1.4系统调试运行................ ..... .. (7) 第2章2048的设计与实现 (1) 1.1设计目的..................... ..... ... (2) 1.2系统实现思路...................... ... (3) 1.3系统详细设计.............. ..... . (4) 1.4系统调试运行................ ..... .. (7) 第3章课程设计体会 (8) 参考文献................. .... .... (9) 附录................... .... .... .... . (10)

第1章计算器的设计与实现 1.1 设计目的 本课程设计的目的就是通过一次集中的强化训练,使学生能巩固自己的学识,补充未学的但有必要的内容。进行课程设计的目的在于加深对程序设计基础中理论和基本知识的理解,促进理论与实践的结合,进一步提高程序设计的能力。同时,在程序设计方法及上机操作方面受到比较系统严格的训练,培养软件工作所需要的动手能力。 (1)使学生更深入的理解和掌握课程中有关基本概念,程序设计的思想和方法。 (2)培养学生综合运用所学知识独立完成课题的能力。 (3)培养学生勇于探索,严谨推理,实事求是,有错必改,用实践来验证理论,全方位考虑问题等科学技术人员应具有的素质。 (4)提高学生对工作认真负责,一丝不苟,对同学团结友爱,协作攻关的基本素质。 (5)培养学生从资料文献,科学实验中获得知识的能力,提高学生从别人经验中找到解决问题的新途径的悟性,初步培养工程意识和创新能力。 (6)对学生掌握知识的深度,运用理论去处理问题的能力,实验能力,课程设计的能力,书面及口头表达能力进行考核。

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语言程序设计课程设计报告模板及范文

设计题目:仿Windows画笔系统设计专业:计算机科学与技术 班级: 学号: 姓名: 2015 年7月

中文摘要 摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。 JAVA是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。JAVA不仅可以用来开发大型的应用程序。而且特别适合Internet的应用开发。JAVA确实具备“一次写成,处处运行”的特点,JAVA以成为网络时代最重要的编程语言之一。本报告中介绍了用JAVA语言实现画笔系统的全部过程。 本次课程设计是配合JAVA程序设计课程,帮助我们深入学习掌握JAVA语言,熟练运用这个工具来编写的。通过课程设计各个项目的综合训练,培养学生实际分析问题、编程和动手能力、提高学生的综合素质。本课程设计尝试使用一些较生动的示例和设计项目,激发学生学习兴趣,引导学生主动学习,正确理解、接受需要重点掌握的知识点,为参加项目开发及更深入学习做好准备。 本次课程设计主要是用JAVA实现画笔系统,其系统主要完成以下功能:设计一个画图程序,能够实现画笔、画直线、画圆形、画矩形的功能,并且在绘图。过程中能够修改该画笔的大小以及颜色。该画图程序还需具有橡皮擦功能以及清空整个画面的功能 关键词:画笔系统,JA V A

目录 中文摘要 (2) 目录 (3) 1.绪论 (4) 2. 开发环境介绍 (4) 3.需求分析 (5) 3.1总体目标 (5) 3.2要实现的功能 (6) 4.概要设计 (6) 4.1设计准备 (6) 4.2需用到的类 (7) 5.详细设计 (7) 5.1类的设计 (7) 5.2类的方法介绍 (8) 6.测试数据及运行结果 (10) 7.总结 (11) 8.参考文献 (11) 9.源程序 (12)

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)

Java程序设计报告

楚雄师范学院 2015年春季期末Java程序设计报告 项目名称:基于Java平台开发的五子棋程序设计 : 学院:物理与电子科学学院 专业:电子信息科学与技术 班级:2 0 1 3 级电信一班 组员姓名:杨邦桂许勇董俊宏 ) 课程教师:程满

目录 引言..................................................... 错误!未定义书签。第一章设计目的和要求 .................................... 错误!未定义书签。第二章JAVA语言概述 .................................... 错误!未定义书签。 JAVA简介.............................................. 错误!未定义书签。 JAVA的基本特点...................................... 错误!未定义书签。 JAVA工具 JDK ........................................ 错误!未定义书签。第三章程序的设计思路和算法 .............................. 错误!未定义书签。 人机博弈的要点........................................ 错误!未定义书签。 五子棋特点及规则 ..................................... 错误!未定义书签。 设计思路............................................. 错误!未定义书签。 ..................................................... 错误!未定义书签。第四章测试及运行效果 .................................... 错误!未定义书签。棋盘系统主界面......................................... 错误!未定义书签。下期博弈过程界面 ....................................... 错误!未定义书签。黑方赢的结果........................................... 错误!未定义书签。白方赢的结果........................................... 错误!未定义书签。第五章设计体会与总结 .................................... 错误!未定义书签。附录..................................................... 错误!未定义书签。源程序代码及简要说明: ................................. 错误!未定义书签。

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