JAVA课程设计编写一个记事本程序
java课程设计报告记事本
Java课程设计报告:记事本1. 引言记事本是一款常见的文本编辑工具,广泛应用于日常工作和学习中。
本文将介绍一种基于Java语言开发的简易记事本设计方案。
2. 设计思路2.1 界面设计记事本的界面应简洁明了,方便用户进行文本编辑和操作。
可以考虑使用Swing或JavaFX等图形库来创建用户界面。
2.1.1 主窗体记事本的主窗体应包含一个菜单栏和一个文本编辑区域。
菜单栏包含文件、编辑、格式等功能项,可以使用Java提供的菜单组件来实现。
2.1.2 文件操作在菜单栏的文件功能项中,应包含新建、打开、保存、另存为等操作。
这些功能可以通过文件选择对话框来实现。
2.1.3 文本编辑文本编辑区域应支持基本的编辑功能,如复制、粘贴、剪切和撤销等操作。
可以使用Java提供的文本框组件来实现。
2.2 功能设计记事本的功能设计应满足用户的基本需求,如文本编辑、保存和打开文件等。
2.2.1 文本编辑功能用户可以在文本编辑区域输入和编辑文本内容。
可以提供字体、颜色和对齐等格式设置功能。
2.2.2 文件操作功能用户可以通过菜单栏的文件功能项进行文件的新建、打开、保存和另存为等操作。
可以使用Java的文件IO功能来实现。
2.3 实现步骤2.3.1 创建主窗体首先,需要创建一个主窗体,并设置合适的大小和布局。
可以使用Swing或JavaFX提供的窗体组件来实现。
2.3.2 添加菜单栏在主窗体中添加一个菜单栏,并设置合适的菜单和菜单项。
可以使用Java提供的菜单和菜单项组件来实现。
2.3.3 添加文件操作功能在菜单栏的文件功能项中添加新建、打开、保存和另存为等功能,并实现相应的事件处理。
可以使用Java提供的文件选择对话框和文件IO功能来实现。
2.3.4 添加文本编辑功能在主窗体中添加一个文本编辑区域,并提供复制、粘贴、剪切和撤销等编辑功能。
可以使用Java提供的文本框组件和编辑功能来实现。
3. 实现代码以下是一个简单记事本的Java代码示例:import javax.swing.*;import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;public class Notepad extends JFrame {private JTextArea textArea;private JFileChooser fileChooser;public Notepad() {setTitle("记事本");setSize(600, 400);setDefaultCloseOperation(EXIT_ON_CLOSE);createMenuBar();textArea = new JTextArea();JScrollPane scrollPane = new JScrollPane(textArea);add(scrollPane, BorderLayout.CENTER);fileChooser = new JFileChooser();setVisible(true);}private void createMenuBar() {JMenuBar menuBar = new JMenuBar();JMenu fileMenu = new JMenu("文件");JMenuItem newMenuItem = new JMenuItem("新建");JMenuItem openMenuItem = new JMenuItem("打开");JMenuItem saveMenuItem = new JMenuItem("保存");JMenuItem saveAsMenuItem = new JMenuItem("另存为");newMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {textArea.setText("");}});openMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showOpenDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedReader reader = new BufferedReader(new FileReader(file));String line;StringBuilder content = new StringBuilder();while ((line = reader.readLine()) != null) { content.append(line).append("\n");}reader.close();textArea.setText(content.toString());} catch (IOException ex) {ex.printStackTrace();}}}});saveMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showSaveDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedWriter writer = new BufferedWriter(new FileWriter(file));writer.write(textArea.getText());writer.close();} catch (IOException ex) {ex.printStackTrace();}}}});saveAsMenuItem.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {int result = fileChooser.showSaveDialog(Notepad.this);if (result == JFileChooser.APPROVE_OPTION) {File file = fileChooser.getSelectedFile();try {BufferedWriter writer = new BufferedWriter(new FileWriter(file));writer.write(textArea.getText());writer.close();} catch (IOException ex) {ex.printStackTrace();}}}});fileMenu.add(newMenuItem);fileMenu.add(openMenuItem);fileMenu.add(saveMenuItem);fileMenu.add(saveAsMenuItem);menuBar.add(fileMenu);setJMenuBar(menuBar);}public static void main(String[] args) {SwingUtilities.invokeLater(new Runnable() {@Overridepublic void run() {new Notepad();}});}}4. 总结本文介绍了一种基于Java语言开发的简易记事本设计方案。
JAVA记事本课程设计报告
Java记事本程序设计报告一、设计时间二、设计地点三、设计目的1、复习、巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握;2、课程设计为学生提供了一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。
提高学生适应实际,实践编程的能力;3、培养学生在项目开发中团队合作精神、创新意识及能力。
四、设计小组五、指导老师六、设计课题文本编辑器的设计与实现要求:设计一个类似于Windows记事本(Notepad)的Java程序。
可以打开、新建、保存一个文本文件;对选中的文本进行各种编辑操作(设置字体、字号、字型、对齐方式、背景、前景色、复制、粘贴、剪切、查找、替换等);在文本中能够插入对象。
七、基本思路及关键问题的解决方法;设计一个类似于Windows记事本的Java程序,首先,设计一个窗体面板,对其进行布局管理、尺寸、位置以及可见性的设置,然后,对其菜单项添加,最后,实现事件监听,同时也是最关键的部分,充分利用课堂所学知识、API帮助文档、课外资料以及网上的相关资料,解决了一些自认为棘手的问题。
八、算法及截图涉及到的算法如下:打开:是文件输入流读入文件到特定的地方比如Textarea。
保存:是文件的输出流输出到目标路径下的文件。
另存为:把文件的输出到另一个目标路径下是的文件。
剪切、复制、粘贴、撤销、删除:是对字符串的操作。
字体:是对文本的操作。
自动换行:是对文本的操作。
九、调试过程中出现的问题及相应解决办法;编写字体类时,运行的窗口里面的组件的布局,开始我自己是用的FlowLayout布局,但是排出来的布局感觉很乱,最后使用的GridLayout布局,感觉布局好一点。
写删除按钮时,找不到删除的方法,最后使用text.replaceSelection(""); // 用给定字符串替换原字符串才解决。
十、课程设计心得体会;十一、源程序(有详细解释)import java.awt.*;import java.awt.event.*;import java.io.*;import javax.swing.*;import javax.swing.filechooser.FileNameExtensionFilter;import javax.swing.undo.UndoManager;public class NoteBookD extends JFrame implements ActionListener, MouseListener {private JMenu filemenu;private JMenuItem menuOpen;private JMenuItem menuSave;private JMenuItem menuSaveAs;private JMenuItem menuClose;private JTextArea text;private JMenuItem menunew;private JLabel stateBar;private JFileChooser fileChooser;private JPopupMenu popupmenu;private static UndoManager undoManger = new UndoManager();;// 第一步:构建文本框public NoteBookD() {super("新建文本文件");Toolkit kit = Toolkit.getDefaultToolkit();Dimension dim = kit.getScreenSize(); // 获得屏幕分辨率this.setBounds(dim.width / 4, dim.height / 4, dim.width / 2, dim.height / 2); // 窗口居中setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);text = new JTextArea();text.addMouseListener(this); // 文本区注册鼠标事件监听器this.getContentPane().add(new JScrollPane(text)); // 文本区添加到滚动窗格,滚动窗格添加到框架内容窗格中部// 第二步:设置下拉菜单栏// (1):文件菜单JMenuBar menubar = new JMenuBar();JMenu filemenu = new JMenu("文件");// 2):打开menuOpen = new JMenuItem("打开");// menuOpen.setFont("黑体");menuOpen.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,InputEvent.CTRL_MASK));menuOpen.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {open();}});// 保存menuSave = new JMenuItem("保存");menuSave.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S, InputEvent.CTRL_MASK));menuSave.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {savefile();}});// 另存为menuSaveAs = new JMenuItem("另存为");menuSaveAs.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {savefileAs();}});// 关闭menuClose = new JMenuItem("关闭");menuClose.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Q, InputEvent.CTRL_MASK));menuClose.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {closefile();}});filemenu.add(menuOpen);filemenu.addSeparator(); // 分隔线filemenu.add(menuSave);filemenu.add(menuSaveAs);filemenu.addSeparator(); // 分隔线filemenu.add(menuClose);// (2):编辑菜单JMenu menuedit = new JMenu("编辑");// 1):撤销JMenuItem menuremov = new JMenuItem("撤销");menuremov.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_Z, InputEvent.CTRL_MASK));text.getDocument().addUndoableEditListener(undoManger);menuremov.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {if (undoManger.canUndo()) {undoManger.undo();} else {JOptionPane.showMessageDialog(null, "无法撤销", "警告",JOptionPane.WARNING_MESSAGE);}}});// 2):剪切JMenuItem menucut = new JMenuItem("剪切");menucut.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_X, InputEvent.CTRL_MASK));menucut.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {text.cut();}});// 3):复制JMenuItem menucopy = new JMenuItem("复制");menucopy.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_C, InputEvent.CTRL_MASK));menucopy.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {text.copy();}});// 4):粘贴JMenuItem menupaste = new JMenuItem("粘贴");menupaste.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK));menupaste.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {text.paste();}});// 5):删除JMenuItem menudelete = new JMenuItem("删除");menudelete.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D ELETE,InputEvent.CTRL_MASK));menudelete.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {text.replaceSelection(""); // 用给定字符串替换原字符串}});// 6):查找// 7):查找下一个// 8):全选JMenuItem menuselectall = new JMenuItem("全选");menuselectall.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.V K_A,InputEvent.CTRL_MASK));menuselectall.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {text.selectAll();}});menuedit.add(menuremov);menuedit.addSeparator(); // 分隔线menuedit.add(menucut);menuedit.add(menucopy);menuedit.add(menupaste);menuedit.addSeparator(); // 分隔线menuedit.add(menuselectall);// 字体JMenu menufont = new JMenu("格式");JMenuItem fontmenu = new JMenuItem("字体");fontmenu.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {font f = new font(text);f.setVisible(true);}});JMenuItem autommenu = new JMenuItem("自动换行");autommenu.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {text.setLineWrap(true);}});menufont.add(fontmenu);menufont.add(autommenu);// 菜单 - 关于JMenu aboutMenu = new JMenu("关于");JMenuItem menuAbout = new JMenuItem("关于NotePad");menuAbout.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {// 显示对话框JOptionPane.showOptionDialog(null, "程序名称:\n NotePad \n"+ "程序设计:\n Java课程设计 \n" + "简介:\n 一个简单的文字编辑器\n"+ " 制作人:\n 卜伏辉\n", "关于NotePad",JOptionPane.DEFAULT_OPTION,RMATION_MESSAGE, null, null, null);}});menubar.add(filemenu);menubar.add(menuedit);menubar.add(menufont);menubar.add(aboutMenu);setJMenuBar(menubar);// 右键弹出菜单popupmenu = new JPopupMenu(); // 快捷菜单对象String menuitemstr[] = { "剪切", "复制", "粘贴" };JMenuItem popmenuitem[] = new JMenuItem[menuitemstr.length];for (int i = 0; i < popmenuitem.length; i++) {popmenuitem[i] = new JMenuItem(menuitemstr[i]); // 菜单项popupmenu.add(popmenuitem[i]); // 快捷菜单加入菜单项popmenuitem[i].addActionListener(this);}popmenuitem[0].setAccelerator(KeyStroke.getKeyStroke(KeyEvent. VK_X,InputEvent.CTRL_MASK));// 设置快捷键Ctrl+Xpopmenuitem[1].setAccelerator(KeyStroke.getKeyStroke(KeyEvent. VK_C,InputEvent.CTRL_MASK));// 设置快捷键Ctrl+Cpopmenuitem[2].setAccelerator(KeyStroke.getKeyStroke(KeyEvent. VK_V,InputEvent.CTRL_MASK));// 设置快捷键Ctrl+Vtext.add(popupmenu);setVisible(true);}public static void main(String[] args) {new NoteBookD();}// 鼠标监听public void mouseClicked(MouseEvent e) {if (e.getModifiers() == MouseEvent.BUTTON3_MASK) // 单击的是鼠标右键popupmenu.show(text, e.getX(), e.getY()); // 在鼠标单击处显示快捷菜单}public void mousePressed(MouseEvent e) {}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}// 事件监听public void actionPerformed(ActionEvent e) {if (e.getActionCommand() == "退出")if (JOptionPane.showConfirmDialog(this, "终止当前程序运行?") == 0)System.exit(0); // 单击确认对话框中的“是”按钮,结束程序运行if (e.getActionCommand() == "剪切")text.cut(); // 将选中文本剪切送系统剪贴板if (e.getActionCommand() == "复制")text.copy(); // 将选中文本复制送系统剪贴板if (e.getActionCommand() == "粘贴")text.paste(); // 将剪贴板的文本粘贴在当前位置return;}// 打开private void open() {// fileChooser 是 JFileChooser 的实例// 显示文件选取的对话框fileChooser = new JFileChooser();try {FileNameExtensionFilter filter = new FileNameExtensionFilter("文本文档", "*.txt");fileChooser.setFileFilter(filter);int returnVal = fileChooser.showOpenDialog(this);if (returnVal == JFileChooser.APPROVE_OPTION) {File b = fileChooser.getSelectedFile();BufferedReader c = new BufferedReader(new FileReader(b));text.read(c, "b");}} catch (IOException e) {JOptionPane.showMessageDialog(null, e.toString(), "开启文件失败",JOptionPane.ERROR_MESSAGE);}}// 保存private void savefile() {// fileChooser 是 JFileChooser 的实例// 显示文件选取的对话框fileChooser = new JFileChooser();try {FileNameExtensionFilter filter = new FileNameExtensionFilter("文本文档", "*.txt");fileChooser.setFileFilter(filter);int returnVal = fileChooser.showSaveDialog(this);if (returnVal == JFileChooser.APPROVE_OPTION) {File b = fileChooser.getSelectedFile();BufferedWriter c = new BufferedWriter(new FileWriter(b));text.write(c);}} catch (IOException e) {JOptionPane.showMessageDialog(null, e.toString(), "开启文件失败",JOptionPane.ERROR_MESSAGE);}}// 另存为private void savefileAs() {// fileChooser 是 JFileChooser 的实例// 显示文件选取的对话框fileChooser = new JFileChooser();fileChooser.setDialogTitle("另存为");FileNameExtensionFilter filter = newFileNameExtensionFilter("文本文档","*.txt");fileChooser.setFileFilter(filter);int returnVal = fileChooser.showSaveDialog(this);if (returnVal == JFileChooser.APPROVE_OPTION) {File b = fileChooser.getSelectedFile();savefile();}}// 关闭窗口private void closefile() {dispose();}}class font extends JFrame implements ActionListener, MouseListener {private JComboBox combox_name, combox_size;private JButton button;JPanel panel1, panel2, panel3;JComboBox toolbar, toolbar1, toolbar2;JTextArea text;JLabel label;Color color;JPanel panel;public font(JTextArea text) {super("字体");this.text = text;Dimension dim = getToolkit().getScreenSize(); // 获得屏幕分辨率this.setBounds(dim.width* 3 / 8, dim.height* 3 / 8, dim.width / 4,dim.height / 3); // 窗口居中toolbar = new JComboBox();toolbar1 = new JComboBox();toolbar2 = new JComboBox();GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();String[] fontsName = ge.getAvailableFontFamilyNames(); // 获得系统字体for (int i = 0; i < fontsName.length; i++) {toolbar.addItem(fontsName[i]);}String[] fontsstyle = { "粗体", "常规", "斜体" };for (int i = 0; i < fontsstyle.length; i++) {toolbar1.addItem(fontsstyle[i]);}String sizestr[] = { "10", "20", "30", "40", "50", "60", "70"};for (int i = 0; i < sizestr.length; i++) {toolbar2.addItem(sizestr[i]);}JLabel label = new JLabel("颜色");label.addMouseListener(this);button = new JButton("确定");button.addActionListener(this);panel = new JPanel(new GridLayout(5, 1, 0, 10));panel.add(toolbar);panel.add(toolbar1);panel.add(toolbar2);panel2 = new JPanel(new FlowLayout());panel2.add(label);panel1 = new JPanel(new FlowLayout());panel1.add(button);panel.add(panel1);panel.add(panel2);this.add(panel);}// 鼠标监听public void mouseClicked(MouseEvent e) {}public void mousePressed(MouseEvent e) {color = JColorChooser.showDialog(this, "颜色", Color.black);}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}// 事件响应public void actionPerformed(ActionEvent e) {// 对button按钮的响应if (e.getSource() == button) {String name = toolbar.getSelectedItem().toString();// 获取toolbar的内容String font1 = toolbar1.getSelectedItem().toString();// 获取toolbar1的内容int size = Integer.parseInt(toolbar2.getSelectedItem().toString());// 获取toolbar的内容text.setForeground(color);// 设置字体颜色if (font1.equals("粗体")) {text.setFont(new Font(name, Font.BOLD, size));}if (font1.equals("常规")) {text.setFont(new Font(name, Font.PLAIN, size));}if (font1.equals("斜体")) {text.setFont(new Font(name, Font.ITALIC, size));}this.setVisible(false);}}public void main(String[] args) {new font(text);}}参考文献[1] Bruce Eckel. Java编程思想[M]. 北京:机械工业出版社,2009.[2] FLANAGAN. Java技术手册[M]. 北京:中国电力出版社,2002.[3] 孙一林,彭波. Java数据库编程实例[M]. 北京:清华大学出版社,2002.[4] 孙涌. 现代软件工程[M]. 北京:北京希望电子出版社,2003:92-135.。
基于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;Container c;JTextArea editor=new JTextArea(s);(4)主要方法说明:JM( )方法创建一个窗口并设置窗口的相应参数,以及把各个项目加到窗上private void addJMenuBar( )方法把各个菜单添加到菜单棒上private void addFileMenu( ) private void addEditMenu( ) private void addFormMenu( ) private void addHelpMenu( ) private void addJPopupMenu( )各个方法则把相应的菜单项添加到各自的“文件”、“编辑”、“格式”、“帮助”菜单上,及弹出菜单上3.1.2 类名: JM4(1)作用: 主类(2)继承的父类: JM类(3)主要成员方法说明:编辑区键盘事件:KeyListener类如果记事本的编辑区内用键盘输入了字符,就能够被程序监听;editor.addKeyListener( new KeyAdapter(){public void keyTyped(KeyEvent e){flag=1;}});窗口的事件监听:windowListener类;class windowListener extends WindowAdapter{public void windowClosing(WindowEvent e){if(flag==0)System.exit(0);else close();}}菜单项的事件监听:ActionListener类;public void actionPerformed(ActionEvent e){Font f2=editor.getFont();JMenuItem mi=(JMenuItem) e.getSource();……}3.2 程序流程图3.2.1主流程图3.2.5 弹出菜单操作流程图3.2.6 “帮助”菜单操作流程图4 详细设计4.1 GUI程序界面设计import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;public class JM extends JFrame{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;Container c;JTextArea editor=new JTextArea(s);Font t=new Font("sanserif",Font.PLAIN,12);JM(){super("记事本");setSize(500,400);try{UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelCla ssName());}catch(Exception e){System.err.println("不能设置外观的原因;"+e);}c = getContentPane();c.add(new JScrollPane(editor));addFileMenu();addEditMenu();addFormMenu();addHelpMenu();addJMenuBar();addJPopupMenu();setJMenuBar(mb);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}/******把菜单项加到菜单上******/private void addFileMenu(){m1.add(n);m1.add(open);m1.add(save);m1.add(save_as);m1.addSeparator();m1.add(exit);m1.setFont(t);}private void addEditMenu() {m2.add(copy);m2.add(cut);m2.addSeparator();m2.add(paste);m2.setFont(t);}private void addFormMenu() {m3.add(f1);m3.add(color);m3.setFont(t);f1.add(i11);f1.add(i12);f1.add(i13);color.add(i21);color.add(i22);color.add(i23);}private void addHelpMenu() {m4.add(about);m4.setFont(t);}private void addJMenuBar() {mb.add(m1);mb.add(m2);mb.add(m3);mb.add(m4);mb.setBackground(Color.cyan);}private void addJPopupMenu(){editor.add(pm);pm.add(item1);pm.add(item2);pm.add(item3);}public static void main(String arg[]){new JM();}}4.2 JM4类的实现import java.io.*;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.awt.Font.*;public class JM4 extends JM implements ActionListener,MouseListener//EventListener{int flag=0;public JM4(){/**********监听器接口**********/n.addActionListener(this);open.addActionListener(this);save.addActionListener(this);save_as.addActionListener(this);exit.addActionListener(this);copy.addActionListener(this);cut.addActionListener(this);paste.addActionListener(this);i11.addActionListener(this);i12.addActionListener(this);i13.addActionListener(this);i21.addActionListener(this);i22.addActionListener(this);i23.addActionListener(this);about.addActionListener(this);item1.addActionListener(this);item2.addActionListener(this);item3.addActionListener(this);editor.addMouseListener(this);addWindowListener(new windowListener());4.3 事件处理4.3.1 编辑区键盘事件处理/***************编辑区键盘事件******************/ editor.addKeyListener( new KeyAdapter(){public void keyTyped(KeyEvent e){flag=1;}});}4.3.2 窗口事件处理/**************窗口监听器**************/class windowListener extends WindowAdapter{public void windowClosing(WindowEvent e) {if(flag==0)System.exit(0);else close();}}4.3.3 菜单项事件处理/***************菜单项监听器****************/ public void actionPerformed(ActionEvent e){Font f2=editor.getFont();JMenuItem mi=(JMenuItem) e.getSource();if(mi==n) //新建{if(flag==0) editor.setText("");else close2();}if(mi==open) //打开{loadFile();}if(mi==save||mi==save_as) //保存和另存为{saveFile();}if(mi==exit) //退出{if(flag==0)System.exit(0); close();}if(mi==copy) //复制{editor.copy();}if(mi==cut) //剪切{editor.cut();}if(mi==paste) //粘贴{editor.paste();}if(mi==i11) //字体设置{editor.setFont(new java.awt.Font("宋体",java.awt.Font.PLAIN,f2.getSize()));}if(mi==i12){editor.setFont(new java.awt.Font("楷体",java.awt.Font.PLAIN,f2.getSize()));}if(mi==i13){editor.setFont(new java.awt.Font("黑体",java.awt.Font.PLAIN,f2.getSize()));}if(mi==i21) //字体颜色{ editor.setForeground(Color.red); }if(mi==i22){editor.setForeground(Color.blue);}if(mi==i23){editor.setForeground(Color.green);}if(mi==about) //帮助菜单的关于{String message = "----记事本----"+ "由梁**指导,***、**、**共同完成\n感谢您的使用!"; JOptionPane.showMessageDialog(JM4.this, message, "关于...",JOptionPane.PLAIN_MESSAGE);}/******弹出菜单********/if(mi==item1) //复制{editor.copy();}if(mi==item2) //剪切{editor.cut();}if(mi==item3) //粘贴{editor.paste();}}4.3.4 编辑区的鼠标事件事件处理/******编辑区的鼠标事件*********/public void mouseReleased(MouseEvent e){if(e.isPopupTrigger())pm.show(editor,e.getX(),e.getY());}public void mouseClicked(MouseEvent e){}public void mouseEntered(MouseEvent e){}public void mouseExited(MouseEvent e){}public void mousePressed(MouseEvent e){}public static void main (String[] args) { JM4 d=new JM4();} }5 测试分析(1)程序运行界面如下:(2)“文件”菜单的菜单项:(3)“编辑”菜单的菜单项:(4)打开文件及另存文件时的界面:由于打开文件和另存文件都要寻找路径,所以开始时界面相同。
java课程设计记事本设计报告
java课程设计记事本设计报告一、教学目标本课程旨在通过Java编程语言实现一个记事本应用程序,让学生掌握Java编程的基本概念和方法,培养学生的编程能力和解决问题的能力。
1.理解Java编程语言的基本语法和结构。
2.掌握Java编程中的数据类型、变量、运算符、控制语句等基本概念。
3.学习Java中的类和对象的概念,理解封装、继承和多态的原理。
4.熟悉Java中的常用类库和方法。
5.能够运用Java编程语言编写简单的程序。
6.能够使用Java编程语言实现一个记事本应用程序,包括文本的增删改查等功能。
7.能够分析并解决编程过程中遇到的问题。
情感态度价值观目标:1.培养学生的团队合作意识和沟通能力,通过小组合作完成项目。
2.培养学生的创新思维和解决问题的能力,鼓励学生进行自主学习和探索。
3.培养学生的学习兴趣和自信心,让学生感受到编程的乐趣和成就感。
二、教学内容本课程的教学内容主要包括Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现。
1.Java编程语言的基本概念和方法:–数据类型、变量、运算符、控制语句等基本概念。
–类和对象的概念,封装、继承和多态的原理。
–常用类库和方法的使用。
2.记事本应用程序的设计和实现:–用户界面设计:创建文本框、按钮等控件,实现用户输入和显示功能。
–文件操作:实现文件的打开、保存、关闭等功能,使用文件读写技术。
–文本处理:实现文本的增删改查等功能,使用数据结构和算法进行文本管理。
三、教学方法本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等,以激发学生的学习兴趣和主动性。
1.讲授法:教师通过讲解Java编程语言的基本概念和方法,以及记事本应用程序的设计和实现,引导学生掌握相关知识。
2.讨论法:学生分组进行讨论,分享自己的理解和思路,互相学习和交流。
3.案例分析法:分析实际案例,让学生了解记事本应用程序的实际应用场景和设计思路。
4.实验法:学生通过编写代码和进行实验,实现记事本应用程序的功能,培养学生的实际编程能力和解决问题的能力。
java简单记事本课程设计
java简单记事本课程设计一、课程目标知识目标:1. 掌握Java基本语法和编程结构;2. 理解事件处理机制,掌握简单的用户界面设计;3. 学会使用文件I/O操作,实现记事本的保存和打开功能。
技能目标:1. 能够运用所学知识独立设计并实现一个简单的记事本程序;2. 培养解决问题的能力,学会分析需求并运用Java语言编写相应的代码;3. 提高调试程序的能力,能够找出并修正程序中的错误。
情感态度价值观目标:1. 培养学生对编程的兴趣和热情,激发探究精神;2. 培养学生良好的编程习惯,注重代码规范和注释;3. 增强学生的团队协作意识,学会与他人共同解决问题。
课程性质:本课程为实践性较强的课程,旨在让学生通过动手实践,掌握Java 编程的基本技能。
学生特点:学生已具备一定的Java基础,具有一定的编程能力和问题解决能力。
教学要求:教师需引导学生主动参与,注重理论与实践相结合,鼓励学生创新和团队协作。
在教学过程中,将目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. Java基本语法回顾:变量、数据类型、运算符、控制语句(条件语句、循环语句);2. Java面向对象基础:类与对象、构造方法、封装、继承和多态;3. GUI编程基础:Swing组件、事件处理机制、布局管理器;4. 文件I/O操作:File类、文件读写、异常处理;5. 简单记事本程序设计:需求分析、界面设计、功能实现(打开、保存、新建、撤销、重做)。
教学内容安排与进度:第一课时:回顾Java基本语法,明确课程目标;第二课时:介绍Java面向对象基础,讲解类与对象、构造方法;第三课时:学习GUI编程基础,了解Swing组件和事件处理机制;第四课时:学习文件I/O操作,掌握文件读写和异常处理;第五课时:进行简单记事本程序设计的需求分析和界面设计;第六课时:实现记事本程序的功能,并进行调试优化。
教材章节关联:1. Java基本语法回顾:教材第1-3章;2. Java面向对象基础:教材第4-6章;3. GUI编程基础:教材第7章;4. 文件I/O操作:教材第8章;5. 简单记事本程序设计:结合教材实例,进行综合应用。
课程设计java记事本
课程设计 java记事本一、课程目标知识目标:1. 理解Java基本语法结构,掌握面向对象编程的基本概念;2. 学会使用Java编写简单的记事本程序,理解程序的基本结构;3. 了解Java事件处理机制,掌握基本的用户界面设计方法。
技能目标:1. 能够运用所学知识,独立编写、调试和运行Java记事本程序;2. 培养良好的编程习惯,编写结构清晰、易于维护的代码;3. 学会使用集成开发环境(IDE)进行Java程序开发,提高编程效率。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发学习积极性,增强自信心;2. 培养学生的团队协作能力,学会与他人分享和交流编程经验;3. 引导学生认识到编程在生活中的实际应用,培养创新意识和实践能力。
课程性质:本课程为实践性较强的Java编程课程,通过编写记事本程序,让学生掌握Java编程的基本知识和技能。
学生特点:学生处于初中或高中年级,具备一定的计算机操作能力和逻辑思维能力。
教学要求:结合学生特点,注重实践操作,激发学生的学习兴趣,培养编程技能,同时关注情感态度价值观的培养。
在教学过程中,将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. Java基本语法:变量、数据类型、运算符、控制语句(条件语句、循环语句);2. 面向对象编程:类与对象、构造方法、封装、继承、多态;3. Java事件处理机制:事件监听器、事件适配器、事件处理方法;4. 用户界面设计:窗口、标签、文本框、按钮等组件的使用;5. Java文件操作:文件的读取与写入、文件的保存与打开;6. 集成开发环境(IDE)的使用:Eclipse或IntelliJ IDEA的基本操作与调试技巧。
教学大纲:第一周:Java基本语法及控制语句学习;第二周:面向对象编程基本概念及实现;第三周:Java事件处理机制及用户界面设计;第四周:Java文件操作及记事本程序编写;第五周:实践与调试,完善记事本程序。
(最新版)Java毕业课程设计报告记事本程序
Java课程设计报告题目:简单记事本程序的设计年级专业:i ____ 学号: _________________________ 学生姓名: ______________________ 指导老师: ______________________完成时间:2010年6月8日目录摘要 (1)前言 (2)1需求分析 (2)1.1需求分析 (2)1.2功能设计 (3)2.概要设计 (3)2.1程序设计思路 (3)2.2程序运行界面 (3)2.3模块说明图 (4)2.4 程序流程图 (5)2.5程序相关说明 (6)3.程序详细设计与分析 (6)3.1.初始化组件 (6)3.2.构建菜单栏及其下拉菜单 (6)3.3.“文件”菜单的事件监听 (7)3.4.“编辑”菜单的事件监听 (8)3.5.异常处理 (9)4•测试分析 (10)5•源程序清单 (12)6•课程设计总结 (17)参考文献 (17)简单记事本程序的设计摘要该报告中的程序是使用Java 程序编写,能够进行输入文字操作,并具有新建文件,打开文件,保存文件,退出,复制,粘贴,剪切等功能,不同之处是本程序能够对文字的颜色进行设置。
该程序主要用到了Java swing 和事件监听等。
关键字:记事本程序;Java 语言;Jcreator.、八、一前言Java的前身是Oak,它一开始只是被应用于消费性电子产品中。
后来它的开发者们发现它还可以被用于更大范围的In ternet 上。
1995年,Java语言的名字从Oak编程了Java。
1997 年J2SE1.1 发布。
1998 年J2SE1.2 发布,标志Java2 的诞生。
十多年来, Java 编程语言及平台成功地运用在网络计算及移动等各个领域。
Java的体系结构由Java语言、Javaclass 、Java API 、Java 虚拟机组成。
它具有简单、面向对象、健壮、安全、结构中立、可移植和高效能等众多优点。
java课程设计记事本
java课程设计 记事本一、课程目标知识目标:1. 学生能理解记事本软件的基本功能需求,掌握Java编程语言实现文本编辑器的基础知识。
2. 学生能掌握Java中文件I/O操作,学会如何读取和保存文件。
3. 学生了解并掌握Java事件处理机制,实现对记事本界面上各种操作(如打开、保存、复制、粘贴等)的响应。
4. 学生理解MVC设计模式,并能应用于记事本程序的设计中。
技能目标:1. 学生能够独立设计并编写出一个具备基本功能的记事本程序,实现文本的打开、编辑、保存和另存为功能。
2. 学生通过实践,提高问题分析能力,掌握运用Java编程解决问题的方法和技巧。
3. 学生能够运用所学知识,对记事本程序进行扩展,增加如查找替换、字体设置等高级功能。
情感态度价值观目标:1. 学生在课程学习过程中,培养解决问题的耐心和毅力,增强对编程学习的兴趣。
2. 学生通过小组合作完成项目,培养团队协作能力和沟通技巧。
3. 学生学会分享编程心得,树立正确的学习态度,认识到编程对个人发展和社会进步的重要性。
本课程旨在让学生通过实际操作,掌握Java编程的基础知识和技能,培养实际编程能力。
考虑到学生年级的特点,课程内容设计将注重知识点的逐步深入和实际应用,使学生在完成课程学习后,能够具备独立设计和开发简单Java应用程序的能力。
二、教学内容1. Java基础知识回顾:包括数据类型、控制结构、类与对象、继承与多态等基础概念,以教材相关章节为参考,确保学生对Java基础知识有扎实的掌握。
2. 文件I/O操作:教学文件读写的基本方法,涉及File类、InputStream和OutputStream等类的使用,对应教材中文件操作相关章节。
3. Java事件处理机制:介绍事件监听器、事件源、事件对象等概念,以及如何使用AWT和Swing库处理图形用户界面事件,参考教材中图形用户界面设计相关内容。
4. MVC设计模式:讲解模型-视图-控制器设计模式的原理和应用,引导学生将设计模式应用于记事本程序设计,与教材中设计模式章节相结合。
记事本程序java课程设计
记事本程序java课程设计一、教学目标本课程旨在通过记事本程序的设计与实现,让学生掌握Java编程的基本语法、面向对象编程思想,以及常用数据结构的使用。
在知识目标上,要求学生能够熟练运用Java语言编写简单的记事本程序,理解并应用面向对象编程的基本概念,如封装、继承和多态。
在技能目标上,培养学生分析问题、解决问题的能力,以及良好的编程习惯。
在情感态度价值观目标上,激发学生对计算机科学的兴趣,培养学生的创新意识和团队协作精神。
二、教学内容本课程的教学内容主要包括Java语言基础知识、面向对象编程、常用数据结构、记事本程序设计等。
具体安排如下:1.Java语言基础知识:介绍Java编程语言的基本语法、数据类型、运算符、控制结构等。
2.面向对象编程:讲解类与对象、封装、继承和多态等概念,并引导学生通过实例掌握面向对象编程的方法。
3.常用数据结构:介绍数组、链表、栈、队列等数据结构的基本原理和应用。
4.记事本程序设计:引导学生运用所学知识编写一个简单的记事本程序,掌握文件操作、文本编辑等技能。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式,如讲授法、案例分析法、实验法等。
在教学过程中,教师将引导学生通过查阅教材、观看教学视频、编写代码和参与讨论,从而深入理解Java编程知识和记事本程序设计技巧。
同时,鼓励学生进行自主学习和团队合作,培养学生的创新意识和解决问题的能力。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《Java编程思想》等。
2.参考书:《Java核心技术》、《Java Web开发》等。
3.多媒体资料:教学视频、PPT课件等。
4.实验设备:计算机、网络设备等。
通过以上教学资源的支持,学生将能够更好地学习Java语言和记事本程序设计,提高自己的编程技能。
五、教学评估本课程的教学评估将采用多元化的评价方式,以全面、客观、公正地评估学生的学习成果。
java记事本课程设计
java记事本 课程设计一、课程目标知识目标:1. 理解Java基本语法和编程结构,掌握面向对象编程的基本概念;2. 学会使用Java编写简单的记事本程序,包括文件的读取、写入和保存功能;3. 掌握基本的异常处理和文件操作方法,了解其在实际编程中的应用。
技能目标:1. 能够运用所学知识,独立设计和编写简单的Java程序;2. 能够运用调试工具检查和修正程序中的错误,提高程序的稳定性;3. 培养良好的编程习惯,如合理的命名、注释和代码组织。
情感态度价值观目标:1. 培养学生对编程的兴趣,激发主动探索和实践的精神;2. 培养学生的团队合作意识,学会在编程过程中相互帮助、共同解决问题;3. 增强学生的自信心,让他们在编程实践中体验成功,认识到自己的潜力。
分析课程性质、学生特点和教学要求,本课程旨在帮助学生在掌握Java基本知识的基础上,通过编写记事本程序,深入理解编程原理,提高编程实践能力。
课程目标具体、可衡量,便于教学设计和评估。
在此基础上,将目标分解为具体的学习成果,使学生能够在课程结束后具备实际编程能力,为后续学习打下坚实基础。
二、教学内容1. Java基本语法和编程结构:变量、数据类型、运算符、控制流程(条件语句、循环语句)、数组等基本概念;2. 面向对象编程:类与对象、构造方法、封装、继承、多态等基本概念及其应用;3. 文件操作:文件读取、写入、保存等方法,异常处理机制;4. 简单记事本程序设计:界面设计、功能模块划分、代码编写与调试;5. 教学大纲:- 第一周:Java基本语法和编程结构学习,完成相关练习;- 第二周:面向对象编程概念学习,案例分析;- 第三周:文件操作方法学习,编写简单的文件读写程序;- 第四周:记事本程序设计,分模块编写代码,进行调试与优化;- 第五周:课程总结,学生展示作品,相互交流与评价。
教学内容的选择和组织确保了科学性和系统性,与课本关联紧密,符合教学实际。
教学大纲的制定明确了教学内容的安排和进度,便于教师授课和学生学习。
java记事本程序课程设计
java记事本程序 课程设计一、课程目标知识目标:1. 学生能理解Java语言的基本语法和程序结构,掌握面向对象编程的基本概念。
2. 学生能掌握使用Java编写文本处理程序的基本方法,了解文件读写操作。
3. 学生了解异常处理机制,并能在程序中正确使用try-catch结构处理异常。
技能目标:1. 学生能够运用所学知识,独立设计和编写一个具备基本功能的记事本程序。
2. 学生通过编程实践,提高问题分析能力,学会运用面向对象方法设计程序结构。
3. 学生能够运用调试工具检查和修正程序中的错误,提高程序调试能力。
情感态度价值观目标:1. 学生通过编程实践,培养对计算机科学的兴趣,激发主动学习和探索精神。
2. 学生在小组合作中学会沟通和协作,培养团队意识和集体荣誉感。
3. 学生通过解决实际问题,增强自信心,树立正确的技术价值观和社会责任感。
课程性质:本课程为信息技术学科,结合Java编程知识,以实践操作为主,注重培养学生的动手能力和实际应用能力。
学生特点:学生为初中年级,对计算机编程有一定的基础,好奇心强,喜欢探索新知识。
教学要求:注重理论与实践相结合,引导学生通过自主学习和小组合作,完成记事本程序的设计与实现。
在教学过程中,关注学生的个体差异,提供有针对性的指导。
二、教学内容1. Java基本语法复习:变量、数据类型、运算符、控制流程(条件语句、循环语句)。
相关教材章节:第一章 Java语言概述,第二章 Java基本语法。
2. 面向对象基础:类与对象、构造方法、封装、继承、多态。
相关教材章节:第三章 面向对象编程基础,第四章 类与对象。
3. 文件读写操作:File类、FileReader、FileWriter、BufferedReader、BufferedWriter。
相关教材章节:第六章 文件与I/O流。
4. 异常处理:异常的概念、try-catch语句、finally语句、自定义异常。
相关教材章节:第七章 异常处理。
java创建记事本课程设计
java创建记事本课程设计一、课程目标知识目标:1. 学生能理解Java语言中面向对象编程的基本概念,掌握类的定义、属性和方法的创建。
2. 学生能够运用Java编程知识,创建并实现一个简易的记事本应用程序。
3. 学生了解文件读写的基本原理,并能运用Java中的IO操作实现记事本的功能。
技能目标:1. 学生能够运用所学知识,独立设计并编写Java程序,实现记事本的基本功能(如创建、打开、保存、关闭文件)。
2. 学生通过实际操作,培养解决问题的能力,提高编程实践技能。
3. 学生能够运用调试工具检查并修正程序中的错误,提高程序调试能力。
情感态度价值观目标:1. 学生通过动手实践,培养对编程的兴趣,增强学习Java编程的自信心。
2. 学生在团队协作中,学会沟通与分享,培养合作精神和团队意识。
3. 学生能够认识到编程在实际应用中的重要性,激发对计算机科学的热爱。
课程性质:本课程为实践性较强的课程,注重培养学生的动手能力和实际操作技能。
学生特点:学生已具备Java基础知识和面向对象编程的基本概念,具有一定的编程能力。
教学要求:教师应引导学生主动参与,注重个体差异,提供针对性指导,确保学生在实践中掌握知识。
通过课程学习,使学生能够将所学知识应用于实际项目中,提高学生的编程能力和综合素养。
二、教学内容1. 面向对象编程基础回顾:复习类与对象、属性、方法等基本概念,巩固学生面向对象编程的思想。
相关教材章节:第3章 面向对象编程基础2. Java文件操作:介绍Java中文件读写的基本方法,包括File类、InputStream、OutputStream及其子类。
相关教材章节:第7章 Java文件操作3. Java Swing图形用户界面:讲解Swing库的基本组件使用,如JFrame、JTextArea、JMenuBar、JMenu、JMenuItem等,用于设计记事本界面。
相关教材章节:第8章 Swing图形用户界面4. 事件处理机制:介绍Java中事件处理机制,如addActionListener、ActionEvent等,实现记事本功能按钮的响应。
java课程设计编写记事本
java课程设计编写记事本一、教学目标本章节的教学目标为:知识目标:使学生掌握Java编程语言的基本语法和结构,理解面向对象编程的基本概念和方法。
技能目标:培养学生使用Java编程语言进行简单的程序设计和开发的能力,能够运用面向对象编程方法解决实际问题。
情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生解决问题的能力和创新意识。
二、教学内容本章节的教学内容为:1.Java编程语言的基本语法和结构,包括数据类型、运算符、控制结构等。
2.面向对象编程的基本概念和方法,包括类和对象、继承和多态、封装等。
3.Java编程语言的高级特性,包括异常处理、文件操作、多线程等。
三、教学方法本章节的教学方法为:1.讲授法:通过讲解和演示,使学生掌握Java编程语言的基本语法和结构,理解面向对象编程的基本概念和方法。
2.实验法:通过编写和运行Java程序,使学生掌握Java编程语言的高级特性和应用技巧。
3.讨论法:通过分组讨论和交流,培养学生解决实际问题的能力和创新意识。
四、教学资源本章节的教学资源为:1.教材:《Java编程思想》2.参考书:《Java核心技术》3.多媒体资料:Java编程语言的教学视频和演示文稿4.实验设备:计算机和网络设备五、教学评估本章节的教学评估方式包括:1.平时表现:通过课堂参与、提问、回答问题等评估学生的学习态度和积极性。
2.作业:布置和批改课后作业,评估学生的理解和应用能力。
3.考试:进行定期的考试,评估学生对知识点的掌握程度和编程能力。
评估方式应客观、公正,能够全面反映学生的学习成果。
可以通过成绩、评语等方式进行反馈,帮助学生了解自己的学习情况并改进。
六、教学安排本章节的教学安排规定如下:1.教学进度:按照教材的章节顺序进行教学,确保覆盖所有重要知识点。
2.教学时间:安排合理的课堂时间,保证有足够的时间进行讲解、实践和讨论。
3.教学地点:选择适合编程实践的教室,确保学生有足够的计算机设备进行操作。
java桌面课程设计记事本
java桌面课程设计记事本一、教学目标本课程的目标是让学生掌握Java语言实现桌面应用程序的基本技能,通过学习Java语言基础和GUI编程,培养学生的编程能力和解决实际问题的能力。
在知识目标方面,要求学生掌握Java语言基本语法、面向对象编程思想、常用类库和GUI组件的使用。
在技能目标方面,要求学生能够独立设计并实现一个桌面记事本应用程序,掌握Java编程的基本流程。
在情感态度价值观目标方面,培养学生的团队合作意识,提高学生解决问题的能力,使学生认识到计算机编程在实际应用中的重要性。
二、教学内容本课程的教学内容主要包括Java语言基础、面向对象编程、GUI编程和桌面应用程序设计。
具体包括以下几个部分:1.Java语言基础:Java语言的基本语法、数据类型、运算符、控制结构、数组、字符串等。
2.面向对象编程:类与对象、封装、继承、多态、接口、集合等。
3.GUI编程:Swing组件、事件处理、布局管理、菜单栏、工具栏等。
4.桌面应用程序设计:记事本应用程序的需求分析、设计、实现和测试。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
包括:1.讲授法:讲解Java语言基础、面向对象编程和GUI编程的基本概念和原理。
2.案例分析法:分析典型的桌面应用程序案例,引导学生学会分析问题和解决问题。
3.实验法:让学生动手编写代码,实现桌面记事本应用程序,提高学生的实际操作能力。
4.讨论法:学生进行小组讨论,分享学习心得和经验,培养学生的团队合作意识。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《Java核心技术卷I》、《Java GUI编程》等。
2.参考书:《Java编程思想》、《Effective Java》等。
3.多媒体资料:教学PPT、视频教程、在线代码示例等。
4.实验设备:计算机、网络环境、编程软件(如Eclipse、IntelliJ IDEA等)。
java记事本课程设计
测试方法:手动测试、自动化测 试
添加标题
添加标题
添加标题
添加标题
测试内容:新建、打开、保存、 编辑、查找、替换等操作
测试结果:记录测试过程中的问 题,并提出改进建议
性能测试
测试目的:验证Java记 事本的性能是否满足需求
测试工具:JMeter、 LoadRunner等
测试指标:响应时间、吞 吐量、资源利用率等
textArea.setLineWrap(true); textArea.setWrapStyleWord(true);
• ``` • JTextArea textArea = new JTextArea(); • textArea.setLineWrap(true); • textArea.setWrapStyleWord(true);
记事本功能需求
记录文本:能够记录和编辑文本内容 保存文件:能够保存文本内容为文件 打开文件:能够打开已保存的文本文件
查找替换:能够查找和替换文本内容
字体设置:能够设置文本的字体、大小、 颜色等
界面设计:简洁明了,易于操作
界面设计
主界面:简洁明 了,易于操作
功能按钮:清晰 可见,易于点击
文本编辑区:可 输入、编辑、保 存文本
测试场景:单用户、多用 户、高并发等
测试结果分析:找出性能 瓶颈,优化代码或配置
性能优化:优化算法、优 化数据库、优化网络等
兼容性测试
操作系统兼容性:测试在不同操作系统下的运行情况 浏览器兼容性:测试在不同浏览器下的运行情况 硬件兼容性:测试在不同硬件配置下的运行情况 软件兼容性:测试与其他软件的兼容性情况
查找替换功能
功能描述:在文本中查找指定的 字符串,并将其替换为另一个字 符串
JAVA课程设计---设计一个记事本
课程设计(大作业)报告课程名称:面向对象程序设计设计题目:设计一个记事本院系:信息技术学院课程设计(大作业)任务书课程设计(大作业)报告一、需求分析如今有关记事本的软件种类繁多。
功能也是应有尽有,但是,软件并不是十全十美的:有的文件体积相对于一般文字编辑来说太大;有的功能太繁杂,使初级使用者一时难以掌握。
仅从日常应用方面来说,实现输入、保存、编辑等简单实用的功能就够了。
本程序的设计就是依照这样一种需要设计了一个简单的记事本程序。
本程序要构建的记事本程序参照了Windows操作系统的记事本工具,具体其功能有以下几个方面:(1)菜单中有“文件”,“编辑”,“关于”三个主菜单。
(2)“文件”有“新建”“打开”“保存”“退出”四个子菜单:分别用于新建文件,打开文件,保存文件,退出记事本。
(3)“编辑”中有“剪切”“复制”“粘贴”“颜色”三个字菜单:用于剪切文字,复制文字,粘贴文字。
增加了“颜色”子菜单来对文字的颜色进行设置。
(4)“关于”菜单中有关于记事本程序的制作日期,作者等信息。
二、系统总体设计在本程序中,设计了一个菜单栏和文本内容区。
设计过程中用到了JScrollPane,JMenu,JTextPane,JFileChooser等。
JMenu用来制作菜单,菜单包括“文件”“编辑”“关于”。
JTextPane主要用来输入文本。
为了加入颜色的设置,所以加了一个JColorChooser组件。
1.系统功能结构图设计2.系统文件结构图设计3.系统编辑结构图设计UML图:三、软件平台1、使用JDK配置环境在JAVA编辑器下进行编辑JAVA源程序2、EditPlus 3四、模块的分析与实现构建菜单以及下拉菜单:JMenu[] menus=new JMenu[]{new JMenu("文件"),new JMenu("编辑"),new JMenu("关于")};J MenuItem optionofmenu[][]=new JMenuItem[][]{{new JMenuItem("新建"),new JMenuItem("打开"),new JMenuItem("保存"),new JMenuItem("退出")},{new JMenuItem("复制"),new JMenuItem("剪切"),new JMenuItem("粘贴"),new JMenuItem("颜色")},{new JMenuItem("关于")}};文件菜单事件监听:ActionListener action=new ActionListener(){public void actionPerformed(ActionEvent e){String name = e.getActionCommand();JMenuItem MI=(JMenuItem)e.getSource();if("新建".equals(name)){content.setText("");file=null;}else if("打开".equals(name)){if(file !=null)openfile.setSelectedFile(file);int returnVal=openfile.showOpenDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();unfold();}}else if("保存".equals(name)){if(file!=null) openfile.setSelectedFile(file);int returnVal=openfile.showSaveDialog(mynotepad.this);if(returnVal==JFileChooser.APPROVE_OPTION){file=openfile.getSelectedFile();saving();}}else if("退出".equals(name)){mynotepad f=new mynotepad();int s=JOptionPane.showConfirmDialog(f,"退出?","退出",JOptionPane.YES_NO_OPTION);编辑菜单的事件监听:else if("剪切".equals(name)){content.cut();}else if("复制".equals(name)){content.copy();}else if("粘贴".equals(name)){content.paste();}else if("颜色".equals(name)){color=JColorChooser.showDialog(mynotepad.this,"",color);content.setForeground(color);异常处理:void saving(){try{FileWriter Writef=new FileWriter(file);Writef.write(content.getText());Writef.close();}Catch (Exception e){e.printStackTrace();}}关于部分:void initAboutDialog(){about.setLayout(new GridLayout(3,1));about.getContentPane().setBackground(Color.white);about.getContentPane().add(new JLabel("简单记事本程序设计"));about.getContentPane().add(new JLabel("11级计算机1班"));about.getContentPane().add(new JLabel("制作者:彭磊"));about.getContentPane().add(new JLabel("2012年12月27日"));about.setModal(true);about.setSize(200,100);about.setLocation(250,150);}五、调试分析各部分调试功能如图所示:六、总结在完成记事本合格程序中,基本上实现了我在需求分析时所预期的功能。
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);menu1.add(item4); menu1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java语言程序设计B报土班级学号姓名成绩2012年12月题目:编写一个记事本程序一. 课程设计题目概要。
课程设计目的题目设计要求二. 课程设计思路。
三. 课程设计实现功能结构图。
“文件”菜单。
“编辑”菜单。
四. 记事本实现功能代码实现。
界面设计代码实现及实现截图。
功能代码详细设计新建文件打开文件复制文件粘贴文件退出记事本五. JAVA课程设计个人总结。
附:JAVA课程设计程序源代码一. 课程设计题目概要。
1.1课程设计目的。
按照老师要求,编写一个记事木程序,并可以实现老师要求的相关功能。
在课程设计过程中,复习巩固Java语言的基础知识,进一步加深对Java语言的理解和掌握,将课本上的理论知识和实际有机的结合起来,锻炼自己的分析解决实际问题的能力,提高自己实践编程的能力。
题目设计要求。
要求:用图形用户界面实现。
能实现编辑、保存、另存为、查找替换等功能。
提示:使用文件输入输出流。
二. 课程设计思路。
设计两个类,一个记事本的类(JSB),具有程序的要求和功能再创建一个课设的主类(KESHE),在主类中创建一个JSB类的对象,就可以直接在编译器中运行程序。
在主界而中设计一个Frame容器,并在其中加入一个下拉菜单和一个文木域控件,把该容器设置为GridLayout (1, 1)布局。
三. 课程设计实现功能结构图。
“文件”菜单。
图“文件”菜单操作流程图“编辑”菜单。
图“编借”菜单操作流程图四. 记事木实现功能代码实现。
.界面设计。
主要代码:f二new Frame(s);pl二new TextArea(?/,/);(400, 600);(true);menubar=new MenuBar();menul=new Menu("文件”);menu2=new Menu(,z编辑");iteml=new Menuitem ("新建");item2=new Menu Item ("扌J 开");item3=new Menultem(z/保存"); item4=new Menultem(z,另存为"); item5=new MenuItemC退出”);item6=new Menuitem ("全选");item7=new Menultem(,z复制"); item8=new Menultem(,/剪切"); item9=new Menultem(z/粘贴");(iteml); (item2);■ a»t. *:.a^L event.水: .util. EventObject : pnv^VF*5TFing s, op : private Calculator cal ~ no Calculator (): private boolean iFOp :保存 另存为 退出 s CalculatorGUl \ me F :el pl.p2: ton bOi bl, b 乙 b3・ b4, b5・ b6, b7, b8, b9: ton bPointe bAdd, bDec, b&liiL bOi v t bCal: tPield IT : 文件 编辑帮助新建打开程序代码实现截图:功能代码详细设计。
新建文件。
if 0二二iteml){if (i=0&&() !=0)){bc();}else(");辽0;("文件对话框”);}打开文件。
if 0==item2){fd=new FileDialog (f,"打开文件",0);(true);try{file二new FileO, 0);()+"文件对话框");FileReader fr=new FileReader(file);BufferedReader br=new BufferedReader(fr);String line = null;String view ="”;while((line=0) !=null){view += line+"\n";(view);0;}catch(IOException expin){}}复制文件。
if 0==item7){try{String str=();if ()!=0){strt=str;}}catch(Exception ex){}}粘贴文件。
if ()=item9){if()>0){(strt, 0);}退出记事木。
if 0==item5){if (i=0 &&()!二0))bc();}else{(0);}}五. JAVA课程设计个人总结。
这个学期我们学习了JAVA语言,这对于我们来说是一门十分陌生的编程语言,在学习的过程中,我感到了这门语言的学习有一定的困难,与C、C++语言相比需要克服的困难也相对多一些。
在学习了JAVA课程后,我们通过这次的JAVA课程设计复习和掌握我们学习的JAVA语言知识,并且在课程设计的过程中巩固和运用相关的知识,提高自己的JAVA编程能力。
通过这次的JAVA课程设计,我更好地了解了JAVA的编程方法, 并且在遇到困难的时候,能主动请教身边的同学,不仅仅培养了我的编程能力,在与同学的交流中我也更好的培养了与其他人的交流能力,相信通过这次的JAVA课程设计,我更好地学习了JAVA,相信我自己在以后的学习中能继续学习JAVA,在更好地丰富自己JAVA知识的同时,积极提高自己的JAVA 编程能力,在以后能更好地掌握JAVA 语言。
JAVA语言课程设计程序源代码:import ・*;import ・*;import FilelnAndOut{public static String fi!eInput(String fName){String strRead=Hn;try {FileReader fi=new FileReader(lName);BufferedReader br=new BufferedReader(fr);String aline=new StringO;while((aline=())!=null) strRead=strRead+a!ine;0;0;} catch (FileNotFoundException e) {0;} catch (IOException e) {0;)return strRead;}public static void fileWrite(String fName,String temp){try {FileWriter fw=new FileWriter(fName);BufferedWriter bw=new BufferedWriter(fw);(temp);0;0;} catch (IOException e) {0;)1)public class MyNote implements ActionListener{private Frame f;private TextArea ta;private MenuBar mb;private String strme[]={"文件T编辑T帮助”};private String strmi[][]={ {*'新建打开保存”,“退出”},{”剪切",”拷贝”,"粘贴”,喳找”},private String fileDirfileName,temp=HH;5private Menu me[];private Menulteni mi[][];private Label 11,12;private TextField tl,t2;private Button bl,b2,b3;private Dialog diaFind.diaAbout;public MyNote(){f=new Frame("我的记事本”);ta=new TextArea();(g);mb=new MenuBar();(mb);mi=new Menultem[][];me二new Menu[];for(int i=0;i<;i++){me[i]=new Menu(strme[i]);(me[i]);mi[i]=new Menultem[strmi[i].length];for(int j=O;j<strmi[i].length;j++){ mi[i]|j]=new MenuItem(strmi[i][j]);me[i].add(mi[i][j]); mi[i][j].addActionListener(this);}1(new WindowAdapter() {public void windowClosing(WindowEvent e){ (0);}));(400300);0; diaFind=new Dialog(f「查找H,true);(new FlowLayout());(260J 20);ll=new Label(n查找内容");12=new Label("替换为”);tl=new TextField(20);t2=new TextField(20);bl二new Button(”下一个”);b2=new Button("替换");b3=new Button(“取消”);(H);(tl);(12);(t2);(bl);(b2);(b3);(new WindowAdapter()public void windowClosing(WindowEvent e){0;)));}public void actionPerformed(ActionEvent e){ String cmd=();if(噺建”)){ fileDir=HH; fileName=,,M;(");(哦的记事本”);}if(”打开“)){FileDialog diaOpen=new FileDialog(f/H\; 0;fileDir=();fileName=(); if(!(")){(fileDir+fileName)); (fileName+H我的记事本”);1}if(”保存”)){FileDialog diaSave=new FileDialog(f/H\; 0;fileDir=();fileName=();if(!(")){ (fileDir+fileNameX)); (fileName+n我的记事本J;1}if(”退出”)){(0);}if(”剪切”)){int x,y;x=();y=(); temp=(); (F,y);if(”拷贝”)){ temp=();}iff 粘贴”)){ (temp,(),());}if(喳找”)){ 0;}if(”关于”)){}}public static void main(String[] args) { new MyNote();。