JAVA实验报告1-窗体界面程序设计

JAVA实验报告1-窗体界面程序设计
JAVA实验报告1-窗体界面程序设计

JAVA实验(1)

课程名称: Java 面向对象程序设计学院:管理学院专业班级:信息管理与信息系统(6)班学号: 3108006406

姓名:张钟权任课教师:聂小东

2010年05月01日

管理学院信息管理与信息系统专业08信管6班______组

学号3108006406姓名张钟权协作者教师评定_____________ 实验题目窗体界面程序设计

一、实验目的与要求

(1)实验目的:训练对Java开发工具的安装和环境配置,并能在指定的窗口界面完成程序的编写和调试工作。

(2)实验要求:按照Java程序设计教程的要求完成第一章中第1、2、3 节程序的编写和调试。

二、实验方案

(1)界面布局:

I、主界面程序类TextFindReplace,实现了MouseListener和

WindowsListener接口:

①Creat()方法:创建主界面,安排查找与替换信息的对话框;

②mouseClicked()方法:处理鼠标单击事件。

II、查找和替换字符串算法类matchFun:

①strFind()方法:实现字符串查找功能,返回匹配的次数;

②strReplace()方法:实现字符串替换功能,返回替换的次数。

III、查找字符串的核心算法,用到了String类的两个方法:

①getCaretPosition()方法:得到当前光标位置,即开始比较的位置;

②CharAt(int index)方法:得到当前字符串index位置上的一个字符。

IV、替换字符串的核心算法,重复前面的查找过程,找到要替换字符

的位置,然后将要替换的主字符串转换为StringBuffer类型,再

利用StringBuffer类的replace(int i,int j,String str)方法,从主串

的第i位开始替换,共替换掉j个字符,用字符str替换。

(2)程序启动界面:

I、定义了一个JSplashWindow类,其父类为JWindow,实现了接

Runnable接口:

①JSplashWindow()方法

②start()方法

③run()方法

④showFrame()方法

(3)树形分层结构:

A、最简单的树形结构:

I、定义了一个TreeDemoFrame类,其父类为JFrame:

①TreeDemoFrame()方法:该方法中调用了默认的树形结构。

B、处理节点事件:

I、Apptree类,其父类为JFrame,实现了接口TreeSelectionListener:

①Apptree()函数:构造函数,实现界面初始化;

②valueChanged()方法:节点事件。

II、TreeDemo类:

①pack()方法:调整窗口大小以适合子组件的首选大小和布局。

C、文件目录树:

I、FolderExplorer类,其父类为JFrame:

①FolderExplorer()方法:构造方法,实现对界面的初始化;

②main()方法:程序运行的入口;

③jbInit()方法:完成对界面进行初始化的任务;

④initTree()方法:初始化树状结构;

⑤getTreeNode()方法:获取最新被选择的节点,并返回;

⑥getFileNode()方法:返回节点,其类型为FileNode。

II、MyExpansionListener类,实现了接口TreeExpansionListener:

①treeExpanded()方法

②treeCollapsed()方法

III、MySelectionListener类,实现了接口TreeSelectionListener:

①valueChanged()方法

IV、FileNode类,获取系统中的文件目录节点:

①FileNode()方法:构造方法;

②getFile()方法

③toString()方法:若为文件则返回文件名,否则返回节点路径;

④expand()方法:判断各节点是否有子节点;

⑤hasSubDirs()方法

⑥compareTo()方法:判断文件目录是否相同,返回一int型的数;

⑦listFiles()方法:得到子文件列表。

D、结合树和输入输出流实现日历记事本:

I、Remember类,其父类为JFrame,实现了TreeSelectionListener

和ActionListener两个接口:

①Remember()方法:构造方法,完成界面及树节点初始化;

②valueChanged()方法:处理树节点事件;

③actionPerformed()方法

④del()方法:删除文件。

II、AppTree类:

①pack()方法:调整窗口大小以适合子组件的首选大小和布局。

三、实验结果和数据处理

1、界面布局:

①strFind()方法:实现字符串查找,返回匹配次数:

public int strFind(String s1,String s2,int pos)

