Java课程设计的图片浏览器的原代码

Java课程设计的图片浏览器的原代码
Java课程设计的图片浏览器的原代码

一.课程设计的任务及要求

任务:图形化界面(GUI)编程,编写一个图片浏览器程序

1.1 可以单张打开图片

1.2 可以将同一目录下的图片按缩略图打开

1.3按“上一张”“下一张”按钮可以显示相应图片

二.需求分析

图形化界面(GUI)编程,编写一个图片浏览器程序可以支持““.GIF”,“.JPEG”,“.jpeg”,“.TGA”,“.JPG”,“.jpg”等格式,单张打开图片,可以将同一目录下的图片按缩略图打开按“上一张”“下一张”按钮可以显示相应图片。运行Applet时,图像不是一气呵成的,因为方法不是吧图像完整的装入内存再显示的。于此相反,方法创建一个线程,该线程与Applet的原有线程并发执行,一边装入一边显示,从而产生上了不联需显示的现象。为了提高图像才显示效果,可以采用双缓冲技术:首先把图像装入内存,然后再显示在屏幕上。

三. 设计思路

3.1界面设计

选择图片按钮:主要用dir函数实现图片的遍历。

上一张,下一张:通过做标轴回调函数实现。

由于本软件为单机软件,不需要大量的数据读写和数据交换,实现上、下功能要求只能读取PictureBox控件当前加载的目录,读取当前路径,创建一维数组。

frame = new Frame("PictureViewer");

Panel pb = new Panel();

Button select = new Button("选择图片");

previous = new Button("上一张");

next = new Button("下一张");

select.addActionListener(this);

previous.addActionListener(this);

3.2.图像加载:

Applet常用来显示储存在文件中的图像,多数Applet使用的是GIF或JPEG 格式的图像文件。需Applet加载图像只需首先定义Image对象,然后使用getImage()方法把图像和文件结合起来即可。

image_width = bi.getWidth(this);

image_height = bi.getHeight(this);

double image_proportion = 1.0 * image_height / image_width; System.out.println("image: w "+image_width+" ,h "+image_height+" ,p1 "+image_proportion);

if(image_proportion > screen_proportion){ image_height = screen_height;

image_width = (int)(image_height / image_proportion); System.out.println(" p1>p0 w= "+image_width); }else{

image_width = screen_width;

image_height = (int)(image_width * image_proportion); System.out.println(" p0>p1 h= "+image_height); }

四.详细设计

4.1.程序设计流程图

开始

上一张

结束

图片

查找文件 查找文件查找盘符

图片

下一张

4.2.源程序代码

package C;

import java.io.File;

import java.io.FilenameFilter;

public class MyFilter implements FilenameFilter{

private String[] extension;

public MyFilter(){

extension = new String[]{".jpg", ".JPG", ".gif", ".GIF", ".png", ".PNG", ".jpeg", ".JPEG"};

}

public MyFilter(String[] extension){

this.extension = extension;

}

public boolean accept(File dir,String name){

for(String s : extension){

if(name.endsWith(s)){

return true;

}

}

return false;

}

}

package C;

import java.awt.*;

import java.awt.event.*;

import java.awt.image.*;

public class MyCanvas extends Canvas implements ComponentListener{ /**

*

*/

private static final long serialVersionUID = 1L;

private BufferedImage bi;

private Image im;

private int image_width;

private int image_height;

public void setImage(BufferedImage bi){

this.bi = bi;

this.zoom();

public void paint(Graphics g){

g.drawImage(im,(this.getWidth()-image_width)/2,(this.getHeight()-imag e_height)/2,this);

}

public void componentResized(ComponentEvent e){

if(bi != null){

System.out.println("resize!!");

this.zoom();

this.repaint();

}

}

public void componentMoved(ComponentEvent e){}

public void componentShown(ComponentEvent e){}

public void componentHidden(ComponentEvent e){}

public void zoom(){

if(bi == null)

return;

int screen_width = this.getWidth();

int screen_height = this.getHeight();

double screen_proportion = 1.0 * screen_height / screen_width;

System.out.println("screen: w "+screen_width+" ,h "+screen_height+" ,p0 "+screen_proportion);

image_width = bi.getWidth(this);

image_height = bi.getHeight(this);

double image_proportion = 1.0 * image_height / image_width;

System.out.println("image: w "+image_width+" ,h "+image_height+" ,p1 "+image_proportion);

if(image_proportion > screen_proportion){

image_height = screen_height;

image_width = (int)(image_height / image_proportion);

System.out.println(" p1>p0 w= "+image_width);

}else{

image_width = screen_width;

image_height = (int)(image_width * image_proportion);

System.out.println(" p0>p1 h= "+image_height);

}

im = bi.getScaledInstance(image_width,image_height,Image.SCALE_SMOOTH);

}

package C;

import java.awt.*;

import java.awt.event.*;

import java.awt.image.*;

import java.io.*;

import javax.imageio.*;

public class T implements ActionListener{

private Frame frame;

private MyCanvas mc ;

private String fpath;

private String fname;

private File[] files;

private int findex ;

private FileDialog fd_load;

private MyFilter filter;

private Button previous ;

private Button next ;

public static void main( String args[]) throws Exception { new T().init();

}

public void init(){

frame = new Frame("PictureViewer");

Panel pb = new Panel();

Button select = new Button("选择图片");

previous = new Button("上一张");

next = new Button("下一张");

select.addActionListener(this);

previous.addActionListener(this);

next.addActionListener(this);

pb.add(select);

pb.add(previous);

pb.add(next);

mc = new MyCanvas();

mc.setBackground(new Color(200,210,230));

mc.addComponentListener(mc);

frame.add(pb,"North");

frame.add(mc,"Center");

frame.setSize(360,360);

frame.setLocation(400,200);

frame.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){

System.exit(0);

}

});

frame.setVisible(true);

this.validateButton();

filter = new MyFilter();

fd_load = new FileDialog(frame,"打开文件",FileDialog.LOAD);

fd_load.setFilenameFilter(filter);

}

