GUI应用与开发课程设计报告(1)
- 格式:doc
- 大小:340.00 KB
- 文档页数:14
java gui实训课程设计Java GUI实训课程设计引言:随着计算机技术的不断发展,图形用户界面(Graphical User Interface,GUI)已经成为了现代软件开发的重要组成部分之一。
Java作为一种广泛应用于软件开发领域的编程语言,也提供了强大的GUI库,使得开发者能够轻松地创建交互性强、界面美观的应用程序。
因此,Java GUI实训课程设计对于学生们来说具有重要的意义。
一、课程设计背景与目标Java GUI实训课程设计旨在通过实践操作,让学生们掌握Java GUI 开发的基本理论与应用技巧。
通过该课程的学习,学生们将能够独立完成一个基于Java GUI的应用程序的设计与开发,提高他们的软件开发能力和创新思维。
二、课程设计内容1. Java GUI基础知识在课程的开始阶段,学生们将系统地学习Java GUI的基本概念和原理,包括Swing组件、布局管理器、事件监听器等内容。
通过理论学习和实践操作,学生们将掌握Java GUI的基本框架和开发流程。
2. 实践项目选题在学习了Java GUI的基础知识之后,学生们将根据自己的兴趣和实际需求,选择一个适合的实践项目进行设计与开发。
项目的选题可以涉及各个领域,例如学生信息管理系统、音乐播放器、游戏界面等等。
通过实践项目的设计与开发,学生们能够将所学知识应用于实际,提升他们的综合能力。
3. 项目需求分析与设计在开始实际编码之前,学生们需要进行项目需求分析与设计。
他们需要与团队成员合作,明确项目的功能需求和界面设计,并编写相应的需求文档和设计文档。
这一阶段的工作能够帮助学生们更好地理解项目的需求,为后续的编码工作奠定基础。
4. 项目编码与测试在完成项目的需求分析与设计之后,学生们将进入项目的编码与测试阶段。
他们需要根据需求文档和设计文档编写Java代码,并进行相应的单元测试和集成测试。
通过这一阶段的工作,学生们将加深对Java GUI的理解,并掌握常用的调试技巧。
Java课程设计GUI一、教学目标本课程的目标是让学生掌握Java语言的GUI(图形用户界面)编程。
通过本课程的学习,学生将能够理解GUI编程的基本概念,熟悉Java Swing和JavaFX两种常用的GUI库,掌握GUI应用程序的设计和实现方法。
知识目标:使学生掌握GUI编程的基本概念,理解事件驱动编程机制,熟悉Java Swing和JavaFX两种常用的GUI库。
技能目标:使学生能够运用Java语言设计和实现简单的GUI应用程序,具备解决实际问题的能力。
情感态度价值观目标:培养学生对编程的兴趣,增强其自主学习和创新意识,使其认识到计算机技术在现代社会中的重要性。
二、教学内容本课程的教学内容主要包括GUI编程的基本概念、Java Swing和JavaFX两种常用的GUI库。
具体安排如下:1.GUI编程的基本概念:包括事件驱动编程机制、组件、布局管理器等。
2.Java Swing:包括Swing组件、事件处理、高级Swing技巧等。
3.JavaFX:包括FXML、JavaFX组件、场景图、媒体和动画等。
三、教学方法为了提高教学效果,本课程将采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。
1.讲授法:用于讲解GUI编程的基本概念、原理和方法。
2.讨论法:用于引导学生探讨和解决实际问题,培养其解决问题的能力。
3.案例分析法:通过分析典型案例,使学生更好地理解和掌握GUI编程技巧。
4.实验法:让学生动手实践,培养其编程能力和实际操作技能。
四、教学资源为了支持教学内容和教学方法的实施,我们将选择和准备以下教学资源:1.教材:《Java GUI编程实战》2.参考书:《JavaFX编程指南》、《Swing编程指南》3.多媒体资料:教学PPT、视频教程、在线文档等。
4.实验设备:计算机、网络环境、编程软件等。
五、教学评估本课程的评估方式包括平时表现、作业、考试等。
评估方式应客观、公正,能够全面反映学生的学习成果。
广州大学实验报告学院工商管理学院专业、班级电子商务姓名、学号课程名称Java语言程序设计项目名称GUI 程序设计实验时间:2013年06月09日GUI 程序设计实验报告开课实验室:文俊东606 2013年06月09日2. 由于GUI程序已是消息驱动的,程序运行后就处于一个循环中,因此原仿真程序中Calcface中的input()方法以及Calculator中的on()方法就可弃之不用了。
3.改造Toyface,为计算器界面布局,并将Toyface与Runcale 合并使之能与calculator相连。
4. System.out.println需改成向Jlabel对象输出的语句三、实验过程原始记录(数据、图表、计算等)1.运行程序2.进行运算3.计算器其他按钮的功能实现1)C的功能实现按C后计算机只录入9*;2)N的功能实现按N后结果变成-153)A的功能实现按A后清空归零四、实验感悟本次实验相对比较简单,只需要安排好显示界面和将两个合并之后再对一些细节部分进行修改就可以了。
完成实验后我对显示界面的布局更加了解了。
五、附录(自己实现的源代码)/////// CalcFace.java ///////import java.awt.BorderLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.io.*;import javax.swing.BorderFactory;import javax.swing.JLabel;import javax.swing.JPanel;import poundBorder;class CalcFace extends JPanel implements ActionListener{public CalcFace(String k, byte pr){keys = k;prec = pr++;nbuf = new StringBuffer(prec);reset1();errorMode=false;errorStr="";d = new JLabel(in, JLabel.RIGHT);setBorder(BorderFactory.createCompoundBorder(BorderFactory.createLoweredBevelBorder(),BorderFactory.createEmptyBorder(5,10, 5, 10)));setLayout(new BorderLayout()); //设置布管理器reset2();add(d);addMouseListener(new ClickHandler(this)); //注册事件监听器}public void setCalc(Calculator ca){calc = ca;public void showNumber(String s) {d.setText(hl+prompt + s+ht);}public void showOp(char op) {}//如果输入的str为空,则清除errorMode//相当于主控模决发送一个消息给计算器,使其可知道当前计算器对象当前的状态public void errorInput(String str){if(str.equals("")){errorMode=false;errorStr="";}else{errorMode=true;errorStr=str;prompt=prompt+"( "+str+ " )";}}public void showStatus(String e){prompt=e;}private void enter(char c){//当计算器处于溢出状态时,只充许其在下面这段代码中执行。
计算机仿真技术项目驱动设计报告学院:电气工程与自动化学院题目:仿真技术项目驱动专业班级:自动化123班学号:24号学生姓名:钟荣春指导老师:杨国亮日期:2014年6月5日摘要经过一个学期的学习,我们初步掌握了计算机仿真技术,我们就应用MATLAB软件来制作人机交互界面,一方面来学习相关的人机交互界面制作的知识,另一方面在GUI中体现相关的计算机仿真技术,通过这样的实际制作来提高我们的学习能力和总结学习过程中遇到的问题,能力的提高就是通过不断的总结失败的经验和学习相关的设计思想。
目录第一章绪论--------------------------------------------------------------------1 第二章GUI组成部分--------------------------------------------------------2 第三章相应的功能实现----------------------------------------------------33.1 背景设置--------------------------------------------------------43.2 歌曲选择及停止歌曲----------------------------------------53.3 模型选择--------------------------------------------------------63.4 仿真方法--------------------------------------------------------73.5 性能分析的选择----------------------------------------------83.6 背景文字及时间的实现------------------------------------9 第四章设计总结------------------------------------------------------------10第一章绪论初步接触GUI设计,有点茫然,不知如何制作,于是上网找来了一些资料和视频,通过看资料和视频,渐渐的开始初探门径了,但是,同时也发现资料也有很多的不足。
《Java程序设计》大作业报告题目:JA V A综合应用物联网学院电信1102 专业学号0703110220学生姓名曹晓桂指导教师张景莉评定成绩二〇一四年十二一、设计要求1、目的要求学生运用Java集成开发工具(如:JCREATOR、Eclipse等),独立编写一个综合应用程序,使学生能够通过实践,将面向对象程序设计的理论、技术、方法和Java语言相结合,熟练使用Java类库进行一些较为复杂实例的应用系统程序设计,包括GUI设计、输入输出流、异常处理和Web应用程序设计等。
2 、开发环境1.系统环境:Windows 7系统1. jdk版本:jdk1.7.0_602.集成开发环境:JCREATOR3、设计要求:创建一个GUI界面,运用一个包含2个选项卡的选项卡面板,实现以下功能:⑴“自我介绍”选项卡:显示设计者的个人信息,包括学号、姓名、本人的两张不同的照片(至少一张为单人照)和英文自我简介(不得少于50个单词),然后在一个弹出的信息窗口中显示自我简介的字数。
⑵“文件测试”选项卡:对用户输入的一个名称进行判断,名称由文本框输入。
如果是一个文件名,则输出该文件相关属性(文件名、绝对路径和文件的长度等)。
如果是一个目录,则输出该目录下的对象个数。
如该名称不存在,则以此名称为名在当前目录下创建一个文件,内容自定。
二、设计思路1、设计思路根据老师给的设计要求,确定了如下的设计思路:⑴首先在JFrame窗口中创建一个JTabbedPane选项卡面板⑵在选项卡面板里创建2个选项卡,分别为“自我介绍”,“文件测试”。
⑶在面板里分别添加三个子面板,位于每个面板的上中下。
⑷根据设计要求在各子面板上添加组件。
⑸给按钮添加事件响应。
⑹测试功能是否实现,检查有无明显缺陷。
三、实现代码和运行结果1、实现过程和代码import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.io.*;import java.util.StringTokenizer;public class JTabbedPaneDemo extends JFrame{private JLabel name,number,clabel,dlabel,name2;private JTextField nameText,numberText,cText,dText,name2Text;private JTextArea textArea1,textArea2;private JButton showButton,analyseButton,testButton, writeButton,emptyButton;private File file;private String str = new String("Hi boys and girls."+"\n"+"My name is caoxiaogui,I am from Nantong!"+"\n"+"I am a student from jiangnan university and my major is electronic information engineering "+"\n"+" I spend most of my time on study and I like play pingpang. "+"\n"+"I have acquired basic knowledge of my major during my school time. "+"\n"+"That is all.Thank you!");public static void main(String[] args) {new JTabbedPaneDemo().setVisible(true);//设置组建可视}public JTabbedPaneDemo(){ super("曹晓桂0703110220作业");//给窗口标题命名JTabbedPane tabbedPane=new JTabbedPane();//创建panel1JLabel label1=new JLabel("firstPane",SwingConstants.CENTER);JPanel firstPane = new JPanel();firstPane.setLayout(new BorderLayout());tabbedPane.addTab("自我介绍",null,firstPane,"First Panel");//分别添加3个子面板JPanel[] panel = new JPanel[3];panel[0] = new JPanel();panel[1] = new JPanel();panel[2] = new JPanel();firstPane.add(panel[0], BorderLayout.NORTH);firstPane.add(panel[1], BorderLayout.CENTER);firstPane.add(panel[2], BorderLayout.SOUTH);//创建姓名,学号标签及文本框并添加name=new JLabel("学号:");nameText=new JTextField(10);nameText.setEditable(false);number=new JLabel("姓名");numberText=new JTextField(10);numberText.setEditable(false);panel[0].add(number);panel[0].add(numberText);panel[0].add(name);panel[0].add(nameText);//创建图像标签,对象,设置标签相对于图像的位置并添加Icon bug1 = new ImageIcon("生活照.jpg");clabel = new JLabel("照片1:",bug1,SwingConstants.LEFT); clabel.setHorizontalTextPosition(SwingConstants.CENTER); clabel.setVerticalTextPosition(SwingConstants.BOTTOM); Icon bug2 = new ImageIcon("生活照.jpg");dlabel = new JLabel("照片2:",bug2,SwingConstants.RIGHT); dlabel.setHorizontalTextPosition(SwingConstants.CENTER); dlabel.setVerticalTextPosition(SwingConstants.BOTTOM); textArea1=new JTextArea(6,45);panel[1].add(clabel);panel[1].add(textArea1);panel[1].add(dlabel);//创建按钮并给按钮添加事件响应showButton=new JButton("show");showButton.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e) {showMessage();}});analyseButton=new JButton("analyse");analyseButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {showWordNumber();}});panel[2].add(showButton);panel[2].add(analyseButton);//创建panel2JLabel label2=new JLabel("secondPane",SwingConstants.CENTER); JPanel secondPane=new JPanel();secondPane.setLayout(new BorderLayout());tabbedPane.addTab("文件测试",null,secondPane,"Second Panel"); //分别添加3个子面板JPanel[] panel2 = new JPanel[3];panel2[0] = new JPanel();panel2[1] = new JPanel();panel2[2] = new JPanel();secondPane.add(panel2[0], BorderLayout.NORTH); secondPane.add(panel2[1], BorderLayout.CENTER); secondPane.add(panel2[2], BorderLayout.SOUTH);//创建标签及文本框并添加name2=new JLabel("请输入名称:");name2Text = new JTextField();name2Text.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){if(!name2Text.getText().equals(""))testButton.setEnabled(true);}});name2Text.setColumns(20);panel2[0].add(name2);panel2[0].add(name2Text);textArea2=new JTextArea(6,45);panel2[1].add(textArea2);testButton = new JButton("test");writeButton = new JButton("write");writeButton.setEnabled(false);emptyButton = new JButton("empty");panel2[2].add(testButton);panel2[2].add(writeButton);panel2[2].add(emptyButton);testButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {testAction();}});writeButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {writeAction();}});emptyButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) {emptyAction();}});getContentPane().add(tabbedPane);setSize(800,300);//设置窗口大小setVisible(true);}//显示信息与照片public void showMessage() {numberText.setText("0703110220");nameText.setText("曹晓桂");textArea1.setText(str);}//分析自我介绍的英文字数public void showWordNumber() {int wordNum = 0;String str = textArea1.getText();StringTokenizer st = new StringTokenizer(str);while (st.hasMoreElements()) {st.nextElement();wordNum++;}JOptionPane.showMessageDialog(null, "曹晓桂,您的简历字数为:" + wordNum, "简历字数统计",JOptionPane.PLAIN_MESSAGE);}//文件测试的实现public void testAction() {String str = name2Text.getText();if (!str.equals("")) {file = new File(str);if (file.isFile()) {String path = file.getAbsolutePath();String length = file.length() + "B";textArea2.setText("这是一个文件,其相关属性为:File Name: "+ file.getName() + "\n" + "Path: " + path + "\n"+ "Length: " + length);} else if (file.isDirectory()) {String[] fileName = file.list();textArea2.setText("这是一个目录,它下面有" + fileName.length+ "个对象。
gui实验报告《GUI实验报告》摘要:本实验利用图形用户界面(GUI)技术进行了一系列实验,包括界面设计、用户交互、数据展示等方面的内容。
通过实验,我们深入了解了GUI技术的原理和应用,掌握了相关的开发工具和技能。
本报告将详细介绍实验的过程和结果,并对GUI技术的发展和应用进行了简要的展望。
1. 引言GUI技术是计算机界面设计中的重要组成部分,它通过图形化的方式为用户提供了更加直观、友好的操作界面。
随着计算机技术的发展,GUI技术已经成为了各种软件和应用程序的标配,因此对GUI技术的研究和应用具有重要意义。
2. 实验目的本实验旨在通过对GUI技术的学习和实践,深入理解其原理和应用,掌握相关的开发工具和技能,为今后的软件开发和界面设计打下基础。
3. 实验内容本次实验主要包括以下内容:- GUI界面设计:通过使用开发工具,设计一个简单的图形用户界面,包括按钮、输入框、标签等组件。
- 用户交互:实现用户与界面的交互,包括按钮点击、输入框输入等操作。
- 数据展示:将用户输入的数据通过界面展示出来,实现数据的可视化。
4. 实验过程在实验过程中,我们首先学习了GUI界面设计的基本原理和技巧,然后使用开发工具进行了界面的设计和布局。
接着,我们实现了用户与界面的交互,包括按钮点击事件的处理、输入框数据的获取等。
最后,我们将用户输入的数据通过界面展示出来,实现了数据的可视化。
5. 实验结果通过实验,我们成功设计并实现了一个简单的GUI界面,包括按钮、输入框、标签等组件。
用户可以通过界面进行按钮点击、输入框输入等操作,并将输入的数据通过界面展示出来。
实验结果表明,我们已经掌握了GUI技术的基本原理和应用技能。
6. 结论通过本次实验,我们深入了解了GUI技术的原理和应用,掌握了相关的开发工具和技能。
GUI技术的发展和应用前景广阔,我们将继续深入学习和实践,为今后的软件开发和界面设计做好准备。
7. 展望随着计算机技术的不断发展,GUI技术将会越来越重要,它将成为各种软件和应用程序的标配。
gui实验报告GUI实验报告一、引言Graphical User Interface(图形用户界面,简称GUI)是一种用户与计算机交互的方式,通过图形化的界面和用户友好的操作,使用户能够直观地使用计算机。
本实验旨在探究GUI的设计原理和应用,通过实际操作和观察,深入理解GUI的功能和优势。
二、实验目的1. 了解GUI的基本概念和原理;2. 学习使用GUI设计工具和编程语言;3. 掌握GUI的常见组件和布局方式;4. 实践GUI设计和开发过程。
三、实验过程在实验中,我们选择了Java语言和Swing库作为GUI设计和开发的工具。
首先,我们使用Eclipse IDE创建了一个Java项目,并添加了Swing库的依赖。
接下来,我们创建了一个主窗口,并在窗口中添加了各种GUI组件,如按钮、文本框、标签等。
通过设置组件的属性和监听器,我们实现了用户与程序的交互。
四、实验结果我们成功地创建了一个简单的GUI应用程序,该程序包含了一个登录界面。
用户可以在文本框中输入用户名和密码,并点击登录按钮进行验证。
程序会根据用户输入的内容进行判断,并给出相应的提示信息。
通过实验,我们发现GUI的设计可以大大提高用户的交互体验,使操作更加直观和便捷。
五、实验总结通过本次实验,我们深入了解了GUI的设计原理和应用。
GUI作为一种用户友好的交互方式,已经广泛应用于各个领域,如操作系统、应用软件等。
GUI的设计需要考虑用户的习惯和需求,合理布局和组织界面元素,使用户能够轻松地完成操作。
同时,GUI的开发过程需要掌握相应的工具和编程语言,如Swing、Java等。
通过不断练习和实践,我们可以提高GUI设计和开发的能力。
六、实验心得本次实验让我对GUI有了更深入的了解。
在设计GUI界面时,我学会了如何选择合适的布局方式,如流式布局、网格布局等。
同时,我也学会了如何使用监听器来实现用户与程序的交互。
通过实际操作,我发现GUI的设计需要注重用户体验,尽量简化操作步骤,提供直观的界面和友好的提示。
实验 GUI程序设计(1)【实验目的】1.了解图形用户界面基本组件窗口、按钮、文本框、选择框、滚动条等的使用方法,2.了解如何使用布局管理器对组件进行管理,以及如何使用Java 的事件处理机制。
【实验要求】1. 掌握在容器中添加组件的方法,掌握使用布局管理器对组件进行管理的方法。
2. 理解Java 的事件处理机制,掌握为不同组件编写事件处理程序的方法。
3. 掌握编写独立运行的窗口界面的方法。
4. 了解Java Swing 组件的使用方法。
5. 了解对话框的使用方法。
【实验内容】一.创建图形用户界面图形用户界面(Graphic User Interface ,简称GUI)是为方便用户使用设计的窗口界面,在图形用户界面中用户可以看到什么就操作什么,取代了在字符方式下知道是什么后才能操作什么的方式。
组件(Component)是构成GUI 的基本要素,通过对不同事件的响应来完成和用户的交互或组件之间的交互。
组件一般作为一个对象放置在容器(Container)内,容器是能容纳和排列组件的对象,如Applet、Panel(面板)、Frame(窗口)等。
通过容器的add 方法把组件加入到容器中。
1.在Frame中添加标签、按钮并使用网格布局(1)程序功能:在Frame容器中添加组件标签、按钮,并使用网格布局管理器排列组件在容器中的位置。
(2)编写程序文件,源代码如下。
import java.awt.*;import javax.swing.*;publicclass A extends JFrame{JLabel l1;JButton b1;A(){init();}publicvoid init(){this.setLayout(new GridLayout(3,2));this.setTitle("First GUI test");this.setSize(300,200);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);l1=new JLabel("标签1");this.add(l1);b1=new JButton("按钮1");this.add(b1);this.add(new JButton("按钮2"));this.add(new JLabel("标签2"));this.add(new JButton("按钮3"));this.add(new JButton("按钮4"));this.setVisible(true);}publicstaticvoid main(String[] arg){new A();}}(3)编译程序并运行。
GUI应用开发JAVA实验报告一、实验目的本实验旨在提高学生对于GUI应用开发的理论和实践能力。
通过本实验,学生将掌握使用JAVA语言开发GUI应用程序的方法和技巧,并能够应用所学的知识,完成一个简单的GUI应用程序的开发。
二、实验内容本实验要求学生使用JAVA语言开发一个简单的GUI应用程序,要求程序能够实现以下功能:1.提供一个用户界面,包含输入框和按钮。
用户可以在输入框中输入一段文字,然后点击按钮后,程序将会把输入框中的文字显示在屏幕上。
2.提供一个菜单栏,包含一个文件菜单和一个帮助菜单。
文件菜单中包含一个打开选项和一个退出选项。
帮助菜单中包含一个关于选项。
用户可以通过菜单栏选择文件菜单中的选项,实现打开文件和退出程序的功能。
用户还可以选择帮助菜单中的关于选项,显示程序的相关信息。
三、实验步骤1.创建一个新的JAVA项目,命名为“GUI应用开发”。
2.在项目中创建一个新的JAVA类,命名为“GUI应用”。
3. 在“GUI应用”类中使用Swing包中的组件创建用户界面,并添加输入框和按钮。
4. 在按钮的ActionListener中实现按钮的点击事件,获取输入框中的文字并显示在屏幕上。
5.在“GUI应用”类中创建一个菜单栏,并添加文件菜单和帮助菜单。
6.在文件菜单中添加打开选项和退出选项,并实现打开文件和退出程序的功能。
7.在帮助菜单中添加关于选项,并实现显示程序的相关信息的功能。
四、实验结果经过实验,我成功地开发了一个能够实现要求功能的GUI应用程序。
用户可以在输入框中输入文字,然后点击按钮,程序会将输入框中的文字显示在屏幕上。
同时,用户还可以通过菜单栏选择文件菜单中的选项,实现打开文件和退出程序的功能。
用户还可以选择帮助菜单中的关于选项,显示程序的相关信息。
五、实验总结通过本次实验,我深入了解了GUI应用开发的基本原理和常用的技巧。
我学会了使用JAVA语言开发GUI应用程序的方法,并能够应用所学的知识,完成一个简单的GUI应用程序的开发。
GUI课程设计一、教学目标本课程的教学目标是使学生掌握GUI(图形用户界面)设计的基本概念、原理和方法,培养学生具备GUI设计的基本技能,提高学生对于GUI设计的兴趣和热情。
1.了解GUI设计的基本概念和原则;2.掌握GUI设计的基本方法和技巧;3.熟悉常见的GUI设计工具和软件。
4.能够独立完成简单的GUI设计任务;5.能够运用GUI设计原则和方法进行界面设计;6.能够合理选择和运用GUI设计工具和软件。
情感态度价值观目标:1.培养学生对于GUI设计的兴趣和热情;2.培养学生良好的设计习惯和审美观念;3.培养学生团队协作和创新精神。
二、教学内容本课程的教学内容主要包括GUI设计的基本概念、原理和方法,以及常见的GUI设计工具和软件的使用。
1.GUI设计的基本概念和原则:包括界面设计的基本元素、布局、色彩、字体等方面的知识。
2.GUI设计的基本方法和技巧:包括界面设计的流程、原则、技巧等方面的知识。
3.常见的GUI设计工具和软件:包括Photoshop、Illustrator、Sketch等设计工具的使用方法。
三、教学方法本课程的教学方法主要包括讲授法、案例分析法、实验法等。
1.讲授法:通过教师的讲解,使学生了解和掌握GUI设计的基本概念、原理和方法。
2.案例分析法:通过分析典型的GUI设计案例,使学生了解和掌握GUI设计的原则和技巧。
3.实验法:通过实际操作GUI设计工具和软件,使学生掌握GUI设计的实际操作技能。
四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备等。
1.教材:选用权威、实用的GUI设计教材,为学生提供系统的理论知识和实践指导。
2.参考书:推荐学生阅读一些优秀的GUI设计相关书籍,丰富学生的知识体系。
3.多媒体资料:为学生提供一些GUI设计的相关视频、图片等多媒体资料,帮助学生更好地理解和掌握知识。
4.实验设备:为学生提供必要的GUI设计工具和软件,保证学生能够进行实际操作。
课程设计报告课程名称:GUI应用与开发设计题目:记事本程序的设计实现院系:计算机科学与工程学院专业:软件工程班级:学号:姓名:指导教师:设计地点:开课时间:2012 至2013 学年第2 学期常熟理工学院计算机科学与工程学院制学生姓名成绩目录1.设计目的和任务 (1)2.开发环境 (2)2.1硬件环境 (2)2.2软件环境 (2)3.设计题目 (3)3.1题目名称 (3)3.2题目详细描述 (3)3.3功能要求 (3)4.相关技术及知识点 (4)4.1对话框 (4)4.2控件 (4)5.设计与实现 (5)5.1新建按钮 (5)5.2查找 ............................................ 错误!未定义书签。
5.2替换……………………………………………………………………………….错误!未定义书签。
5.2转到……………………………………………………………………………….错误!未定义书签。
6.总结 (7)7.参考资料 (11)《GUI应用开发》课程设计报告1.设计目的和任务一、内容要求实验内容1、编写一个模仿windows中记事本应用程序的程序(大作业交实验报告)要求:(1)、notepad功能依据windows2000中的记事本的菜单功能为基准。
(2)、除了记事本文件菜单中有关于打印的功能不需要实现以外,其它都需要实现。
二、评分准则大作业电子代码考核采用问问题形式, 占期末大作业考核的60%(1)基本功能即文件下属功能和编辑菜单下属复制,剪切以及粘贴都能实现,并且回答问题正确的,根据回答问题实际情况评分在60-70(2)在上述功能实现的前提下,编辑菜单下属查找、替换功能实现,且能回答问题基本正确,根据回答问题的情况,评分范围为70-85(3) 在(1)和(2)均实现的前提下,能实现状态栏和转到功能的,且回答问题基本正确,根据实际回答问题的情况,评分范围为85-100.除了电子代码考核,还有文档报告,占期末大作业考核的40%。
(1)描述清楚,有流程图等设计。
(2)基本功能描述清楚。
2.开发环境2.1硬件环境一台PC机2.2软件环境操作系统: Microsoft Windows XP编程软件:Microsoft Visual Studio 2005/Microsoft Visual Studio 2008/ Microsoft Visual Studio 20103.设计题目3.1题目名称基于c# GUI的记事本程序3.2题目详细描述通过c#语言将我们的记事本程序编写出来3.3功能要求能够实现文件下属功能实现编辑菜单下属复制,剪切以及粘贴,在前面完成的基础上实现编辑菜单下属查找、替换功能实现,最后实现状态栏和转到功能的4.相关技术及知识点4.1一些对话框的使用像FontDialog ,SaveFileDialog,OpenFileDialog,等等。
FontDialog是用于在格式栏中选择字体按钮是所弹出的对话框,它可以修改字体的颜色、字体、字形、大小等SaveFileDialog是用于保存文件是所弹出的对话框OpenFileDialog是用于打开文件是所弹出的对话框4.2一些控件的使用记事本中用到像menuStrip,richTextBox,statusStrip控件menuStrip是一个编辑菜单栏的控件,我们可以在上面编辑你想要的菜单。
richTextBox是一个文本控件,用来输入文本statusStrip是状态栏控件,是用来显示文本中的状态信息的5.设计与实现5.1新建按钮描述:在文件下的新建按钮是当richTextBox.Tex里的内容为空时,就清除richTextBox里的内容,不为空是通过DialogResult 获得messagebox的枚举值yesnocancel,如果为yes那么弹出另存为对话框人,如果为No则清楚richTextBox里的内容如果cancel则什么都不做流程图代码实现private void新建ToolStripMenuItem_Click(object sender, EventArgs e){if (richTextBox1.Text != ""){DialogResult yNc = MessageBox.Show("文件"+ " "+ Text + " "+ "的文字已经改变。
"+ "\n" + "想保存文件吗?", "记事本", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation);if (yNc.ToString() == "Yes"){SaveAs();}if (yNc.ToString() == "No"){this.richTextBox1.Clear();this.Text = "新建文本文档" + "-记事本";}if (yNc.ToString() == "Cancel"){return;}}else{this.richTextBox1.Clear();this.Text = "新建文本文档" + "-记事本";}5.2查找按钮描述:查找窗体中主要是可以判断查找的不同种情况,分别是区分大写的向下查找,区分大写的向上查找,不区分大写的向上查找,和不区分大写的向下查找流程图:关键代码:if ((findPlace = stIndexOf(textBox1.Text, findPlace)) == -1){MessageBox.Show("找不到" + textBox1.Text, "记事本", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);findPlace = 0;}else{mainform.richTextBox1.Select(findPlace, textBox1.Text.Length);findPlace = findPlace - textBox1.Text.Length;mainform.richTextBox1.Focus();}5.3替换按钮描述:替换按钮是在查找的基础上将查找出来的内容替换掉流程图string str2 = mainform.richTextBox1.SelectedText;if (str2 != ""){string str3 = mainform.richTextBox1.SelectedText.Replace(str2, str1);mainform.richTextBox1.SelectedText = str3;mainform.Activate();}mainform.richTextBox1.Focus();5.4转到功能描述:转到我想实现的是当我按转到按钮会弹出转行对话框,然后根据你输入的行数来进行转到流程图:关键代码:if (int.Parse(this.textBox1.Text) <= line && int.Parse(this.textBox1.Text) > 0){Form1 mainform = (Form1)this.Owner;{int ln = 0;for (int count = 0; count < int.Parse(this.textBox1.Text) - 1; count++) {foreach (char ch in mainform.richTextBox1.Lines[count]) {ln++;}ln += 1;}mainform.richTextBox1.SelectionStart = ln;mainform.richTextBox1.ScrollToCaret();this.Close();}}else{MessageBox.Show("行数超过范围", "记事本-跳行");this.textBox1.Text = line.ToString();this.textBox1.SelectAll();this.textBox1.Focus();}6.总结通过本次实验让我对c# GUI编程有了更深一层的了解,基本学会了windows窗体编程,在这次实验中我收获了很多,让我知道在遇到不会的时候一定要自己动手查资料,锻炼自己的实践能力,当然此次实验是建立在老师事先给我们讲解的基础上的,这样让我们更容易上手,因为我们的编程基础真的不是很好,但是不管怎样我还是完整的完成了整个实验,当然我要非常感谢我的老师——钟老师。
通过本次记事本大作业的实验也让我更进一步了解了面向对象的思想,封装、继承、多态性、以及消息的传递等等,让我又一次巩固了面向对象的思想。
在本次实验中,我也帮助了很多同学,帮他们修复程序的一些小bug,在帮助别人的同时也锻炼了自己看懂代码和修改bug的能力,同时也增进了我和他们之间的感情。
7.参考资料[1] 百度关于c#记事本[2] 作者:罗福强、杨剑、张敏辉书名:《c#程序设计经典教程》出版社:清华大学出版社。