{ /*变量i和j分别表示主串和模式串中当前字符串位置,k表示匹配次数*/

int i,j,k=0;

//pos代表主串中开始比较的位置

i = pos;

j = 0;

while(i

{

if(s1.charAt(i) == s2.charAt(j))

{

++i;

++j;

if(j==s2.length())

{ //j=s2.length()表示字符串匹配成功,匹配次数加1

k = k+1;

//将指示主串和模式串中当前字符的变量i和j进行回退

i = i-j+1;

j = 0;

}

}

else {i = i-j+1; j = 0;}

}

return k;

}

②strReplace()方法:实现字符串替换,返回替换次数:

public int strReplace(String s1,String s2,String s3,int pos)

{ /*变量i和j分别表示主串和模式串中当前字符串位置,k表示匹配次数*/

int i,j,k=0;

i = pos;

j = 0;

//将s1转化成StringBuffer型进行操作

repStr = new StringBuffer(s1);

while(i

{

if(repStr.charAt(i) == s2.charAt(j))

{

++i;

++j;

if(j==s2.length())

{ /*j=s2.length()表示字符串匹配成功,匹配次数加1,此外对主串进行字符串替换*/

k = k+1;

repStr.replace(i-j,i,s3);

//将j进行重新赋值开始新的比较

j = 0;

}

}

else

{i = i-j+1; j = 0;}

}

return k;

}

}

2、程序启动界面:

showFrame()方法:

static void showFrame(String title){

JFrame frame = new JFrame(title);

frame.setSize(400,300);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

/* 测试屏幕分辨率 */

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize();

if (frameSize.height > screenSize.height) {

frameSize.height = screenSize.height;

}

if (frameSize.width > screenSize.width) {

frameSize.width = screenSize.width;

}

/* 使窗口自动居中 */

frame.setLocation((screenSize.width - frameSize.width) / 2,

(screenSize.height - frameSize.height) / 2);

Label lb=new Label("进入应用系统");

frame.getContentPane().add(lb,BorderLayout.CENTER);

lb.setFont(new Font("default",1,36));

frame.setVisible(true);

}

3、树形分层结构:

A、最简单的树形结构:

TreeDemoFrame()方法:

public TreeDemoFrame()

{

getContentPane().add(jPanel);

//调用默认的树型结构

jPanel.getViewport().add(jtree, null);

setSize(400,300);

setTitle("演示怎样使用JTree");

//显示

show();

//点击”关闭窗口“按钮时,则退出系统

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

B、处理节点事件:

valueChanged()方法:

public void valueChanged(TreeSelectionEvent e)

{

if(e.getSource()==tree)

{//定义被选中的节点

DefaultMutableTreeNode node=

(DefaultMutableTreeNode)tree.getLastSelectedPathComponent(); if(node.isLeaf()){

//获取节点所定义的文本信息

String str=node.toString();

if(str.equals("人员基本信息"))

{ text.setText(str+":\n这里显示'人员基本信息'"); } else if(str.equals("业绩考核"))

{ text.setText(str+":\n这里显示'业绩考核'"); }

else if(str.equals("考勤管理"))

{ text.setText(str+":\n这里显示'考勤管理'"); }

else if(str.equals("计件工资"))

{ text.setText(str+":\n这里显示'计件工资'"); }

}

else {

text.setText(node.getUserObject().toString());

}

}

}

C、文件目录树:

public class FolderExplorer extends JFrame {

JScrollPane jScrollPane1 = new JScrollPane();

JTree tree;

DefaultTreeModel treeModel;

JLabel lbStatus = new JLabel();

public FolderExplorer() {

try {

//调用jbInit()界面初始化方法

jbInit();

} catch(Exception e) { e.printStackTrace(); }

}

public static void main(String[] args) {

FolderExplorer FolderExplorer1 = new FolderExplorer();

}

//jbInit() 方法是对界面进行初始化

private void jbInit() throws Exception {

initTree();

this.setTitle("Java Folder Explorer");

this.setSize(new Dimension(400, 300));

this.getContentPane().add(jScrollPane1, BorderLayout.CENTER); this.getContentPane().add(lbStatus, BorderLayout.SOUTH);

jScrollPane1.getViewport().add(tree, null);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

//初始化树状结构。

void initTree(){

DefaultMutableTreeNode top = new DefaultMutableTreeNode("My Computer"); DefaultMutableTreeNode node;

File[] roots = File.listRoots();

// 使用循环结构将读取的磁盘盘符当作树的一级结点

for (int i=0;i

node = new DefaultMutableTreeNode(new FileNode(roots[i]));

top.add(node); //top为根节点

//暂时在各个一级结点下增加子结点"Retrieving data"

node.add(new DefaultMutableTreeNode(new String("Retrieving data "))); }

treeModel = new DefaultTreeModel(top);

tree = new JTree(treeModel);

//使JTREE具有类似Windows文件管理器的直角连接线

tree.putClientProperty("JTree.lineStyle", "Angled");

//添加JTREE的展开事件的侦听

tree.addTreeExpansionListener(new MyExpansionListener());

//添加JTREE的选择事件的侦听

tree.addTreeSelectionListener(new MySelectionListener());

//使树形结构一次只能选择一个节点

tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_S ELECTION);

tree.setShowsRootHandles(true);

tree.setEditable(false);

}

//该方法为获取最新被选择的结点,并返回。

DefaultMutableTreeNode getTreeNode(TreePath path){

return (DefaultMutableTreeNode)(path.getLastPathComponent());

}

//返回结点,该结点类型为FileNode。

FileNode getFileNode(DefaultMutableTreeNode node){

if (node == null){

return null;

}

//获取与node节点相关的信息;

Object obj = node.getUserObject();

//用 instanceof关键字判断obj对象是否是filenode的实例

if (obj instanceof FileNode){

return (FileNode)obj;

}else{

return null;

}

}

//JTREE的展开事件的处理

class MyExpansionListener implements TreeExpansionListener{

public void treeExpanded(TreeExpansionEvent e){

final DefaultMutableTreeNode node = getTreeNode(e.getPath());

//获取最新被选择的结点,并将其赋值给node;

final FileNode fileNode = getFileNode(node);

//应用线程,将结点转化为FileNode类型

Thread runner = new Thread(){

public void run(){

if (fileNode != null&&fileNode.expand(node))

{

Runnable runnable = new Runnable()

{

public void run()

{

treeModel.reload(node);

}

};

// 将 Runnable 对象传送给它,并且在事件线程中执行指定的 Runnable SwingUtilities.invokeLater(runnable);

}

} //run() end

}; //Thread() end

//启动线程

runner.start();

}

public void treeCollapsed(TreeExpansionEvent e){

}

} //MyExpansionListener类 end

//处理JTREE的选择侦听事件

class MySelectionListener implements TreeSelectionListener{

public void valueChanged(TreeSelectionEvent e){

DefaultMutableTreeNode node = getTreeNode(e.getPath());

FileNode fileNode = getFileNode(node);

if (fileNode!=null){ //在底下的标签里显示该结点的路径

lbStatus.setText(fileNode.getFile().getAbsolutePath());

}else{

lbStatus.setText("");

}

}

} //MySelectionListener类end

//FileNode类用于获取系统中的文件目录节点

class FileNode{

File file;

//构造方法

public FileNode(File file){

this.file = file;

}

public File getFile(){

return file;

}

//若为文件则返回文件名,不是则返回节点路径;

public String toString(){

return file.getName().length()>0?file.getName():file.getPath();

}

//判断各节点是否有子节点;

public boolean expand(DefaultMutableTreeNode parent){

DefaultMutableTreeNode child = (DefaultMutableTreeNode)parent.getFirstChild();

if (child == null){

return false;

}

//whether child is the String flag ?

Object obj = child.getUserObject();

if (!(obj instanceof String)){

return false;

}

//删除标记的子节点

parent.removeAllChildren();

//listFiles()方法得到表示子文件列表并将其赋值给File数组

File[] files = listFiles();

if (files == null){

return true;

}

//定义向量Vector存放文件节点;

Vector v = new Vector();

//用外循环将文件目录加入向量

for (int i=0;i

File f =files[i];

// isDirectory()方法判断这个获取的实例是否是文件夹

if (!(f.isDirectory())){//如果不是则继续查找;

continue;

}

FileNode newNode = new FileNode(f);

boolean isAdded = false;

//用内循环列出文件节点;

for (int j=0;j

FileNode node = (FileNode)v.elementAt(j);

if (https://www.360docs.net/doc/802339140.html,pareTo(node)<0){ //判断newNode在不在node中

// 把组件加到所定索引j处,此后的内容向后移动1个单位

v.insertElementAt(newNode,j);

isAdded = true;

break;

}

} //内循环列文件节点结束

if (!isAdded){// 把新节点加到向量尾部,同时大小加1

v.addElement(newNode);

}

} //外循环结束

//用循环处理子节点

for (int i=0;i

FileNode fileNode = (FileNode)v.elementAt(i);

DefaultMutableTreeNode node = new DefaultMutableTreeNode(fileNode); parent.add(node);

//若还有子目录则将子目录作为子节点加到node

if (fileNode.hasSubDirs()){

node.add(new DefaultMutableTreeNode(new String("Retriveving data")));

}

}//用循环处理子节点结束

return true;

} //判断是否有子节点expand()方法结束

public boolean hasSubDirs(){

//listFiles()方法得到子文件列表并将其赋值给File数组

File[] files = listFiles();

if (files == null){

return false;

}

for (int i=0;i

if (files[i].isDirectory()){

return true;

}

}

return false;

}

//判断文件目录是否相同,并返回一个int类型的数

public int compareTo(FileNode toCompare){

return file.getName().compareToIgnoreCase(toCompare.file.getName()); }

//得到子文件列表

File[] listFiles(){//判断是否为文件夹

if (!file.isDirectory()){

return null;

}

try {//返回子文件列表

return file.listFiles();

} catch (Exception ex) {

ex.printStackTrace();

return null;

}

} //listFiles()方法 end

} //FileNode类 end

}

D、结合树和输入输出流实现日历记事本:

①构造方法Remember():

Remember()

{

Container con=getContentPane();

DefaultMutableTreeNode root=new DefaultMutableTreeNode("心情日记本"); //设置以月份为节点的树

for(i=1;i<=12;i++)

{

month[i]=new DefaultMutableTreeNode(""+i+"月");

root.add(month[i]);

}

for(i=1;i<=12;i++)

{//处理有31天的月份

if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)

{

for(int j=1;j<=31;j++)

month[i].add(new DefaultMutableTreeNode(j+"日"));

}

//处理有30天的月份

else if(i==4||i==6||i==9||i==11)

{

for(int j=1;j<=30;j++)

month[i].add(new DefaultMutableTreeNode(j+"日"));

}

//处理有28天的月份

else

{

for(int j=1;j<=28;j++)

month[i].add(new DefaultMutableTreeNode(j+"日"));

}

}

//设置监听

b_save.addActionListener(this);

b_del.addActionListener(this);

tree =new JTree(root);

JPanel p=new JPanel();

//设置边界布局

p.setLayout(new BorderLayout());

JScrollPane scrollpane_1=new JScrollPane(text);

//带滚动条的面板放置到中间,可以占据最大空间位置

p.add(scrollpane_1,BorderLayout.CENTER);

//设置面板,放置"保存"和"删除"按钮,面板安放在上部

JPanel p_1=new JPanel();

p_1.add(b_save);

p_1.add(b_del);

p.add(p_1,BorderLayout.NORTH);

JScrollPane scrollpane_2=new JScrollPane(tree);

JSplitPane splitpane=new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, true,scrollpane_2,p);

tree.addTreeSelectionListener(this);

con.add(splitpane);

//设置窗体适配器,关闭功能

addWindowListener(new WindowAdapter()

{ public void windowClosing(WindowEvent e)

{System.exit(0);} });

setVisible(true);

setBounds(70,80,200,300);

}

