java相册_精致小巧的java相册制作方法

本文实例为大家分享了java相册制作方法,供大家参考,具体内容如下

e51d8aeb8a8ebdc37f8035439323a247.png

082b347933eb228c71a2b82c2845d503.png

注:

1)html上的图片是静态指定的。当更新了新的图片时必须手工更新。所以使用Servlet读取本地images中的所有图片,动态显示给用户。

2)如果存在中文名的图片,由于get方式无法直接传递中文,会导致出错。

主页面–index.jsp

小小相册

小小相册

上传相片

浏览相片

页面显示:

a07d481523ff1572cdba6ed2238fdda5.png

上传图片功能:

小小相册

小小相册

照片:

说明:

package cn.hncu.servlet;

import java.io.File;

import java.io.IOException;

import java.io.InputStream;

import java.io.PrintWriter;

import java.util.List;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.fileupload.FileItem;

import org.apache.commons.fileupload.FileUploadException;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;

import org.apache.commons.fileupload.servlet.ServletFileUpload;

import org.apache.commons.io.FileUtils;

import cn.hncu.dao.PhotoDaoImpl;

import cn.hncu.domain.PhotoModel;

import cn.hncu.utils.MyUtils;

public class UploadServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

A Servlet");

out.println("

");

out.print("错误信息:提交方式错误...不支持Get方式上传照片");

out.println(" ");

out.println("");

out.flush();

out.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

request.setCharacterEncoding("utf-8");

response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

上传照片页面");

out.println("

");

//从上传表单提取信息:一,封装成photo值对象,调用dao层存储到后台

// 二,把上传的照片存储到服务器硬盘

//数据库:存储照片的存储情况的信息,,,真正的文件存储到硬盘

DiskFileItemFactory dfi=new DiskFileItemFactory();

File file=new File("d:/a");

if(file.exists()){

file.mkdirs();

}

dfi.setRepository(file);

ServletFileUpload upload=new ServletFileUpload(dfi);

upload.setSizeMax(1024*1024*8);

upload.setHeaderEncoding("utf-8");//==>request.setCharacterEncoding("utf-8");

try {

List list=upload.parseRequest(request);

PhotoModel pm=new PhotoModel();

InputStream in=null;

for(FileItem fI:list){

if(fI.isFormField()){//这个不会有临时文件

String desc=fI.getString("utf-8");

pm.setDesc(desc);

}else{

in=fI.getInputStream();

// String filename=fI.getFieldName();

// System.out.println("getFieldName:"+filename);

String fileName=fI.getName();

// System.out.println("getName:"+fileName);//测试:C:\Users\adl1\Pictures\Saved Pictures\111.jpg?

//卫条件

if(fileName==null||fileName.trim().equals("")){

out.println("没有选择文件,,,请必须选择一个文件...
");

String strPath2=request.getContextPath()+"/jsps/upload.jsp";

out.println("返回上传页面");

return;

}

pm.setDt(MyUtils.getCurrentDataime());

String realName=fileName.substring(fileName.lastIndexOf("\\"));//"\112.jpg"

System.out.println(realName.substring(1, realName.length()));

pm.setRealName(realName.substring(1, realName.length()));//把realName的"\"去掉

//ext扩展名

String ext=fileName.substring(fileName.lastIndexOf("."));

pm.setExt(ext);

String id=MyUtils.getUUID();

pm.setId(id);

pm.setIp(request.getRemoteAddr());

pm.setDir(MyUtils.getDir(id));

}

}

//完成photo值对象的封装,调用dao进行存储

boolean boo=new PhotoDaoImpl().sava(pm);

if(boo){

//完成数据库的存储,接下来是服务器硬盘的存储

//把照片存储到项目根目录下的photos文件夹中存储(以打散方式存储)

String path="photos/"+pm.getDir();

// System.out.println("path:"+path);//测试:photos/9/0

String filePath=getServletContext().getRealPath(path);

// System.out.println("filePath:"+filePath);//测试:D:\apache-tomcat-7.0.30\webapps\photosWeb\photos\9\0

File dir=new File(filePath);

if(!dir.exists()){

dir.mkdirs();

}

FileUtils.copyInputStreamToFile(in, new File(filePath+"/"+pm.getId()+pm.getExt()));

// //如果硬盘保存成功就跳转到主页面--转发

RequestDispatcher rd=request.getRequestDispatcher(getServletContext().getContextPath()+"/index.jsp");//"/photosWeb/photosWeb/index.jsp"

// RequestDispatcher rd=request.getRequestDispatcher("/index.jsp");//"/photosWeb/index.jsp"g

// //java代码块和web.xml中url的开始"/"代表项目根目录

// rd.forward(request, response);

//这里不能使用转发,具体重定向和转发区别:http://blog.csdn.net/xanlv/article/details/52701085

//重定向

response.sendRedirect(getServletContext().getContextPath()+"/index.jsp");

}else{

//数据库保存失败--留在上传页面

RequestDispatcher rd=request.getRequestDispatcher("/jsps/upload..jsp");//"/photosWeb/index.jsp"

rd.forward(request, response);

}

} catch (FileUploadException e) {

throw new RuntimeException("上传失败", e);

}finally{//清临时文件

File f=new File("d:/a");

File fs[]=f.listFiles();

for(File ff:fs){

ff.delete();

}

}

out.println(" ");

out.println("");

out.flush();

out.close();

}

}

页面显示效果:

3110172d12c4f7b951feb9c20e964cf7.png

浏览图片功能:

package cn.hncu.servlet;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import cn.hncu.dao.PhotoDaoImpl;

import cn.hncu.domain.PhotoModel;

public class ShowAllImgServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

相册浏览");

out.println("

");

String strPath=request.getContextPath()+"/jsps/upload.jsp";

out.println("返回上传页面");

//String table="

String table="

"

文件名上传日期时间相片相片说明操作";

out.println(table);

//从dao层把所有的照片信息读取出来发送到前端页面

List list=new PhotoDaoImpl().getAllPhotos();

for(PhotoModel pm:list){

out.println("

");

out.println("

"+pm.getRealName());

out.println("

");

out.println("

"+pm.getDt());

out.println("

");

String path=request.getContextPath()+"/photos/"+pm.getDir()+"/"+pm.getId()+pm.getExt();

//System.out.println(path);//"/photosWeb/photos/d/7/e78e18352b42410f85dbd8df834bd718.jpg"

//点击图片可以查看大图

out.println("

%22+path+%22");

out.println("

");

out.println("

"+pm.getDesc());

out.println("

");

out.println("

删除图片");

//out.println("下载图片

");

out.println("下载图片");

out.println("

");

}

out.println("

");

out.println(" ");

out.println("");

out.flush();

out.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

A Servlet");

out.println("

");

out.print("不支持Post方式。。。");

out.println(" ");

out.println("");

out.flush();

out.close();

}

}

页面显示效果:

30c993546420a3e1b38744e8847dba8f.png

删除功能:

package cn.hncu.servlet;

import java.io.File;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import cn.hncu.dao.PhotoDaoImpl;

import cn.hncu.domain.PhotoModel;

public class DelPhotoServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

删除照片页面");

out.println("

");

String id=request.getParameter("id");

String ip=request.getRemoteAddr();

PhotoDaoImpl dao=new PhotoDaoImpl();

PhotoModel pm=dao.getSingleById(id);

if(pm!=null){

if(!pm.getIp().equals(ip)){

out.println("您没有该图片的权限去删除...");

String strPath=request.getContextPath()+"/servlet/showAllImg";

out.println("返回继续浏览");

return ;

}

//删除包含两部分工作:清除数据库中的信息 和 删除服务器硬盘中的图片文件

//1清除数据库中的信息

boolean boo = dao.del(id);

//2删除服务器硬盘中的图片文件

if(boo){

String path="photos/"+pm.getDir()+"/"+pm.getId()+pm.getExt();

String filePath=getServletContext().getRealPath(path);

File f=new File(filePath);

if(f.exists()){

f.delete();

}

String strPath=request.getContextPath()+"/servlet/showAllImg";

// System.out.println(strPath);///photosWeb/servlet/showPhotos

out.println("删除成功...返回浏览");

}else{

out.println("删除数据库信息失败");

}

}else{

out.println("文件不存在...");

String strPath=request.getContextPath()+"/servlet/showAllImg";

out.println("返回继续浏览");

}

out.println(" ");

out.println("");

out.flush();

out.close();

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

删除照片页面");

out.println("

");

out.print("不支持POST方式...");

out.println(" ");

out.println("");

out.flush();

out.close();

}

}

页面显示:

4fa353acb0db2861b14aee6df44d6274.png

9076a4c1bf7cdc4bdf7f9b7aca923719.png

b3dedbf9cb7ead3dda6e4097c756a5ed.png

下载功能:1.在HTML页面上使用超连接指向要下载的文件(不安全容易被盗链)。

问题:

如何确定本地资源?

ServletContext – 代表一个web项目。一个web项目只有一个ServletContext对像。

getRealPath(“/”); //d:/prm/tom/web/

需求分析:在实际的开发中,下载哪一个文件,都是由用户动态选择的。

如,在我们项目images目录下,存在着很多图片文件。用户在页面上显示所有图片,用户可以点下载连接下载喜欢的图片。

详细设计:

使用静态网页显示所有图片。给每一个图片一个下以下载的超连接。

在超连接后面传递要下载的图片id。

在serivice中动态接收图片名。完成下载 。

package cn.hncu.servlet;

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.io.PrintWriter;

import java.net.URLEncoder;

import javax.servlet.RequestDispatcher;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.commons.io.FileUtils;

import cn.hncu.dao.PhotoDaoImpl;

import cn.hncu.domain.PhotoModel;

public class DownServlet extends HttpServlet {

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

//获取被下载图片的信息

tring id=request.getParameter("id");

PhotoModel pm=new PhotoDaoImpl().getSingleById(id);

if(pm==null){

response.setContentType("text/html;charset=utf-8");

PrintWriter out = response.getWriter();

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

A Servlet");

out.println("

");

response.getWriter().println("alert('该文本已不存在...')");

out.println(" ");

out.println("");

out.flush();

out.close();

//getServletContext().getContextPath()

RequestDispatcher rd=request.getRequestDispatcher("/servlet/down");//"/photosWeb/index.jsp"

//java代码块和web.xml中url的开始"/"代表项目根目录

rd.forward(request, response);

}else{

//真正下载: 把服务器硬盘的照片文件读取出来发送给客户端(设置响应头)

//获取真实的文件

String realName=pm.getRealName();

realName=URLEncoder.encode(realName, "utf-8");//如果是中文名必须转码,防止文件名中文乱码

// InputStream in=DownServlet.class.getClassLoader().getResourceAsStream(realName);

//设置显示类型为下载

response.setContentType("application/force-download");

//设置响应头

response.setHeader("content-Disposition", "attachment;filename=\""+realName+"\"");

// String path=request.getContextPath()+"/photos/"+pm.getDir()+"/"+pm.getId()+pm.getExt();

String path="photos/"+pm.getDir()+"/"+pm.getId()+pm.getExt();

String filePath=getServletContext().getRealPath(path);

FileUtils.copyInputStreamToFile(request.getInputStream(), new File(filePath));

InputStream in=new FileInputStream(filePath);

OutputStream o=response.getOutputStream();

byte b[]=new byte[1024];

int len=0;

while((len=in.read(b))!=-1){

o.write(b, 0, len);

}

o.close();

}

}

public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

out.println("");

out.println("

A Servlet");

out.println("

");

out.print(" 不支持");

out.println(" ");

out.println("");

out.flush();

out.close();

}

}

页面显示效果:

7b40a38b99c0059aae7523b11eb4af53.png

配置文件web.xml

xmlns="http://java.sun.com/xml/ns/javaee"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">

UploadServlet

cn.hncu.servlet.UploadServlet

ShowAllImgServlet

cn.hncu.servlet.ShowAllImgServlet

DownServlet

cn.hncu.servlet.DownServlet

DelPhotoServlet

cn.hncu.servlet.DelPhotoServlet

UploadServlet

/servlet/uploadServlet

ShowAllImgServlet

/servlet/showAllImg

DownServlet

/servlet/down

DelPhotoServlet

/servlet/delPhoto

index.jsp

数据库:photos.xml

值对象:PhotoModel.java

package cn.hncu.domain;

public class PhotoModel {

//photo值对象

private String id;//UUID

private String realName;//照片真实文件名

private String ext;//扩展名

private String dir;//文件打撒后存储的目录

private String dt;//上传日期时间

private String ip;//上传客户端的ip地址

private String desc;//照片说明

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getRealName() {

return realName;

}

public void setRealName(String realName) {

this.realName = realName;

}

public String getExt() {

return ext;

}

public void setExt(String ext) {

this.ext = ext;

}

public String getDir() {

return dir;

}

public void setDir(String dir) {

this.dir = dir;

}

public String getDt() {

return dt;

}

public void setDt(String dt) {

this.dt = dt;

}

public String getIp() {

return ip;

}

public void setIp(String ip) {

this.ip = ip;

}

public String Dreturn desc;

}

public void setDesc(String desc) {

this.desc = desc;

}

}

dao层:这里简写了,只写了实现类PhotoDaoImpl.java

package cn.hncu.dao;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

import org.dom4j.Document;

import org.dom4j.Element;

import cn.hncu.domain.PhotoModel;

import cn.hncu.utils.DomFactory;

public class PhotoDaoImpl {

public boolean sava(PhotoModel pm){

Document dom=DomFactory.getDom();

Element root=dom.getRootElement();

Element e=root.addElement("photo");

e.addAttribute("id", pm.getId());

e.addAttribute("dir", pm.getDir());

e.addAttribute("dt", pm.getDt());

e.addAttribute("ext", pm.getExt());

e.addAttribute("ip", pm.getIp());

e.addAttribute("realName", pm.getRealName());

e.addElement("desc").setText(pm.getDesc());

boolean b=DomFactory.save();

if(b){

return true;

}

return false;

}

public List getAllPhotos(){

List li=new ArrayList();

Document dom=DomFactory.getDom();

Element e=dom.getRootElement();

Iterator it=e.elementIterator();

while(it.hasNext()){

Element ie=it.next();

PhotoModel pm=new PhotoModel();

pm.setId(ie.attributeValue("id"));

pm.setDir(ie.attributeValue("dir"));

pm.setDt(ie.attributeValue("dt"));

pm.setExt(ie.attributeValue("ext"));

pm.setIp(ie.attributeValue("ip"));

pm.setRealName(ie.attributeValue("realName"));

pm.setDesc(ie.elementText("desc"));

li.add(pm);

}

return li;

}

public PhotoModel getSingleById(String id){

List li=getAllPhotos();

PhotoModel pm=new PhotoModel();

for(PhotoModel p:li){

if(p.getId().equals(id)){

return p;

}

}

return null;

}

public boolean del(String id) {

Document dom=DomFactory.getDom();

Element e=(Element) dom.selectSingleNode("//photo[@id='"+id+"']");

return e.getParent().remove(e);

}

}

工具类:

1.

package cn.hncu.utils;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.UUID;

public class MyUtils {

private MyUtils() {

}

public static String getUUID(){

return UUID.randomUUID().toString().replace("-", "");

}

private static SimpleDateFormat sdf=new SimpleDateFormat("yy-MM-dd HH:mm:ss");

public static String getCurrentDataime(){

return sdf.format(new Date());

}

public static String getDir(String uuid){

String dir1=Integer.toHexString(uuid.hashCode()&0xf);

String dir2=Integer.toHexString((uuid.hashCode()&0xf0)>>4);

return dir1+"/"+dir2;

}

}

2.

package cn.hncu.utils;

import java.io.FileOutputStream;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.io.SAXReader;

import org.dom4j.io.XMLWriter;

public class DomFactory {

private static Document dom;

private static String fileName;

static{

try {

SAXReader r=new SAXReader();

//获取src下的资源文件

fileName=DomFactory.class.getClassLoader().getResource("photos.xml").getPath();

System.out.println("users.xml的路径:"+fileName);//"/D:/apache-tomcat-7.0.30/webapps/photosWeb/WEB-INF/classes/photos.xml"

//注意:获取tomcat中当前项目classpath下的资源方式

dom=r.read(fileName);

} catch (DocumentException e) {

e.printStackTrace();

}

}

public static Document getDom(){

return dom;

}

public static boolean save(){

XMLWriter w;

try {

w = new XMLWriter(new FileOutputStream(fileName));

w.write(dom);

w.close();

return true;

} catch (Exception e) {

return false;

}

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/245104.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用python画分形图_使用 Python 绘制 Mandelbrot 分形图

以前收集的关于Mandelbrot分形图的Python脚本,Mandelbrot集合的图像因它洛可可式繁复卷曲华丽的风格而受到大众的欣赏和赞叹,与其他分形图案一起,是许多艺术家和设计师的灵感来源。 是由于今天个人电脑计算能力的强大,才有可能让我…

java sound api_Java Sound API

Java Sound API是javaSE平台提供底层的(low-level)处理声音接口。例外,java也提供了简单的实用的高层媒体接口(higher-level) - JMF(Java Media Framework)。Java Sound API 将需要处理的数字音频分为:simpled-audio和midi,分别提供Package来…

java实现的小程序_Java实现 微信小程序 + 消息推送

实现效果:下面要显示五个字段接下来,参照官方文档,一步步实现:一、官方给出请求示例、返回示例二、根据上面编写实体类(1)请求参数Datapublic class SendTemplateReq {/*** 接收者(用户)的 openid*/private String touser;/*** 所…

vb excel 整行删除_Excel中常用的批量处理都不掌握,那就真的Out了

针对一些有规律,能批量处理的数据,必须采用批量处理的方法,否则对于工作效率就会有很大的影响。今天我们来学习的内容是Excel中的6个批量处理技巧。一、Excel批量技巧:批量求和。目的:按照“季度”和“产品”两个维度计…

exe编辑器_【小功能】Unreal Editor中调用exe

后续文章更新移步→微信公众号“虚幻社区”(mantra-xhsq),您的支持是我创作的动力。在程序界混,哪能碰上不改需求的策划 --Mantra最近遇到了一个奇葩的需求,在Unreal Editor的Toolbar中添加一个快捷键,可以…

html select选择事件_按键精灵的Html系列命令实战讲解

金猪脚本(原飞猪脚本)以按键精灵教学为主,涉及UiBot,Python,Lua等脚本编程语言,教学包括全自动办公脚本,游戏辅助脚本,引流脚本,网页脚本,安卓脚本,IOS脚本,注册脚本,点赞脚本,阅读脚本以及网赚脚本等各个领域。想学习按键精灵的朋友可以添加金猪脚本粉丝交流群:554…

java 验证码_java学习之web基础(6):使用Response的输出流在页面输出验证码

package 输出并且我们可以写一个简单的网页&#xff0c;来实现点击更新验证码<!DOCTYPE html>

java socket编程实现聊天程序_java Socket编程 聊天程序 服务器端和客户端

[java]代码库package com.gufengxiachen.sthreadchatapp;/*** author GUXIA*/import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;imp…

电商前台模板中文html5_跨境电商平台上产品如何上传?虾皮新版批量上传工具使用指南分享...

大家好&#xff0c;这里是天师跨境&#xff0c;今天来为电商新人们解答一下关于如何在跨境电商平台上上传产品的疑惑&#xff0c;顺便介绍一下虾皮跨境平台的新版批量上传工具是如何使用的。在跨境电商平台上开店的新手们在入驻成功后&#xff0c;一般最先面临的问题就是上传产…

移动端 关闭浏览器事件_前端开发中什么是移动端点透事件?

点透事件&#xff1a;是指两个元素其中一个元素具有默认的点击事件&#xff0c;当我们让不具有点击事件的元素隐藏起来&#xff0c;会触发另一个元素的点击事件&#xff0c;这种行为被称之为点透事件。如下图所示&#xff1a;当我们给div元素添加touchstart事件让div元素隐藏起…

清除浏览器缓存之后为什么还是显示旧的html页面_Web缓存控制策略详解

管理Web缓存的最常用和最有效的方法之一是通过Cache-Control HTTP标头&#xff0c;由于此标头适用于Web页面的缓存&#xff0c;这意味着我们页面上的所有内容都可以具有非常精细化的缓存策略。通过各种自定义策略&#xff0c;我们控制的策略就可以变得非常复杂和强大。Cache-Co…

java jtextfield 事件_JAVA JTextField事件处理

初学JAVA&#xff0c;笔记&#xff1a;package windows;import javax.swing.*;import java.awt.*;import java.awt.event.*;class WindowFlow extends JFrame implements ActionListener{private static final long serialVersionUID 1L;JTextField text1,text2;WindowFlow(St…

js封装函数_JavaScript基础-如何封装函数来改变元素的位置

点击右上方红色按钮关注“小郑搞码事”&#xff0c;每天都能学到知识&#xff0c;搞懂一个问题&#xff01;大家好&#xff01;我是/小郑搞码事/的小郑今天给大家分享JavaScript的基础知识-改变元素的位置。没错&#xff0c;用JS实现过动画的同学都应该了解一点&#xff0c;简单…

java程序设计与实践教程 王薇 doc_Java程序设计与实践教程 王薇主编 答案

Java程序设计与实践教程 王薇 主编 董迎红 副主编 课后习题 答案第1章 JAVA简介一、判断题1.√ 2.√ 3. 4. 5. 6.√ 7.√ 8.√ 9. 10.二、填空题1.Application Applet 2. 类(字节码文件、目标文件) .class3.对象 4. 主 5. J2SE J2EE J2ME三、选择题1.B 2. D 3.B 4.B 5. A四、简…

maya藤蔓插件_Maya特效制作之植物生长动画制作教程(二)之多条藤蔓动画制作...

四、制作多条蔓藤植物下面我们要让很多植物在这个“崖壁”上生长出来&#xff0c;也就是要重复很多次前面的工作&#xff0c;当然可以这样一步一步地做&#xff0c;在“崖壁”面片上手动画很多的线&#xff0c;但下面尝试一种新的方法来制作&#xff0c;让粒子在“崖壁”面片Pl…

mysql数据库导入导出_MySQL数据库导入导出详解

MySQL数据库的导入&#xff0c;有两种方法&#xff1a;1) 先导出数据库SQL脚本&#xff0c;再导入&#xff1b;2) 直接拷贝数据库目录和文件。在不同操作系统或MySQL版本情况1. 概述MySQL数据库的导入&#xff0c;有两种方法&#xff1a;1) 先导出数据库SQL脚本&#xff0c;再导…

代码统计工具有哪几种_跟我学“Linux”小程序Web版开发(四):引入统计及Crash收集...

在完成了产品的基础开发以后&#xff0c;接下来需要进行一些周边的工作&#xff0c;这些周边工具将会帮助下一步优化产品。在完成了产品的基础开发以后&#xff0c;接下来需要进行一些周边的工作&#xff0c;这些周边工具将会帮助下一步优化产品。为什么要加应用统计和 Crash 收…

错误:不能继续进行下一步操作 openfire 设置._如何为MacBook或Mac电脑恢复出厂设置...

mac电脑经过长时间的使用后会变得卡顿&#xff0c;或者因为部分操作方式改变以至于给我们在使用过程中造成障碍&#xff0c;此时我们可以进行恢复出厂设置&#xff0c;以此来解决部分问题。那么该如何为MacBook或Mac电脑恢复出厂设置呢&#xff1f;下面跟随小编来一起学习一下吧…

mac显示网速_Mac网络流量监控工具——NetWorker pro

NetWorker pro for Mac是Mac系统上一款轻量级的网速实时监测软件&#xff0c;可以让用户在菜单栏上显示当前的网络上传下载速度&#xff0c;可以在速度和流量两种模式之间切换&#xff0c;也可以选择不同的网络模式来进行监测。此外&#xff0c;networker mac还提供有关当前活动…

matlab gui学习手记_MATLAB论坛不可错过的30例GUI源代码

​过去的两年中&#xff0c;我经常会在微信公众号和知乎上分享&#xff0c;平时如何通过MATLAB制作GUI&#xff0c;来让自己的工作和生活更加便捷与高效。在分享的同时&#xff0c;有不少朋友会给我留言提问关于MATLAB GUI的问题。而其中的许多问题&#xff0c;其实都是能够在M…