public void actionPerformed(ActionEvent e){

String command = e.getActionCommand();

if(command.equals("选择图片")){

fd_load.setVisible(true);

fpath = fd_load.getDirectory();

fname = fd_load.getFile();

if((fpath != null) && (fname != null)){

this.display(new File(fpath + fname));

files = new File(fpath).listFiles(filter);

this.setIndex();

}

}else if(command.equals("上一张")){

findex--;

if(findex<0)

findex = 0;

this.display(files[findex]);

}else if(command.equals("下一张")){

findex++;

if(findex >= files.length)

findex = files.length-1;

this.display(files[findex]);

}

this.validateButton();

}

public void display(File f){

try{

BufferedImage bi = ImageIO.read(f);

mc.setImage(bi);

frame.setTitle("PictureViewer - [" + f.getName() + "]"); }catch(Exception e){

e.printStackTrace();

}

mc.repaint();

}

public void setIndex(){

File current = new File(fpath + fname);

if(files != null){

for(int i=0;i

if(current.equals(files[i])){

findex = i;

}

}

}

}

public void validateButton(){

previous.setEnabled((files!=null) && (findex > 0));

next.setEnabled((files!=null) && (findex<(files.length-1))); }

}

五.运行调试与分析讨论

5.1.将同一目录下的图片按缩略图打开

5.2.单张打开图片

5.3.按”上一张”,”下一张”按钮打开图片

六. 设计体会与小结

我通过这次编程实践学习到了Image和Griphics相关的类的使用。

首先我通过网上搜集资料和自己看jdk api对Image、graphics、swing中的类有了实质的操练,对它们的理解有了进一步的理解。不象以前只有模糊的记忆,根本不会运用到实际的情况中,仅仅照着课本超代码。不过由于技术水平限制,写的代码有点乱,类的层次不清晰。类之间的调用不明朗。程序中的代码出现累赘,重复创建实例,浪费系统资源。这是很早的了,现在我修改了里面的一些如:如果图片文件中有不是图片格式的他不会显示,我让它自动跳过去。

还有当图片到达文件末尾,上下页按钮不能用并给出提示。改观了软件的外观,稍微美观了些通过该课程设计,使我们掌握了程序设计的基本思路和方法,并使我们巩固和提高了java编程技术。通过完成具有一定难度的课程设计题目的编写,调试运行工作,使我们进一步掌握了面向对象程序设计的基本方法和编译技巧,巩固所学的理论知识,使理论与实际相结合,从而提高自我分析问题,和解决问题的能力。培养研发和独立分析以及独立设计的能力。具备初步的独立分析和设计能力;软件开发过程得问题分析,系统设计,程序编码,测试等基本方发和技巧;综合运用所学的理论知识和方法进行独立分析和解决问题的能力。而且在这次设计中,把死板的课本知识变得生动有趣,激发了学习的积极性,强化了所学的知识。把课堂上的知识通过自己设计的程序表示出来,加深了对

理论知识的理解。

通过本次课程设计,我们还学到了不少动手实践的经验,对以后的学习,工作都是很有用的。

七.设计的主要参考文献

(1)丁振凡.《Java语言实用教程》北京邮电大学出版社(2)耿祥义.《Java2实用教程》清华大学出版社

(3)赵付青.《Java面向对象程序设计》国防工业出版社. (4)耿祥义.《Java课程设计》清华大学出版社

(完整版)java课程设计——客户管理系统源代码