②valueChanged()方法:

public void valueChanged(TreeSelectionEvent e)

{//清空文本区中的内容

text.setText(" ");

if(e.getSource()==tree)

{//定义被选中的节点

DefaultMutableTreeNode node=

(DefaultMutableTreeNode)tree.getLastSelectedPathComponent(); //如果是叶节点,则可以对文件进行操作

if(node.isLeaf())

{

String str=node.toString();

for(int i=0;i<=12;i++)

{

if(node.getParent()==month[i])

{

try {

String temp=null;

//将读到的文件内容添加到文本区中

while((temp=in.readLine())!=null)

text.append(temp+'\n');

file.close();

in.close();

}

catch(FileNotFoundException e1){ }

catch(IOException e1){ }

}

}

}

}

}

③actionPerformed():

public void actionPerformed(ActionEvent e)

{//处理"保存"按钮的事件

if(e.getSource()==b_save)

{

DefaultMutableTreeNode node=

(DefaultMutableTreeNode)tree.getLastSelectedPathComponent();

String str=node.toString();

//如果是叶节点,则可以对文件进行操作

if(node.isLeaf())

{//保存文件

try{//建立以节点所定义的文本为文件名的文件

File f=new File(node.getParent().toString()+str+".txt");

//建立文本文件输出流

FileWriter tofile=new FileWriter(f);

BufferedWriter out=new BufferedWriter(tofile);

//将文本区中的内容写到文件缓冲区

out.write(text.getText(),0,(text.getText()).length());

//将缓冲区中的内容写到文件

out.flush();

tofile.close();

out.close();

}

catch(FileNotFoundException e1){ }

catch(IOException e1){ }

}

}

//处理点出"删除"按钮的事件

else if(e.getSource()==b_del)

{

DefaultMutableTreeNode node=

(DefaultMutableTreeNode)tree.getLastSelectedPathComponent(); String str=node.toString();

if(node.isLeaf())

{

try{// 把删除命令写到一个批处理文件中

File f=new File(node.getParent().toString()+str+".txt");

FileWriter tofile=new FileWriter("gxy.bat");

BufferedWriter out=new BufferedWriter(tofile);

String temp1="del "+f.getAbsoluteFile().toString();

out.write(temp1,0,temp1.length());

out.newLine();

out.flush();

tofile.close();

out.close();

}

catch(IOException e1){}

}

//调用执行删除文件的方法

del();

}

}

四、结论

Java作为跨平台语言,在不同的平台、不同的分辨率下的显示效果是不一样的。为实现跨平台机制,引入了布局管理器来管理界面,通过这些管理器及其组合,能设计出各种复杂界面,并能在不同操作系统平台都能获得一致的显示界面。在启动应用程序时,若初始化时间较长,则需要安排一个表示欢迎使用本程序的启动界面,在初始化完成后该画面自动消失。用树形分层结构来显示数据视图,用户可展开或收缩视图中的单个子树。

五、问题与讨论

本次实验,主要是关于窗口界面的程序设计,包括了界面布局、程序启动界面和树形分层结构的内容。这次实验,题量偏多,程序偏长,在编写时出现了一系列的细节问题,最为基本的错误之一就是没有将文件名与

public后面的类名统一,出现大小写相异的情况,还有就是输入时经常出现一些低级错误,最典型的就是没有将System的首字母大写而造成运行错误。在编程过程中,还一度将成员变量和局部变量混淆,造成程序错乱。在此次试验中,还出现了个人对构造方法的理解偏离而导致编程工作受阻,最后,在实验指导书的指导下,终于勉强完成程序的调试工作。

用户界面设计实验报告(中南民族大学)

《用户界面设计》实验报告 学号: 姓名: 班级名称: 指导教师:李波 实验日期:

目录 Experiment 1: Evaluation Practices (1) Experiment 2: Design a graphic user interface (3) Experiment 3: Error Messages GUI (12) Experiment 4: Help Document (14)

Experiment 1: Evaluation Practices Use the blank provided to answer the questions. Answer the questions on a scale of 1 to 5, where 1 is a strong no, 5 is a strong yes, and 3 is neutral. If the question does not apply, use a 0.

Experiment 2: Design a graphic user interface Now, you can use the usability measurement to design a graphic user interface .First, you must select a system to finish sessions or tasks for users, so users’ requirements must be analyzed to define all functions you want to realize. Second, you must draw a graphic UI using the software tools, such as Microsoft visual studio, or Visio, or others. All functions must be appeared in this GUI include a main interface and all assistant interfaces. Finally, you must explain why and how you design these GUIs according to the usability measurement and the EIGTH GOLDEN RULES. The document format is described as follow. You can finish this work by PPT or word. 1. The system requirement The system requirement is described here. The main contents include the aims and what the users want to do. 随着信息时代的发展,计算机管理的应用越来越广泛,随着计算机的普及,就连调查问卷也慢慢的脱离了纸质化。对于一个比较大的公司而言,对其客户进行调查问卷是很有必要进行的,而由于客户的分布广,进行纸质的调查问卷不仅浪费财力,还浪费了物力,因此网上调查就避开这一缺点。因此,我设计了一个网上调查问卷系统。这个系统的用户有两类,一类是经销商,一类是经销商的客户,客户通过网上填写问卷,经销商则对客户的问卷进行回收,统计,分析,以做出相应的出售方案。 The aims 1)用户管理

第一次 Java 实验报告

Java实验报告 班号学号姓名 实验地点完成日期年月日 实验一Java编程环境使用 一、实验任务和要求 掌握Java运行环境的配置 掌握Java程序的编写、编译、运行等过程 熟悉Java语言的基本语法和运行原理 掌握Java的基本数据类型、表达式和程序控制结构 熟悉Eclipse开发环境的基本使用方法 二、原理分析和程序设计 实验内容: 1、在控制台下求两个实数的最大值(CompareTwoNumbers.java) 要求:从键盘输入任意两个实数,比较两个数字的大小,将较大的数输出。数据输入和输出用Java的标准输入流和输出流来实现。请按照代码提示编写完整程序,并查看结果。 代码提示: import java.util.Scanner; //导入Scanner对象; Scanner scanner = new Scanner(System.in);//实例化一个Scanner对象; number1 = scanner.nextDouble();//从键盘输入一个实数赋值给number1; 相应代码: import java.util.Scanner; //导入Scanner对象; public class CompareTwoNumbers { public static void main(String[] args){ Scanner scanner = new Scanner(System.in);//实例化一个Scanner对象; System.out.print("请输入第一个数:"); double number1 = scanner.nextDouble();//从键盘输入一个实数赋值给number1; System.out.print("请输入第二个数:"); double number2 = scanner.nextDouble(); double c=number1>number2?number1:number2; System.out.print("最大的数为:"+c); } } 猜数字游戏(GuessNumber.java)

大学java课程设计实验报告_计算器

JAVA课程设计报告 组员信息: 第(二)组 计算器的实现问题 问题描述:制作一个计算器 基本要求:要求实现类似Windows操作系统里面的标准计算器。 在此基础上实现部分科学性的功能。 测试数据:分别对加、减、乘、除和sin、cos、tan函数进行测试 算法思想:使用String定义的数组a[25]对每个按钮进行按钮赋值,创建一个Panel进行字符和数字的存放,调用 addActionListener()对各个时间进行监听。调用 系统库函数对数值进行运算。 模块划分:1、主函数main()创建一个计算器。 2、void actionPerformed(ActionEvent e)对鼠标 点击的事件进行响应以及在文本框中的显示。 3、各Buuton对应的功能: “开方”:对输入数字开方 “平方”:对输入数字平方

“getResult()”:对四则运算进行分别运算操 作 “backspace”:取消上一次的操作 “CE”:取消上一次运算的操作 “C”:清空作用 “sin”:对输入数据进行sin运算 “cos”:对输入数据进行cos运算 “tan”:对输入数据进行tan运算 “+/-”:对输入的数据取反 “+”,“-”,“*”,“/”:对数据进行四则 运算 源程序: package hechongwei; import https://www.360docs.net/doc/802339140.html,ng.String; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import https://www.360docs.net/doc/802339140.html,ng.Math; class Calculator extends JFrame implements ActionListener

实验8MATLAB图形用户界面设计实验报告

实验8 MATLAB图形用户界面设计实验报告实验报告 课程名称:MATLAB应用成绩: 实验项目名称:MATLAB图形用户界面设计实验时间:11.6 指导教师(签名): 班级:XXXXX 姓名:XXXXX 学号:XXX 实验目的: 1. 熟悉MATLAB的菜单设计方法 2. 熟悉MATLAB的主要控件使用方法 3. 熟悉MATLAB的GUI设计流程 实验环境: MATLAB 7.1 实验内容及过程: 简单计算器的设计:在MATLAB GUI的实验环境中,通过MATLAB图形用户界面设计的方法,设计一个 简单的计算器,以实现简单数据的退出、清屏、删除、四则运算等基本功能。 实验过程、结果及分析:

计算器代码: function varargout = jsq(varargin) gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 第 1 页共 6 页 'gui_OpeningFcn', @jsq_OpeningFcn, ... 'gui_OutputFcn', @jsq_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else

java第一次报告

学生实验报告 (2009—2010学年第一学期) 课程名称:基于Java的Web应用设计开课实验室:2301 2009年 10月 30 日

一、实验目的及内容 目的:掌握和巩固Java基础知识 内容: 1.Java语言开发流程 2.编写一个程序,该程序实现以下功能:把自己的学号看作是一个整数n,计算并在 屏幕上输出该整数各位相加的结果。例如:学号为12345的同学应计算并输出结果 15。 二、要求 1.描述Windows下JDK环境变量的设置。 2.描述上述程序的设计、实现和结果,并对结果进行分析;设计和实现时要求上述功 能放到main函数之外的其他函数中实现。 3.以上面程序为例完整叙述(1)在命令行方式下Java语言的开发流程;(2)在NetBeans 集成开发环境中的开发流程。 三、实验步骤 1、环境变量设置: 右键点击“我的电脑”,选择“属性”,在“高级”选项里进入“环境变量”的设置如下: 2、path变量的设置:path, 是告诉系统, 当要求系统运行一个程序而没有告诉它程序所在的完整路径时, 系统除了在当前目录下面寻找此程序外, 还应到哪些目录下去寻找。本次实验中设置为java安装时bin的绝对路径如下:

4、新建项目如下: 5、设置项目名称及运行路径如下