完整代码: 1.客户类(class person): package客户管理系统; public class Person { private int num; private String name; private String address; private String sex; public Person(){} public Person(int num,String name,String address,String sex){ this.num=num; https://www.360docs.net/doc/917812940.html,=name; this.address=address; this.sex=sex; } public void setNum(int num){ this.num=num; } public int getNum(){ return num; } public void setName(String name){ https://www.360docs.net/doc/917812940.html,=name; } public String getName(){ return name; } public void setAddress(String address){ this.address=address; } public String getAddress(){ return address;

} public void setSex(String sex){ this.sex=sex; } public String getSex(){ return sex; } public String toString() { return"\t"+num+"\t"+name+"\t"+address+"\t"+sex; } } 2.菜单类(class Menu): package客户管理系统; import java.util.Scanner; public class Menu { Scanner input=new Scanner(System.in); public Menu() {} public int showMenu() { System.out.println("***********************************" ); System.out.println("客户管理系统"); System.out.println("===================================" ); System.out.println("【1】增加"); System.out.println("【2】删除"); System.out.println("【3】修改"); System.out.println("【4】查询"); System.out.println("【5】浏览"); System.out.println("【6】退出"); System.out.println("***********************************" ); System.out.print("请选择操作:");

javascript课程设计

潍坊科技学院 JavaScript课程设计 报告书 设计题目基于javascript的电子商务网站开发 专业班级11软件一 学生姓名江京翔 学号201101080002 指导教师陈凤萍 日期2012.12.24~2012.1.11 成绩

课程设计任务书 院系:软件学院专业:软件技术班级:11软1 学号:201101080002 一、课程设计时间 2012年12月24日至2013年1月11日,共计3周。 二、课程设计内容 使用html+javascript+css 完成以下任务: 1、能够熟练使用css结合html实现网页布局。 2、熟练使用文档对象模型和事件驱动,能够很好的实现web表单的交互式操作。 3、熟练使用javascrip中的对象,实现网页的动态效果。 三、课程设计要求 1. 课程设计质量: ?贯彻事件驱动的程序设计思想,熟练使用javascript中的对象,实现网页特效。 ?网页设计布局合理,色彩搭配合理,网页操作方便。 ?设计过程中充分考虑浏览器兼容等问题,并做适当处理。 ?代码应适当缩进,并给出必要的注释,以增强程序的可读性。 2. 课程设计说明书: 课程结束后,上交课程设计报告书和相关的网页。课程设计报告书的格式和内容参见提供的模板。 四、指导教师和学生签字 指导教师:学生签名:江京翔 五、教师评语:

基于javascript的电子商务网站开发 摘要 JavaScript是开发WEB应用程序不可或缺的一种语言,无论是为web页面增加交互性还是创建整个应用程序,如果没有Javascript,今天的web就不是现在这个样子了。JavaScript是具有正式规范的基于标准语言;然而,正如任何一个web开发人员所告诉你的那样,几乎每个web浏览器对这个规范的解释都不同。 本网站充分的结合了HTML与CSS的结合充分显示了网站的动态效果,是客户与网站能够充分的结合,进行信息的交换信息不断的进行更新。 基于新闻管理网站,国外新闻页面更具有代表性,是网站最标准型之一,通过Javascript 脚本的交互式该页面更好与其他的页面相互结合。 同时通常页面的下载是按照代码的排列顺序,而表格布局代码的排列代表从上向下,从左到右,无法改变。而通过CSS控制,您可以任意改变代码的排列顺序,比如将重要的右边内容先加载出来。 关键字:节假日、日历、Javascript脚本

网页设计大作业

网页设计与制作报告书 课程名称:网页设计与制作 报告题目:几米的空间 专业班级:旅管1002班 学号:100104110221 姓名:杨玉颖 指导教师:胡一波

目录 一、................................. 开发背景 二、................................. 网页设计技巧 三、................................. 网站结构 四、................................. 应用工具方案 五、................................. 频道栏目划分 六、................................. 测试 七、................................. 周期与成本估算 八、................................. 结论

摘要: 在Internet飞速发展的今天,互联网成为人们快速获取、发布和传递信息的重要渠道,它在人们政治、经济、生活等各个方面发挥着重要的作用。因此网站建设在Internet应用上的地位显而易见,它已成为政府、企事业单位信息化建设中的重要组成部分,从而倍受人们的重视。 关键字:网页制作;制作方法;设计要素;网页测试

一、网页制作开发背景 Dreamweaver以其功能强大、容易上手、界面亲切而著称。它采用所见即所得的方式编辑网页,利用它可以轻松的组织、编辑网页并将其发布到指定的站点上,而且在发布之后还能对更新情况进行监控以更新站点的内容。现在流行的网页制作软件有很多,如Macromedia 公司的Dreamweaver、微软公司的Dreamweaver、还有Adobe Pagemill 3.0--制作多框架,表单和Image map 图像的网页工具、Netscape等等。其中Dreamweaver更以其功能强大、容易上手、界面亲切而著称。它采用所见即所得的方式编辑网页,利用它可以轻松的组织、编辑网页并将其发布到指定的站点上,而且在发布之后还能对更新情况进行监控以更新站点的内容。工具准备好了,可根据你的个人喜好来选择一些素材,如图片、喜欢的文章等。 二、网页制作设计技巧 首先,我们来看一下创建一个只包含一个网页的站点。选择“文件”菜单的“新建”选项,单击“站点”命令,这时新建站点对话框就弹出来了,在“指定新站点位置”文本框中输入新站点的位置,单击“只有一个网页的站点”图标,单击“确定”按钮。这就建立好站点了,我们现在来看一下新的站点里有什么,单击“视图”工具条的“文件夹”按钮。在文件夹列表里有一个网页文件,名字叫做“index.htm”。我们知道,每

VB做一个简单的图片浏览器,谁有代码

VB做一个简单的图片浏览器,谁有代码? 怎么用VB做一个图片浏览器? 要求做到可以打开图片文件, 可以浏览下一张图片,上一张图片, 可以放大和缩小图片, 最难的是做简略图。 哪个高手有相关代码啊!? 有多少发多少啊!谢谢了。 我是VB新手啊!不太会,呵呵。大家多多帮助啊! 最佳答案 我只会做到下面的代码了.其中: Dir1-目录列表控件 Drive1-驱动器列表控件 File1-文件列表控件 Image1-图像控件 Text1-文本框控件 Option1-单选控件(Caption为"通过单击浏览") Option2-单选控件(Caption为"通过双击浏览") Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Private Sub Drive1_Change() On Error GoTo DriErr Dir1.Path = Drive1.Drive Exit Sub DriErr: If Err.Number = 68 Then If MsgBox("请问要重试还是取消?", vbRetryCancel + vbCritical, "硬盘不存在或光驱没有插入磁盘!") = vbRetry Then Resume 0 Else Drive1.Drive = "C:" Resume Next End If End If End Sub Private Sub File1_Click() If Option2.Value = True Then Exit Sub Dim picFile As String If Right(Dir1.Path, 1) = "\" Then

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、“帮助”菜单中只有“关于记事本”子菜单,主要用于显示该程序的名字,版本等信息。

(vb课程设计)图片浏览器修改

图片浏览器设计报告 学院土木工程学院班级土木工程C076 学号074837 姓名郭少华成绩 一、设计思路 1.要达到的目的 ①培养学生综合利用VB语言进行程序设计的能力,主要是利用VB的标准控件进行设计。 ②能够打开常见类型的图片,自动进行缩放,适应PictureBox的大小。 ③在FileListBox中只列出图片文件。 ④使用StatusBar 控件状态条显示图片文件相关信息,包括图片尺寸(单位:象素)、文件大小和日期等。 ⑤使用HscrollBar控件对图片进行缩放。 ⑤可以轮流显示FileListBox中列出图片文件。 ⑥当图片放大超过窗口大小后,可以提供鼠标移动图片显示。 2.关键问题的解决 ①使用Loadpicture方法在图片框里加载符合格式要求的图片。 ②使用FileListBox方法来显示图片。 ③使用PaintPicture方法和改变滚动条的Value属性,使图片能够缩放。 ④使用Timer事件更改FileListBox的ListCount属性,使图片能自动浏览。 ⑤使用MouseMove事件,在图片过大时,通过鼠标移动使图片显示。 二、模块之间的调用关系,或程序流程图 picture 模 块 hscrollbar 模 块pictureload

三、部分程序关键源代码及注释 Private Sub Form_Load() Drive1.Drive = App.Path Dir1.Path = App.Path 'App 是当前的应用程序对象 File1.Pattern = "*.bmp;*.jpg;*.ico;*.wmf" '在FileListBox中只列出图片文件。 Picture1.AutoSize = True Picture2.AutoSize = True '设定自动缩放,适应PictureBox的大小。 = 2000 = sbrCenter = 1800 = sbrCenter = 2400 = sbrCenter = 3000 = sbrCenter '设定StatusBar的数量和属性 End Sub Private Sub Drive1_Change() On Error Resume Next Dir1.Refresh Dir1.Path = Drive1.Drive If Err.Number = 68 Then Err.Clear MsgBox "先将光盘插入!", , "提示" Exit Sub End If '设定错误提示 End Sub Private Sub Dir1_Change() File1.Path = Dir1.Path End Sub Private Sub File1_Click() If Right(File1.Path, 1) <> "\" Then tempstring = File1.Path & "\" & File1.FileName '非根目录时,路径中的最后加上一个反斜杠"\" Else tempstring = File1.Path & "\" & File1.FileName End If '装入选定的文件。 Picture1.Enabled = True Picture2.Picture = LoadPicture(tempstring) Picture1.PaintPicture Picture2.Picture _ , 0, 0, Picture1.Width, Picture1.Height, _ 0, 0, Picture2.Width, Picture2.Height '设定图片的初始状态。 Picture2.Visible = False mysize = FileLen(Dir1.Path & "\" & File1.FileName) Picture2.ScaleMode = 3

JSP程序设计期末大作业

JSP程序设计期末大作业 1.网站的运行环境 在这次大作业中,我使用的软件是NetBeans IDE 8.0和MySQl,(额外使用了名为Navicat for MySQL的辅助性软件,主要是更方便的测试表的内容) 2.设计思路 这次的网页包括三个三个主页面。 存放登录代码的Pnl1.jsp, 存放主静态页面的pnl3.jsp存放留言信息的,liuyanban.jsp。 以及,存放身份验证的Pnl2.jsp,显示此次留言的liuyan.jsp,修改留言的update.jsp,删除留言的delete.jsp。 3.网站功能模块 4.核心技术 4.1jsp JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它[1]是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP 文件,后缀名为(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。 它实现了Html语法中的java扩展(以<%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。

JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。 Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet 和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 4.2HTML 超级文本标记语言是标准通用标记语言下的一个应用,也是一种规范,一种标准, 它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容(如:文字如何处理,画面如何安排,图片如何显示等)。浏览器按顺序阅读网页文件,然后根据标记符解释和显示其标记的内容,对书写出错的标记将不指出其错误,且不停止其解释执行过程,编制者只能通过显示效果来分析出错原因和出错部位。但需要注意的是,对于不同的浏览器,对同一标记符可能会有不完全相同的解释,因而可能会有不同的显示效果. 4.3CSS 随着HTML的成长,为了满足页面设计者的要求,HTML添加了很多显示功能。但是随着这些功能的增加,HTML变的越来越杂乱,而且HTML页面也越来越臃肿。于是CSS便诞生了。 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。 4.4MySQL ySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属 于Oracle旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在WEB 应用方面,MySQL是最好的RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQL 作为网站数据库。

简易浏览器设计报告

目录 目录 (1) 一、课程设计的目的与要求 (2) 二、题目说明 (2) 2.1程序开发背景................................................................. 错误!未定义书签。 2.2开发工具介绍 (2) 三、总体设计 (2) 3.1.系统开发平台: (2) 这个简易浏览器由Java语言编写,用Eclipse编译执行 (2) 3.2.系统流程图: (3) 3.3功能结构图: (3) 四、详细说明 (4) 4.1 系统实施 (4) 五、遇到的问题和解决方法 (9) 六、课程设计总结 (10)

一、课程设计的目的与要求 加深学生对面向对象概念以及JAVA面向对象程序设计思想的理解和掌握;使学生熟悉开发一个项目的基本过程,培养学生分析问题和解决问题的能力,增强学生的动手能力。为后续学习和应用打下一定的基础。 二、题目说明 本程序实现一个简单的浏览器。用户通过在URL输入框中输入要下载的网络页面的网址,并点击浏览器界面上相应的按钮,或直接按回车键,就能完成网络页面下载的功能。同时,它还支持浏览本地HTML文件,用户在输入框中输入文件所在盘符及具体路径,并按回车键,或者点击界面上相应按钮,实现浏览本地文件的功能。它能够实现页面的文本链接,能够显示网页图片,并能够通过相应按钮的操作返回上一次访问的页面,还可以通过相应按钮返回后退之前访问的页面。该简易浏览器能帮助用户实现基本的网页浏览功能。 2.2开发工具介绍 本课程设计用Java语言编写。Java,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。用Java实现的HotJava浏览器(支持Java applet)显示了Java的魅力:跨平台、动态的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。 三、总体设计 3.1.系统开发平台: 这个简易浏览器由Java语言编写,用Eclipse编译执行

学生信息管理系统java课程设计含源代码完整版

学生信息管理系统j a v a 课程设计含源代码 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

JAVA程序设计课程设计报告 课题: 学生信息管理系统 姓名: 学号: 同组姓名: 专业班级: 指导教师: 1 2 1、功能模块划分 (3) 2、数据库结构描述 (4) 3、系统详细设计文档 (6) 4、各个模块的实现方法描述 (9) 5、测试数据及期望结果 (11)

一、系统描述 1、需求实现的功能 、录入学生基本信息的功能 学生基本信息主要包括:学号、姓名、年龄、出生地、专业、班级总学分,在插入时,如果数据库已经存在该学号,则不能再插入该学号。 、修改学生基本信息的功能 在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。 、查询学生基本信息的功能 可使用“姓名”对已存有的学生资料进行查询。 、删除学生基本信息的功能 在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。 、用户登陆 用不同的登录权限可以进入不同的后台界面,从而实现权限操作。 、用户登陆信息设置 可以修改用户登陆密码 2、设计目的 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的

web网站个人主页课程设计

引言 目录 第一章概述 (1) 1.1 本课题的研究背景 (1) 1.2 本课题的研究意义 (1) 1.3 现行研究存在的问题及解决办法 (1) 1.3.1 需求分析问题 (1) 1.3.2 代码实现问题 (2) 第二章系统分析 (2) 2.1系统需求分析 (2) 2.2 采用的关键技术介绍 (2) 2.2.1 https://www.360docs.net/doc/917812940.html,简介 (2) 2.2.2 Access数据库简介 (3) 2.3 可行性分析 (3) 2.3.1 技术可行性 (3) 2.3.2 操作可行性 (3)

第三章系统概要设计 (5) 3.1 系统总体设计 (5) 3.1.1 运行环境 (5) 3.1.2 系统流程 (5) 3.1.3 系统结构 (6) 3.2 系统接口的概要设计 (7) 3.2.1 用户接口 (7) 3.3 数据库概要设计 (8) 3.3.1 逻辑结构设计 (8) 3.3.2 物理结构设计 (9) 第四章系统详细设计 (10) 4.1 系统界面的详细设计 (10) 4.1.1 普通用户首页的详细设计 (10) 4.1.2 留言界面的详细设计 (11) 4.1.3 后台首页的详细设计 (11) 4.2 数据库详细设计 (12) 4.2.1 表的详细设计 (12) 第五章系统实现 (15) 5.1 系统开发环境 (15) 5.2 系统实现 (15) 5.2.1 客户端系统实现 (15) 5.2.2 后台管理系统实现 (17) 5.3 系统部署 (17) 5.3.1数据库设置 (17) 5.3.2 服务器端运行设置步骤 (18) 第六章性能测试与分析 (19) 参考文献 (20)

系统综合应用开发大作业

2016-2017学年第一学期《系统综合应用开发》大作业课题名称:Hadoop集群搭建及MapReduce应用 班级:13级软工数据库1班 学号:123456 姓名:123456 成绩: 2016年10月

一、Hadoop集群的搭建与配置 1、节点准备 此部分主要描述节点的规划,包括IP的分配,NameNode和DataNode的配置。 1、设置IP 修改/etc/sysconfig/network-scripts/ifcfg-eth0文件: DEVICE=eth0 --网卡名称 BOOTPROTO=static --获取静态IP HW ADDR=00:E0:4C:F8:3B:CE --机器MAC地址 IPADDR=10.8.3.240 --IP NETMASK=255.255.255.0 --子网掩码 NETWORK=10.8.3.254 --默认网关 ONBOOT=yes 2、设置hostname 在所有机器的/etc/hosts 文件下添加: 10.8.3.240 namenode 10.8.3.246 datanode1 10.8.3.239 datanode2 10.8.3.249 datanode3 10.8.3.238 datanode4 10.8.3.251 datanode5 注:为了使机器辨别到hostname,必须重启机器。

2、Java环境安装 1.进入安装目录 cd /home/magic/gshare/linux下构造java开发环境我的文件夹目录为: 2.赋予权限 sudo chmod u+x jdk-6u13-linux-i586.bin 3、执行安装 sudo ./jdk-6u13-linux-i586.bin,进行编译。 接着一直按回车键,直到出现选项:

(完整word版)Java课程设计的图片浏览器的讲解

一.课程设计的任务及要求 二.需求分析 图形化界面(GUI)编程,编写一个图片浏览器程序可以支持““.GIF”,“.JPEG”,“.jpeg”,“.TGA”,“.JPG”,“.jpg”等格式,单张打开图片,可以将同一目录下的图片按缩略图打开按“上一张”“下一张”按钮可以显示相应图片。运行Applet时,图像不是一气呵成的,因为方法不是吧图像完整的装入内存再显示的。于此相反,方法创建一个线程,该线程与Applet的原有线程并发执行,一边装入一边显示,从而产生上了不联需显示的现象。为了提高图像才显示效果,可以采用双缓冲技术:首先把图像装入内存,然后再显示在屏幕上。 三. 设计思路 3.1界面设计 选择图片按钮:主要用dir函数实现图片的遍历。 上一张,下一张:通过做标轴回调函数实现。 由于本软件为单机软件,不需要大量的数据读写和数据交换,实现上、下功能要求只能读取PictureBox控件当前加载的目录,读取当前路径,创建一维数组。 frame = new Frame("PictureViewer"); Panel pb = new Panel(); Button select = new Button("选择图片"); previous = new Button("上一张"); next = new Button("下一张"); select.addActionListener(this); previous.addActionListener(this); 3.2.图像加载: Applet常用来显示储存在文件中的图像,多数Applet使用的是GIF或JPEG 格式的图像文件。需Applet加载图像只需首先定义Image对象,然后使用getImage()方法把图像和文件结合起来即可。 image_width = bi.getWidth(this); image_height = bi.getHeight(this); double image_proportion = 1.0 * image_height / image_width; System.out.println("image: w "+image_width+" ,h "+image_height+" ,p1 "+image_proportion);

Android超炫图片浏览器代码

Android超炫图片浏览器代码 使用过Android自带的gallery组件的人都知道,gallery实现的效果就是拖动浏览一组图片,相比iphone里也是用于拖动浏览图片的coverflow,显然逊色不少。实际上,可以通过扩展gallery,通过伪3D变换可以基本实现coverflow的效果。本文通过源代码解析这一功能的实现。具体代码作用可参照注释。 最终实现效果如下: 要使用gallery,我们必须首先给其指定一个adapter。在这里,我们实现了一个自定义的ImageAdapter,为图片制作倒影效果。 传入参数为context和程序内drawable中的图片ID数组。之后调用其中的createReflectedImages()方法分别创造每一个图像的倒影效果,生成对应的ImageView数组,最后在getView()中返回。 /* * Copyright (C) 2010 Neil Davies * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.360docs.net/doc/917812940.html,/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * This code is base on the Android Gallery widget and was Created * by Neil Davies neild001 'at' gmail dot com to be a Coverflow widget * * @author Neil Davies */ public class ImageAdapter extends BaseAdapter { int mGalleryItemBackground; private Context mContext; private Integer[] mImageIds ;

java(源代码)连连看课程设计

目录 第一章引言 (2) 1.背景 (2) 1.1课程设计内容 (3) 第二章系统介绍 (4) 1.连连看游戏规则 (4) 1.1游戏基本规则 (4) 1.2操作规则 (4) 1.3胜利和失败 (4) 2.游戏流程图分析 (4) 第三章系统游戏设计 (7) 1.系统分析 (7) 1.1游戏系统需求分析 (7) 1.2系统开发及运行环境 (7) 1.3系统功能主要要求 (7) 2.系统总体结构 (8) 3. 系统各模块功能介绍 (8) 第四章系统的具体实现 (9) 1.系统主要运行界面 (9) 1.1运行界面 (9) 1.2执行界面,进入游戏正常运行 (9) 1.3时间到界面 (10) 1.4赢家界面 (11) 1.5进度条界面 (12) 图4.5程序运行进度条 (12) 2.游戏实现代码 (12) 2.1主面板内所需要的组件的声明 (12) 2.2填充一个矩形框,进行显示时间 (12) 2.3主面板及各组件初始化 (13) 2.4创建时间对象,每隔100毫秒刷新一次 (13) 2.5分数代码。 (13) 3.消除图片具体情况 (14) 3.1两次点击相同图片相邻 (14)

3.2水平方向消去算法 (14) 3.3竖直方向消去算法 (15) 第五章程序清单 (16) 第六章结束语 (24) 第七章参考文献 (25) 第一章引言 1.背景 游戏“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。 游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。并于2004年,取得了国家版权局的计算机软件著作权登记证书。 随着Flash应用的流行,网上出现了多种在线Flash版本“连连看”。如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。 2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。 网络小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。连连看游戏就是典型。 不管走到哪个网页游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络、单机休闲小游戏。 游戏《连连看》,只要将相同的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手。游戏速度节奏快,画面清晰可爱,适合细心的玩家。丰富的道具和公共模式的加入,增强游戏的竞争性。多样式的地图,使玩家在各个游戏水平都可以寻找到挑战的目标,长期地保持游戏的新鲜感。 该游戏由30张不同的图片组成,游戏开始将会出现30张随机组合的图片,在规则下点击两张相同的图片后图片将会消失。图片全部消完为游戏成功。游戏还将设置退出,再来一局的按钮,并实现该功能,方便用户进行操作。

ASP设计大作业

《A S P.N E T》 课程大作业 ——学生评教管理系统设计报告 西安石油大学经济管理学院 班级:商务1402 组号:6组 组员:王煊南少兵

第1章系统概述 (1) 第2章相关技术 (2) 第3章系统分析 (3) 第4章系统设计 (4) 第5章系统实现 (5) 第6章总结 (6)

(1)章标题(黑体,小二号,加粗,居中) 每章另起一页!!! (2)节标题(字体,宋体,四号,加粗) (3)目录和正文(字体,宋体,小四号) 正文行间距:20磅 本页显示的内容不要出现在最终提交的报告中(定稿后删掉本页)!!!

第1章系统概述 1.1 系统背景 教育理论与教育实践如何统一是当前教育界亟待解决的问题。教学评估系统是教育理论和教育实践的中间环节,教育评价有助于教育理论与教育实践达到统一。评教系统是在教学的过程中,通过学生在学习过程中的反馈信息,对教师的授课情况的一项调查,目的是为了及时的了解教师与学生之间在教与学的过程中所遇到的问题,有针对性的开展教学工作,提高教学质量。教学评估在高校的整个教学过程中,起着很大的作用。 1.2 开发目的 随着因特网技术的飞速发展为校园带来了全新的信息产业时代,以往的教学评价分析工作将得到彻底的改革和规范。因为过去传统的教学评价与分析方式已经不能满足膨胀的校园信息管理剧增的客观要需求,这就需要一种全新的评价及分析方式—计算机评价分析[2]。利用教学评价系统,可促进教师教学质量评价工作的规范化、程序化,提高工作效率,保证评价工作的质量。以数据库管理系统为核心,以计算机网络为平台,向校内各部门、各教职工提供方便、及时、准确的信息查询,实现数据共享,满足学校各种管理的需要[3]。以此来缓解手工评价及分析的压力,并为学生和教师提供方便快捷的教学评价及分析方式,这对促进学校建设有积极的意义。根据现在的基于Web的学生评教系统的实现功能和应用技术来看,主要呈现以下几点: 1)系统普遍性能较差,工作效率低,数据库陈旧,系统结构不完 善,严重阻碍了教学评价及分析工作的开展。 2)系统自动恢复性能较差,当出现错误时不能迅速恢复。 3)系统内部结构单一,只能处理较少的评价及分析工作,而且登陆 人数有限,不能满足大量用户同时登录使用。 4)系统查询功能单一。 5)系统操作复杂,操作费时方法落后,影响教学评价分析工作的效 率。 因此,新的教学评价分析系统在保留原先系统的优点的同时还要解决以上这些缺点。新的教学评价分析系统性能优秀,结构完善,容易掌握,使教学评价工作更快速更有效地完成。新系统克服了老系统只能处理较少评价的缺点,支持管理员,学生,教师等多种权限的登录,能满足大量用户的使用。而且新的教学评价分析系统操作简单,易于掌握,大大加快了教学评价和分析工作的