6、程序设计如下: /* * To change this template, choose Tools | Templates * and open the template in the editor. */ package jing; import java.io.*; /** * * @author ycx */ public class Main { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here InputNum inp=new InputNum(); CountStuNum coun=new CountStuNum(); try{ long getNum=inp.InputNum(); coun.CountStuNum(getNum); }catch(IOException e){

java实验报告完整版

实验报告 (计算机与信息工程学院实验中心) 学期: 2014-2015 课程名称:《Java程序设计实验》 班级:信息1202 姓名:方逸梅 学号: 31 指导老师:费玉莲

《Java程序设计》 独立实验教学安排 一、实验的教学方式、安排及实验环境 (一)教学方式 对照本课程的实验教材,实验一至实验十一,由教师提示实验原理、方法、步骤等内容,在教师的指导下,学生独立完成程序设计及调试工作。实验十二的内容由学生自行设计完成。 (二)教学安排 学时数:30课时 学时安排:每次实验3学时,从学期第五周开始,共十次上机实验。 (三)实验环境 实验环境为JDK 。 (四)具体安排 地点:信息大楼实验室。 辅导:每个班次一名辅导老师,原则上由任课老师担任。 登记:实验完成,由辅导老师登记实验纪录。 学生:实验做完,完成实验报告内容,并在学期末上交实验册。 老师:批改实验,成绩与平时成绩一起占期末的30%。 二、实验的具体内容和要求 见实验报告。

浙江工商大学 计算机与信息工程学院实验报告(1)日期:地点:成绩: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 实验目的、实验原理和内容: 一、实验目的:熟悉Java开发环境及简单程序Java设计。 二、实验原理:SDK 的下载与安装,设置环境变量,安装java 虚拟机,使用Eclipse,编译Java 源程序,运行Java 程序。 三、实验内容及要求: 1.下载、安装并设置Java SDK 软件包。 2.熟悉Eclipse 编辑软件。 3.掌握运行Java 程序的步骤。 4.分别编写Application和Applet程序,显示字符串”Hello Java!欢迎使用!”。 要求:请同学把预备知识、步骤、程序框图、调试好的程序及存在的问题写在下面(不够可以附页)。 程序一 public class hello { public static void main(String[] args) { for(int i=0;i<=4;i++) { "Hello java! 欢迎使用!"); } }

Java课程设计实验报告

Java课程设计实验报告 导语:日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。以下是小编为大家整理分享的Java课程设计实验报告,欢迎阅读参考。 1、加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2、使用本学期学习的Java SE技术完成多功能日历GUI 程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3、在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 1、问题描述准确、规范。 2、程序结构合理,调试数据准确、有代表性、。 3、界面布局整齐,人机交互方便。 4、输出结果正确。 5、正确撰写实验报告。 编写一个GUI程序实现日历的功能。一年日历用12页

显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农 历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报 时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 1、在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2、在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3、各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4、根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5、详细的上机实验步骤见任务分工及程序设计进度表。 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能

Visual FoxPro 程序设计实验报告

VF程序设计实验报告 图书馆管理系统 专业: 学号: 姓名: 指导教师: 2010年12月31日

目录 第一部分系统概述--------------------------------2 第二部分系统功能模块设计------------------------2 第三部分系统数据库及表设计----------------------2 第四部分系统菜单设计----------------------------5 第五部分系统界面设计----------------------------6 第六部分系统相关程序代码-----------------------13 第七部分实验报告小结---------------------------22 第八部分参考资料-------------------------------22

一、系统概述 近年来,随着图书馆规模的不断扩大,图书数量相应的增加,有关图书的各种信息量也成倍增加,面对庞大的信息量,传统的人工管理户导致图书管理的混乱,人力与物力过多的浪费,图书管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理。因此,为了充分发挥了图书馆的功效,最大限度地为读者服务,必须制定一套合理、有效,规范和实用的图书馆管理系统,对图书资料进行集中统一的管理。 根据上述需要,我们建立本图书馆管理系统。 根据图书、读者和管理员三者之间的关系,本系统主要实现读者对图书的查询、个人信息的修改和管理员对读者、图书的管理。 本系统采用VF6.0作为开发工具。 二、系统功能模块设计 本系统可以完成一般图书馆关于图书查询、借阅及书库管理的主要功能。其中:图书查询模块可以查询所需要的图书;读者管理模块中,读者可以查看自己的信息,对登陆密码进行修改,管理员可以对读者进行添加和删除;图书管理模块中,管理员可以为读者进行图书的借阅和归还操作,以及对图书的信息进行修改,如加入新书、删除不能使用的图书和更新图书的信息;报表打印模块中,实现对需要的信息进行打印输出。系统结构下图所示。 三、数据库及表设计 经分析,图书馆管理系统主要涉及了学生、管理员和图书三部分。因此需要建立的实体就是学生、管理员和图书三个。 根据系统模块的设计,可以的到本系统需要建立的基本表为:读者信息表、

java设计模式结课论文

论文 2012 — 2013学年第 2 学期 论文题目备忘录模式 学生姓名 学号 专业班级 指导教师 2013 年7 月 1 日

备忘录模式 1.备忘录模式概述 对象的状态依赖于它的变量的取值情况,对象在程序运行期间的各个时刻可能具有不同的状态。在某些应用中,程序可能需要使用一种合理的方式来保存对象在某一时刻的状态,以便在需要时,对象能恢复原先保存的状态。在备忘录模式中,称需要保存状态的对象为“原发者”,称负责保存原发者可以访问备忘录中的细节,即可以访问备忘录中的数据,以便恢复原发者的状态,而负责人只能保存和得到备忘录,但访问备忘录中的数据收到一定的限制。备忘录模式使原发者可以将自己的状态暴露内部数据的同时,又保证了数据的封装性。另外,经过精心设计的备忘录通过保存原发者状态中最本质的数据,就能使原发者根据此备忘录中的数据恢复原始状态。 2.备忘录模式的定义 备忘录模式是关于怎样保存对象状态的成熟模式,其关键是提供一个备忘录对象,该备忘录负责存储一个对象的状态,程序可以在磁盘或内存中保存这个备忘录,这样以后就可将该对象恢复到原先保存的状态。 3. 备忘录模式的结构和使用 3.1备忘录模式包括三种角色:

原发者(Originator):需要在某个时刻保存其状态的对象。原发者负责创建备忘录,比如使用createMemento()方法创建一个备忘录,然后原发者该备忘录记录自己的状态。当原发者需要恢复某个时刻的状态是,它通过获得相应的备忘录中的数据来恢复那个时刻的状态,比如原发者调用restoreFromMemento(Memento mem)方法,并通过参数men制定的备忘录恢复状态。 备忘录(Memento):负责存储原发者状态的对象,创建备忘录的类和创建原发者的类在同一个包中,该类提供的访问数据的方法都是友好方法,是的只有和原发者在同一个包中的类的实例才可以访问备忘录中的数据。 负责人(Caretaker):负责管理保存备忘录的对象。负责人如果不和原发者在同一个包中,就不能对备忘录中的内容进行修改或读取。如果需要将备忘录保存到磁盘,负责人可以使用对象流将备忘录写入文件。 3.2备忘录模式的UML类图 备忘录模式的类图如图所示,备忘录模式中原发者角色,Recoder 类的实例是备忘录(Menmento)角色,SaveRecoder类的实例是负责人(Caretaker)角色。

Java课程设计实验报告及全部源码流程图

课程设计 一、实验目的 1.加深对课堂讲授内容的理解,掌握解决实际应用问题时所应具有的查阅资料、技术标准和规范,以及软件编程、调试等能力,掌握面向对象的编程思想及Java语言程序设计的规律与技巧,为进一步学习web应用开发及今后从事专业工作打下基础。 2. 使用本学期学习的Java SE技术(也可以使用课堂教学中没有学习过的Java技术,但是应当以Java SE技术为主)完成多功能日历GUI程序的设计,使之具有如下基本功能:一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。 3.在完成基本功能的基础上发挥自己的想象力与创造力,使程序凸显出与众不同的特点与功能,形成本小组的特性色。 二、实验要求 1.问题描述准确、规范。 2.程序结构合理,调试数据准确、有代表性.。 3.界面布局整齐,人机交互方便。 4.输出结果正确。 5.正确撰写实验报告。 三、实验内容 编写一个GUI程序实现日历的功能。一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期以及当前农历,可以为每页日历选择背景图片。可以实现显示时钟,时钟能进行整点报

时。可以实现备忘记事功能,能在每天添加、修改、删除记事等操作。 四、实验步骤 1.在上机实验前,小组成员进行选题讨论,确定小组感兴趣而又伸缩性强的题目多功能日历。 2.在第一次上机实验时讨论分工,分工明确之后,分头合作进行。 3.各成员完成自己的任务后,最后进行统筹合并,以及程序最后的优化。 4. 根据实验结果,写出合肥工业大学实验报告。实验报告应当包括:实验内容,程序流程图,类结构,程序清单,运行结果,以及通过上机取得的经验。 5.详细的上机实验步骤见任务分工及程序设计进度表。 五、实验结果 经过小组成员的共同努力,最终我们小组设计的多功能日历程序能够实现实验的基本要求——一年日历用12页显示,每页显示一个月的日历。日历可以按年或月前后翻动,能够显示当前的日期,可以为每页日历选择背景图片。另外,在完成基本要求的基础上,我们增添了显示农历、显示时钟、添加备忘录、修改备忘录等功能。整体程序运行流畅、功能齐全、符合操作习惯。 下面是程序运行效果截图: 日历主界面(可以实现每个月的日历,可以按年或按月前后翻动,能够显示当前日期,并能够选择背景图片):

Java基础实验报告-图形用户界面设计

南京工程学院 实验报告 课程名称 JAVA基础 实验项目名称图形用户界面设计 实验学生班级 实验学生姓名 学号 同组学生姓名 实验时间 实验地点 实验成绩评定 指导教师签字年月日

一、实验目的和要求 1.掌握Java Swing组建的使用方法,包括窗口、框架、对话框、面板、文本编辑框、按钮、组合框等多种布局方式,掌握窗口菜单和快捷菜单设计方式。 2.理解委托时间处理模型,掌握不同组件、不同事件的事件处理方法,设计出能够响应事件的Java图形用户界面。 3.熟悉在组件上绘图的方法。 二、实验题目 用表格存储并显示个人所得税税率表,给定一个月收入值,计算应缴的个人所得税。 三、实验方法与步骤(需求分析、算法设计思路、流程图等) 算法设计思路:本次实验题目为计算个人所得税,所以本人从网上找到了国家最新的税收政策,以下为截图:

因此,我设计了以下核心算法 public void actionPerformed(ActionEvent e) { if(e.getSource()==button_b) { double wage=Double.parseDouble((String)text_wage.getText()); double tax = 0; if(wage<=3500) tax=0; if(wage>3500&&wage<=5000) tax=(wage-3500)*0.03; if(wage>5000&&wage<=8000) tax=(wage-3500)*0.1-105; if(wage>8000&&wage<=12500) tax=(wage-3500)*0.2-555; if(wage>12500&&wage<=38500)

JAVA实验报告一

Java语言程序设计实验报告一 班级:姓名:学号: 一、实验教学目的与基本要求 Java程序设计的实验是Java程序设计课程重要的实践教学环节。实验的目的不仅仅是验证理论知识,更重要的是通过上机加强学生的动手能力,掌握常用Java开发环境的使用方法,培养学生分析问题、解决问题、应用知识的能力和创新精神。充分放手让学生自行设计、自主调试,真正培养学生的实践动手能力,全面提高学生的综合素质。 本课程是一门程序设计语言课程,通过本课程的学习,学生能够掌握Java 语言程序的基本特点、基本编程方法和基本开发技巧,培养学生阅读、分析、设计和调试Java语言的能力,并具备一定的面向对象程序设计思想。 本课程的主要任务是在已学习的编程语言基础上,讲述Java语言的数据结构和语法规则;基本控制结构和编程技巧;Java语言面向对象的特点、编程方法和程序设计思路;Java语言的GUI程序和文件及I/O流的编程方法;能够正确配置Java开发环境,并使用相关的编辑、编译、调试、运行命令。 (1)掌握Java语言的编程技巧,能够独立进行面向对象的开发能力。 (2)具有根据编程需求独立查询Java类库文档及相关资料,完成系统的能力。 (3)具有分析、寻找和排除程序中常见问题的能力。

二、实验内容与收获 (1)Java的安装与配置。熟悉语言环境及简单程序设计的使用练习,正确配置Java 开发环境(Eclipse 集成开发环境的安装、配置与使用) a)安装JDK Sun公司为所有的Java程序员提供了一套免费的Java开发和运行环境。 可以通过IE或Netscape浏览器浏览网址:https://www.360docs.net/doc/802339140.html,/j2se,根据提示可以下载支持Microsoft Windows操作系统的jdk-1_5_0-windows-i586.exe到本地硬盘。 安装的时候可以选择安装到任意的硬盘驱动器上,例如安装到D:\jdk1.5.0目录下,如图1-2。正确安装后,在JDK目录下有bin、demo、lib、jre等子目录,如图1-3,其中bin目录保存了javac、java、appletviewer等命令文件,demo目录保存了许多java的例子,lib目录保存了Java的类库文件,jre目录保存的是Java的运行时环境(JRE)。 图1-2

JavaWeb课程设计实验报告

湖南科技大学计算机科学与工程学院 WEB编程课程设计报告 题目:网上购物商店 学号:1111111111 姓名: 1 指导老师: 1 完成时间:111111111

目录 一、设计内容 (3) 二、设计方法 (4) 1、网站的整体结构设计 (4) 2、网站设计的技术方案 (5) 3、网站的界面设计 (6) 三、实现方法 (8) 1、数据库的设计 (8) 2、网站具体的实现过程 (10) 开发环境: (10) 设计思路 (10) 四、心得体会 (11)

随着互联网时代的迅猛发展,人们的生活方式已经发生了翻天覆地的变化,传统的实体店购物方式已经不能满足人们的需求,传统购物方式购物不方便,非得出门才能购物,去到了实体店有不一定有自己满意的商品,有时候会浪费大量的时间和精力。 随着网络的全面覆盖,网上支付系统的逐步完善,物流业的快速兴起,网上购物已经成为了当今购物的潮流。 网上购物商店主要满足人们足不出户就能买到自己想要的物品的需要,同时也为商家省去了昂贵的门面租赁费用,而且商品还可以卖到全国各地,大大的扩大了客源又节省了成本。 网上购物商店主要有以下几个方面的功能: 顾客可以浏览整个网站的商品,可以再网站进行注册,注册之后可以登录并购买商品,同时也可以查看和修改自己的个人信息,为了安全的需求,还可以修改密码。 商家,也就是店主,管理员,可以管理网站所出售的所有商品,同时也可以对在网站进行注册的用户进行管理。 1、用户登录、注册功能 (1)注册功能:用户进入网站,如果有兴趣在该商店购买商品,那么用户就可以注册。 (2)登录功能。已经注册的用户可以登录,登录之后方可购买商品。 (3)查看、修改用户信息功能。 (4)修改密码,为了用户安全的需要,经常更换密码可以保证用户账户的安全。 2、购物功能 (1)物品浏览:顾客进入网站,就可以浏览网站的商品。 (2)商品购买:顾客注册自己的账户,并登录之后就可以在网站购买商品了。购买商品的步骤如下; a)添加商品到购物车 b)确定购买 3、商品管理:管理网站所出售的商品。 4、用户管理:管理员对在网站注册的用户进行管理。 5、订单管理:对用户的订单进行管理。

oracle设计实验报告材料

课程设计 课程题目:ORACLE应用系统设计设计题目:音像店信息管理系统 专业:计算机科学与技术 班级:计131 组员:李霆桑珠扎西虞洲 学号: 130761 130767 130762 日期: 2016-03-04 信息工程学院计算机科学与技术

目录 一.课程目的………………………………………………………. 二.题目要求……………………………………………………… 三.日期安排………………………………………………………. 四.组内分工……………………………………………………… 五.实验条件......................................................... ........................... 六.实验内容......................................................... ........................... (1)第一部分:Oracle管理技术……………………………………… 1.数据库管理…………………………………………………….. 2.角色和用户管理………………………………………………... 3.表和视图管理………………………………………………….. 4.索引和序列管理………………………………………………... 5.PL/SQL编程…………………………………………………… 6.使用游标、存储过程和触发器………………………………… 7.表空间管理……………………………………………………… 8.文件管理………………………………………………………… (2)第二部分:Oracle开发技术……………………………………….. ①数据库设计………………………………………………………………… ②界面设计.................................................... ③结果测试…………………………………………………………………… 七.问题及解决…………………………………………………….. 八.总结...............................................

初识Java 实验报告

太原师范学院 实验报告 Experimentation Report of Taiyuan teachers College 系部计算机系年级课程Ja va实用教程 姓名同组者无日期2012.2.28 项目初识Java 实验①:一个简单的应用程序 1、实验目的: 掌握Java应用程序的3个步骤:编写原文件、变异原文件和运用应用程序。 2、实验要求: 编写一个简单的Java应用程序,该程序在命令窗口输出两行文字:“Hello Java” 和“We are students”。 3、实验代码: public class hello { public static void main (String args[]) { System.out.println("Hello Java"); A a=new A(); a.fA(); } } class A

{ void fA() { System.out.println("We are students"); } } 4、实验后的练习: ①编译器怎样提示丢失大括号的错误? Hello.java :18:进行语法解析时已到达文件结尾 }→ ^ ②编译器怎样提示语句丢失分号的错误? Hello.java :7:需要‘;’ System.out.println(“Hello Java”) ^ ③编译器怎样提示将System写成system这一错误? Hello.java :7:软件包system不存在 System.out.println(“Hello Java”); ^ ④编译器怎样提示将String写成string这一错误? Hello.java :5:找不到符号 符号:类string 位置:类hello Public static void main(string args[]) ^ 实验②:画出一个正弦函数的波形图 实验目的:掌握开发Java sin Applet程序的3个步骤:编写源文件、编译源文件和运行Java sin Applet程序 实验要求:编写一个简单的Java sin Applet程序,打印出正弦函数的图形。 实验代码: import java.applet.*; import java.awt.*; import java.awt.Color; public class sin extends Applet{ public void paint(Graphics g){ int x=0; int y=0; int i=0; for(i=0;i<360;i++) { x=(int)((i*Math.PI/180)*100); y=(int)(Math.sin((i*Math.PI)/180)*100)+200; g.drawString("*",x,y);

java课程设计实验报告

Java课程设计实验报告实验题目:打字游戏小程序 专业:计算机科学与技术系 班级:1202班 成员:

Java课程设计(打字游戏小程序) 一、课程设计目的 经过一学期的java学习,能灵活运用书中和实验中所学习的各类知识和技巧,并且能在程序开发中得以很好的运用和发挥。在以后的学习和工作中,可以从中获取很好的经验,并且锻炼自己开发程序和创新的意识。 二、课程设计内容 1.课程设计简介 设计的是一个打字的小游戏,屏幕上不断地有英文字母下落,键盘输入字母,屏幕上与输入的字母形同的就会消失,并计分,如果有没有消去的字母掉到屏幕底,将扣分。 2.设计说明 因为要进行键盘操作,所以引用了event包,还要注册事件监听。字母是随机产生的,又要用。注册了线程。还要对窗口定义坐标,防止字母出现在同一位子。并且通过一位数组来给随机出现的字母做坐标定义。主要通过一位数组来控制字母的坐标,并且通过字母坐标的改变来对整个游戏的流程进行控制。 3.设计流程图 4.实现功能 随机产生字母,运用了键盘操作当按对屏幕中出现的字母时,该字母全部消失,并且在分数上相应的增加或减少。 5.详细设计(源代码) 1) packageDownCharGame; import import import /** *下落的字母实体类 *@authorshenbf * */ publicclassCharEntity{ raw(g); } etY()>=480){ etX((int)()*580)+30); chs[i].setY(0);

chs[i].setColor(newColor((int)()*256), (int)()*256),(int)()*256))); chs[i].setCh((char)(65+(int)()*26))); } chs[i].down(); } repaint();tart(); } publicvoidkeyTyped(KeyEvente){ } publicvoidkeyPressed(KeyEvente){ } publicvoidkeyReleased(KeyEvente){ etCh()||key==chs[i].getCh()+32){ etY()

Web界面设计实验报告

实验报告 课程名称:Web语言及XML程序设计实验项目:Web网页设计及XML编程专业班级: 姓名:学号: 实验室号:实验组号: 实验时间:批阅时间: 指导教师:成绩:

沈阳工业大学实验报告 题目:xx大学学生信息管理系统 于光亚负责:WEB网页界面设计 专业班级:学号:姓名: 实验名称: 附件A 沈阳工业大学web实验报告 ——xx大学学生信息管理系统 实验步骤或程序: 1.绪论:这次课程设计所制作的网站中分为五个板块,教师登陆、教师注册、学生成绩、学生信息管理、学生注册,通过这个网站,用户可以访问XX大学学生信息,及特权用那户对网页部分信息的管理。但网站有些简单,功能也不全面,功能实现有限。 2.布局介绍:网站下分为五个板块,分别为教师登陆、教师注册、学生成绩、学生信息管理、学生注册。整体结构如下

3.各页面设计: 3.1主页 预览: 功能实现:主页简单明了,突出登陆界面,网页功能及主意事项,插入图片动画增强美观,以上功能均以代码实现,均可根据要求做出调整。 3.2教师注册页: 预览:

功能实现:在主页点击教师注册,进入本页,实现简单的注册、提交功能,界面设计突出功能,实用性为主。 3.3学生注册页 预览:

功能实现:在主页点击学生注册,进入本页,罗列学生注册信息,同样实现简单的注册、提交功能,界面设计突出功能,实用性为主。 3.4学生成绩页 预览: 功能实现:通过主页登录,可进入学生成绩页面,实现通过学号、班级的输入完成学生成绩的搜索,教师用户还可对学生西成绩进行修改,本页还附带百度搜索、教师功能、学生功能等超链接,完善用户需求。 3.5学生信息管理页 预览:

java课程设计实验报告

一实验目的 加深学生对课堂讲授内容的理解,从计算机语言的基本概念、程序设计的基本方法、语法规则等方面加深理解,打好程序设计、开发软件的良好基础。在上机实验中,提高学生对Java语言各部分内容的综合使用能力,逐步掌握Java语言程序设计的规律与技巧。在对Java 程序的调试过程中,提高学生分析程序中出现的错误和排除这些错误的能力。通过上机实践,加深学生对计算机软件运行环境,以及对操作系统与计算机语言支持系统相互关系的了解。 二、实验要求 (1)问题描述准确、规范; (2)程序结构合理,调试数据准确、有代表性; (3)界面布局整齐,人机交互方便; (4)输出结果正确; (5)正确撰写实验报告。 三、设计内容 1、计算器 计算器要有GUI界面,用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算和混合运算,可以求一个数值的平方及倒数,可以进行阶乘运算,要能运算小数,并且不会产生精度损失,在必要情况下,可以进行四舍五入的运算。允许正负数间的运算。要求使用Applet实现该计算器,当用浏览器运行程序时,点击网页中的按钮,则计算器弹出,浮在网页上,再次点击按钮时,计算器消失。 2、文本编辑器 可以设置文本的字体、大小、颜色等基本参数,可以读取计算机中TXT文件,可以生成一个新的TXT文件。其他功能参照windows的文本编辑器。

四.实验步骤 (1)上机实验之前,为课程设计的内容作好充分准备。对每次上机需要完成的任务进行认真的分析,画出程序流程图,手工写出符合任务要求的程序清单,准备出调试程序使用的数据,以便提高上机实验的效率。 (2)按照实验目的和实验内容进行上机操作。录入程序,编译调试,反复修改,直到使程序正常运行,得出正确的输出结果为止。 (3)根据实验结果,写出实验报告。 五. 源代码及运行结果 1.计算器源代码 import .*; import .*; import .*; public class jisuanqi extends WindowAdapter { , "=", "+","n!" ,"关闭" }; static double a, sum=1; static String s, str ;rame(); } public void frame() { etBackground; txt = new TextField(""); (false);ddActionListener(new buttonlistener());ddActionListener(new close()); (this); (new BorderLayout());.计算器运行界面(1)计算器主界面

VB实验报告7-用户界面设计

VB 程序设计实验报告 2020年06 月01 日 课程名称:VB程序设计实验名称:实验7-用户界面设计 一、实验目的 1.掌握下拉式菜单和弹出式菜单的设计方法 2.学会使用通用对话框控件进行编程 3.掌握设计自定义对话框的有关技术 4.掌握工具栏的设计技术 5.了解鼠标和键盘事件及其事件过程的编写 6.综合应用所学的知识,编制具有可视化界面的应用程序 二、实验内容

三、实验分析及设计 实验7-1 对话框是模态的,将窗体作为模态对话框显示应使用如下语句: Frmabout.shou vbmodal 实验7-2 实验7-3 假定max为最大字符的下标,标记最大字符的语句为 List1.list(max) = list1.list(max) & space(10)&”*” 实验7-4 弹出式菜单设置时需要设置为不可见 实验7-5 一个项目中可以有若干窗体,但name属性不能相同,所以需要讲窗体的名称修改后才能汇总 四、程序代码 实验7-1 Private Sub about_Click() frmAbout1.Show vbModal End Sub Private Sub FileMenu02_Click() End End Sub Private Sub FileMuen01_Click() Text1.Text = "" End Sub Private Sub fontcu_Click() Text1.FontBold = True

Private Sub fontsize12_Click() Text1.FontSize = 12 End Sub Private Sub fontsize8_Click() Text1.FontSize = 8 End Sub Private Sub fontxie_Click() Text1.FontItalic = True End Sub 实验7-2 Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1 Call cuti_click Case 2 Call xieti_click End Select Label1.FontBold = True End Sub Private Sub cuti_click() Label1.FontBold = True End Sub Private Sub xieti_click() Label1.FontItalic = True End Sub 实验7-3 Dim a(15) As String Private Sub F2_Click() List1.Clear Erase a Randomize For i = 0 To 14 a(i) = Int(Rnd * (90 - 65 + 1) + 65) List1.AddItem Chr(a(i)) Next i End Sub Private Sub F3_Click() Dim large As Integer, num As Integer large = 0

相关文档
最新文档