基于java的浏览器的设计与实现

基于java的浏览器的设计与实现——GUI界面子系统 摘要 21世纪人们对互联网的依赖越来越大,而网页浏览器作为上网浏览信息所必需的软件之一,已经得到了广泛地应用。在IE占据了大部分浏览器市场的情况下,国内外开发商依然没有放弃这个巨大的市场,各式各样的浏览器被开发出来抢占市场。网页浏览器的开发与应用已成为了计算机领域近年来的一大热点。 本文用软件工程的开发过程,详细论述了浏览器的分析、设计及代码实现,最终实现一个具有能同时浏览多个网页,可查看收藏夹,可以实现打开网页,超链接监听并响应,前进和后退等基本功能的浏览器。本文以一个实际运作的浏览器Browser为主轴介绍浏览器的设计理念与方法,同时讲述浏览器中各个模块如何互相协同运作,来完成一个呈现网页的工作。通过下载JDIC类库,实现了浏览器选项卡,从而达成了一个窗口显示多个网页的目的。收藏夹的实现是将收藏夹集合序列化到数据文件中,这样收藏夹被持久化解决了收藏夹的问题。另外,Java Swing技术也是本文介绍的浏览器所使用的一种主要的技术,通过使用各个组件,并增加监听器和事件处理等操作,最终形成一个具有一定事物处理能力的浏览器的界面部分。 关键词:浏览器,JDIC类库,Java Swing,事件

Based on the design and implementation of a Java browser Abstract In the 21st century, people rely on the Internet is more and more big, the web browser as one of the necessary software, surfing the Internet information has been widely used. In the case of occupying most of the IE browser market, developers still didn't give up the huge market at home and abroad, developed a variety of browser is preempted market. The development and application of web browser has become a focus in the computer field in recent years. In the development process of software engineering, this paper detailed discusses the analysis, design and code implementation of the browser, and ultimately achieve a have to browse multiple web pages at the same time, to view the favorites, can realize open a webpage, hyperlinks to monitor and respond to, the basic function such as forward and backward in the browser. Based on an actual operation of the Browser Browser Browser design concept and method of introduction for main shaft, various modules tells the Browser how to work together with each other at the same time, to finish the work of a rendered page. By downloading the JDIC class library, the realization of the browser TAB, which reached the purpose of a window to display multiple web pages. The realization of the favorites are favorites collection serialized into a data file, this collection double coverlet persistent solved the problem of the favorites. In addition, the Java Swing technology is also introduced in this paper by the browser using a kind of main technology, through the use of the individual components, and adding listeners and event handling operations such as, eventually forming a certain things browser interface part of processing capacity. Keywords:The browser,The JDIC class library,Java Swing,The event

相关文档
最新文档