精华内容
下载资源
问答
  • 我们要想制作好网站其实是离不开网站代码的HTML,我们在制作网站的时候是需要用到一些常用的网页开发工具,才能完成我们网页的编写,那么,你知道制作网站常用的网页开发工具有哪些吗?不清楚的话,下面小编和你说一...

    我们要想制作好网站其实是离不开网站代码的HTML,我们在制作网站的时候是需要用到一些常用的网页开发工具,才能完成我们网页的编写,那么,你知道制作网站常用的网页开发工具有哪些吗?不清楚的话,下面小编和你说一说吧!

    472a0d6f08b32120b09d2a18be2e3fbb.png

    一.Microsoft企业的FrontPage

    运用开发环境可进一步提高定编互联网教学课件的高效率.现阶段,国际性上较为时兴的Web页软件制作大概能够分成两大类:编码型和眼见为实型.编码型的软件制作要程序编写,针对新手而言要想马上入门较为艰难.Microsoft企业的FrontPage就不一样了,它做为一种眼见为实型的意味着手机软件,能够使使用人的工作效能足以挺大提升.FrontPage2000是Office2000大家族的一员,承袭着Office的设计风格.因此用到Word的人非常容易学好FrontPage.

    二.Macromedia企业的Dreamweaver

    Dreamweaver是MACROMEDIA企业开发设计的集网页设计和管理方法网站于一身的眼见为实网页编辑器,它是靠前套对于技术专业网站设计师非常发展趋势的视觉效果化网页开发工具,运用它能够易如反掌地制做出超越服务平台限定和超越电脑浏览器限定的填满炫酷的网页页面.

    Dreamweaver的特性

    ·数据可视化的技术专业网页编辑器

    ·友善的工作中页面

    ·网站管理方法作用

    ·强劲的多媒体系统解决作用

    ·出示个人行为等控制来开展动漫解决和造成互动式回应

    ·和Macromedia企业第三方软件(Fireworks,Flash)的更佳合作

    Dreamweaver能够非常好地操纵HTML原代码,而不容易造成废弃物编码.Dreamweaver有一个很奇妙的专用工具-层.层的嵌套循环、层的由此可见性、层的重合,与时间轴相互配合能够做出很多动画特效,使网页页面越来越绚丽多彩,生动有趣.

    个人行为Behaviors是Dreamweaver中很有特点的作用,在网页页面中应用能够造成互动交流的实际效果,提高网页页面的易用性.如Dreamweaver中有一个个人行为叫Draglayer(拖拽层),用它能够设计方案出拼图小游戏等.将正确答案拖到恰当的部位上.与JavaScript启用融合在一起完成一定的作用,如弹出来一个对话框,分辨对错.

    用Dreamweaver的谷歌扩展程序CourseBulider,能够很便捷地建立互动式教学课件。如单选题、填空、拖拽题、记时器等。运用Dreamweaver的模版作用、反复构件库能够进一步提高互联网教学课件的制做高效率。

    Flash和Fireworks都完成了与Dreamweaver的无缝拼接集成化,能够在Dreamweaver中便捷地插进Flash动漫和Fireworks转化成的图象.

    前沿版MacromediaDreamweaverMX,更强适用对Web站点、Web页和Web程序运行开展设计方案、编号和开发设计。不管您喜爱立即撰写HTML编码的掌控感還是钟爱在数据可视化编写工作环境,DreamweaverMX都是为您出示协助甚多的专用工具,丰富多彩您的Web写作感受。

    882130232247fc634064c97425823658.png

    运用DreamweaverMX中的数据可视化编写作用,您能够迅速地建立网页页面而不用撰写一切编码。但是,假如您更喜欢用手工制作立即编号,DreamweaverMX还包含很多与编号有关的专用工具和作用。而且,依靠DreamweaverMX,您还能够应用网络服务器語言(比如ASP、ASP.NET、ColdFusion编译语言(CFML)、JSP和PHP)转化成适用动态性数据库查询的Web程序运行。

    您能够查询全部网站原素或資源并将他们从便于应用的控制面板立即拖到文本文档中。您能够在MacromediaFireworks中建立和编写图象,随后将他们立即导进Dreamweaver,或是立即在Dreamweaver中加上MacromediaFlash目标,进而提升您的开发设计工作内容。

    DreamweaverMX还包含多种多样与编号有关的专用工具和作用,在其中包含编码主视图中的代码编辑专用工具(如编码加色和标识进行);相关HTML、CSS、JavaScript、CFML、ASP和JSP的参考文献及其一个JavaScript程序调试。MacromediaMX的可随意导入导出HTML技术性可导进您手工制作编号的HTML文本文档而不容易再次设定编码的文件格式,您能够接着用您优选的文件格式设定款式来再次设定编码的文件格式。

    DreamweaverMX如今包括并拓展了MacromediaUltraDev中的全部作用,以协助您应用ASP、ASP.NET、ColdFusion编译语言(CFML)、JSP和PHP等网络服务器語言来转化成由动态性数据库查询适用的Web程序运行。

    DreamweaverMX能够彻底自定。您能够建立您自身的目标和指令,改动键盘快捷方法,乃至撰写JavaScript编码,用新的个人行为、特性查验器和网站汇报来拓展Dreamweaver的作用。

    三.网页设计专用工具的综合性应用

    Microsoft企业的FrontPage和Macromedia企业的Dreamweaver是应用数多的HTML网页设计专用工具。他们都适用多种多样新闻媒体种类,能够根据ActiveX界定插口,与脚本制作计算机语言JavaScript和VBScript相互配合,建立动态性互动的Web教学管理系统。非常非常值得强调的是,Macromedia的Dreamweaver及其Flash和Fireworks一起被大家称之为网页设计三剑客,三者的有机结合,能够说成现阶段方便使用、功能齐全的网站管理方法及HTML网页页面制做专用工具。

    可以用Macromedia的Fireworks图形设计并使网页页面图型较优控制。Fireworks应用一整套的位图文件及矢量素材专用工具来建立、编写而且动态性转化成互联网图型,并能够輸出到Dreamweaver以及他的HTML代码编辑手机软件中。根据在Dreamweaver或Flash中立即对Fireworks开展启用、编写图型来完成顺畅的工作内容。

    Macromedia的Flash是制作动画及矢量图格式的软件工具。用它制做的动漫是窄带动漫,合适于数据传输的Web页面,很多线上观众们全是根据FlashPlayer收看用Flash制做的內容。

    49da3458058ea4a7092dfd2c05cb089d.png

    四.Java开发环境

    应挑选可扩展性好的开发环境。如JDK。

    尽管Java程序流程的可扩展性好,但其也取决于应用的开发环境,假如应用了一些编程工具自身出示的拓展作用,则将会会减少可扩展性。

    五.数据库查询的挑选

    以上就是关于制作网站常用的网页开发工具有哪些的介绍,感谢您的阅读!

    展开全文
  • java web开发的基本工具java JDK
  • 我们要想制作好网站其实是离不开网站代码的HTML,我们在制作网站的时候是需要用到一些常用的网页开发工具,才能完成我们网页的编写,那么,你知道制作网站常用的网页开发工具有哪些吗?不清楚的话,下面小编和你说一...

    我们要想制作好网站其实是离不开网站代码的HTML,我们在制作网站的时候是需要用到一些常用的网页开发工具,才能完成我们网页的编写,那么,你知道制作网站常用的网页开发工具有哪些吗?不清楚的话,下面小编和你说一说吧!

    472a0d6f08b32120b09d2a18be2e3fbb.png

    一.Microsoft企业的FrontPage

    运用开发环境可进一步提高定编互联网教学课件的高效率.现阶段,国际性上较为时兴的Web页软件制作大概能够分成两大类:编码型和眼见为实型.编码型的软件制作要程序编写,针对新手而言要想马上入门较为艰难.Microsoft企业的FrontPage就不一样了,它做为一种眼见为实型的意味着手机软件,能够使使用人的工作效能足以挺大提升.FrontPage2000是Office2000大家族的一员,承袭着Office的设计风格.因此用到Word的人非常容易学好FrontPage.

    二.Macromedia企业的Dreamweaver

    Dreamweaver是MACROMEDIA企业开发设计的集网页设计和管理方法网站于一身的眼见为实网页编辑器,它是靠前套对于技术专业网站设计师非常发展趋势的视觉效果化网页开发工具,运用它能够易如反掌地制做出超越服务平台限定和超越电脑浏览器限定的填满炫酷的网页页面.

    Dreamweaver的特性

    ·数据可视化的技术专业网页编辑器

    ·友善的工作中页面

    ·网站管理方法作用

    ·强劲的多媒体系统解决作用

    ·出示个人行为等控制来开展动漫解决和造成互动式回应

    ·和Macromedia企业第三方软件(Fireworks,Flash)的更佳合作

    Dreamweaver能够非常好地操纵HTML原代码,而不容易造成废弃物编码.Dreamweaver有一个很奇妙的专用工具-层.层的嵌套循环、层的由此可见性、层的重合,与时间轴相互配合能够做出很多动画特效,使网页页面越来越绚丽多彩,生动有趣.

    个人行为Behaviors是Dreamweaver中很有特点的作用,在网页页面中应用能够造成互动交流的实际效果,提高网页页面的易用性.如Dreamweaver中有一个个人行为叫Draglayer(拖拽层),用它能够设计方案出拼图小游戏等.将正确答案拖到恰当的部位上.与JavaScript启用融合在一起完成一定的作用,如弹出来一个对话框,分辨对错.

    用Dreamweaver的谷歌扩展程序CourseBulider,能够很便捷地建立互动式教学课件。如单选题、填空、拖拽题、记时器等。运用Dreamweaver的模版作用、反复构件库能够进一步提高互联网教学课件的制做高效率。

    Flash和Fireworks都完成了与Dreamweaver的无缝拼接集成化,能够在Dreamweaver中便捷地插进Flash动漫和Fireworks转化成的图象.

    前沿版MacromediaDreamweaverMX,更强适用对Web站点、Web页和Web程序运行开展设计方案、编号和开发设计。不管您喜爱立即撰写HTML编码的掌控感還是钟爱在数据可视化编写工作环境,DreamweaverMX都是为您出示协助甚多的专用工具,丰富多彩您的Web写作感受。

    882130232247fc634064c97425823658.png

    运用DreamweaverMX中的数据可视化编写作用,您能够迅速地建立网页页面而不用撰写一切编码。但是,假如您更喜欢用手工制作立即编号,DreamweaverMX还包含很多与编号有关的专用工具和作用。而且,依靠DreamweaverMX,您还能够应用网络服务器語言(比如ASP、ASP.NET、ColdFusion编译语言(CFML)、JSP和PHP)转化成适用动态性数据库查询的Web程序运行。

    您能够查询全部网站原素或資源并将他们从便于应用的控制面板立即拖到文本文档中。您能够在MacromediaFireworks中建立和编写图象,随后将他们立即导进Dreamweaver,或是立即在Dreamweaver中加上MacromediaFlash目标,进而提升您的开发设计工作内容。

    DreamweaverMX还包含多种多样与编号有关的专用工具和作用,在其中包含编码主视图中的代码编辑专用工具(如编码加色和标识进行);相关HTML、CSS、JavaScript、CFML、ASP和JSP的参考文献及其一个JavaScript程序调试。MacromediaMX的可随意导入导出HTML技术性可导进您手工制作编号的HTML文本文档而不容易再次设定编码的文件格式,您能够接着用您优选的文件格式设定款式来再次设定编码的文件格式。

    DreamweaverMX如今包括并拓展了MacromediaUltraDev中的全部作用,以协助您应用ASP、ASP.NET、ColdFusion编译语言(CFML)、JSP和PHP等网络服务器語言来转化成由动态性数据库查询适用的Web程序运行。

    DreamweaverMX能够彻底自定。您能够建立您自身的目标和指令,改动键盘快捷方法,乃至撰写JavaScript编码,用新的个人行为、特性查验器和网站汇报来拓展Dreamweaver的作用。

    三.网页设计专用工具的综合性应用

    Microsoft企业的FrontPage和Macromedia企业的Dreamweaver是应用数多的HTML网页设计专用工具。他们都适用多种多样新闻媒体种类,能够根据ActiveX界定插口,与脚本制作计算机语言JavaScript和VBScript相互配合,建立动态性互动的Web教学管理系统。非常非常值得强调的是,Macromedia的Dreamweaver及其Flash和Fireworks一起被大家称之为网页设计三剑客,三者的有机结合,能够说成现阶段方便使用、功能齐全的网站管理方法及HTML网页页面制做专用工具。

    可以用Macromedia的Fireworks图形设计并使网页页面图型较优控制。Fireworks应用一整套的位图文件及矢量素材专用工具来建立、编写而且动态性转化成互联网图型,并能够輸出到Dreamweaver以及他的HTML代码编辑手机软件中。根据在Dreamweaver或Flash中立即对Fireworks开展启用、编写图型来完成顺畅的工作内容。

    Macromedia的Flash是制作动画及矢量图格式的软件工具。用它制做的动漫是窄带动漫,合适于数据传输的Web页面,很多线上观众们全是根据FlashPlayer收看用Flash制做的內容。

    49da3458058ea4a7092dfd2c05cb089d.png

    四.Java开发环境

    应挑选可扩展性好的开发环境。如JDK。

    尽管Java程序流程的可扩展性好,但其也取决于应用的开发环境,假如应用了一些编程工具自身出示的拓展作用,则将会会减少可扩展性。

    五.数据库查询的挑选

    以上就是关于制作网站常用的网页开发工具有哪些的介绍,感谢您的阅读!

    展开全文
  • Jsoup是一个非常好的解析网页的包,用Java开发的,提供了类似DOM,CSS选择器的方式来查找和提取文档中的内容。相关资料如下:今天做了一个Jsoup解析网站的项目,使用Jsoup.connect(url).get()连接某网站时偶尔会出现...

    Jsoup是一个非常好的解析网页的包,用Java开发的,提供了类似DOM,CSS选择器的方式来查找和提取文档中的内容。

    相关资料如下:

    今天做了一个Jsoup解析网站的项目,使用Jsoup.connect(url).get()连接某网站时偶尔会出现

    java.net.SocketTimeoutException:Read timed out异常。

    原因是默认的Socket的延时比较短,而有些网站的响应速度比较慢,

    所以会发生超时的情况。

    解决方法:

    链接的时候设定超时时间即可。

    doc = Jsoup.connect(url).timeout(5000).get();

    5000表示延时时间设置为5s。

    测试代码如下:

    1,不设定timeout时:

    packagejsoupTest;

    importjava.io.IOException;

    importorg.jsoup.*;

    importorg.jsoup.helper.Validate;

    importorg.jsoup.nodes.Document;

    importorg.jsoup.nodes.Element;

    importorg.jsoup.select.Elements;

    publicclassJsoupTest {

    publicstaticvoidmain(String[] args)throwsIOException{

    String url = "http://www.weather.com.cn/weather/101010400.shtml";

    longstart = System.currentTimeMillis();

    Document doc=null;

    try{

    doc = Jsoup.connect(url).get();

    }

    catch(Exception e){

    e.printStackTrace();

    }

    finally{

    System.out.println("Time is:"+(System.currentTimeMillis()-start) +"ms");

    }

    Elements elem = doc.getElementsByTag("Title");

    System.out.println("Title is:"+elem.text());

    }

    }

    package jsoupTest;

    import java.io.IOException;

    import org.jsoup.*;

    import org.jsoup.helper.Validate;

    import org.jsoup.nodes.Document;

    import org.jsoup.nodes.Element;

    import org.jsoup.select.Elements;

    public class JsoupTest {

    public static void main(String[] args) throws IOException{

    String url = "http://www.weather.com.cn/weather/101010400.shtml";

    long start = System.currentTimeMillis();

    Document doc=null;

    try{

    doc = Jsoup.connect(url).get();

    }

    catch(Exception e){

    e.printStackTrace();

    }

    finally{

    System.out.println("Time is:"+(System.currentTimeMillis()-start) + "ms");

    }

    Elements elem = doc.getElementsByTag("Title");

    System.out.println("Title is:" +elem.text());

    }

    }

    有时发生超时:

    java.net.SocketTimeoutException: Read timed out

    at java.net.SocketInputStream.socketRead0(Native Method)

    at java.net.SocketInputStream.read(Unknown Source)

    at java.net.SocketInputStream.read(Unknown Source)

    at java.io.BufferedInputStream.fill(Unknown Source)

    at java.io.BufferedInputStream.read1(Unknown Source)

    at java.io.BufferedInputStream.read(Unknown Source)

    at sun.net.www.http.ChunkedInputStream.fastRead(Unknown Source)

    at sun.net.www.http.ChunkedInputStream.read(Unknown Source)

    at java.io.FilterInputStream.read(Unknown Source)

    at sun.net.www.protocol.http.HttpURLConnection$HttpInputStream.read(Unknown Source)

    at java.util.zip.InflaterInputStream.fill(Unknown Source)

    at java.util.zip.InflaterInputStream.read(Unknown Source)

    at java.util.zip.GZIPInputStream.read(Unknown Source)

    at java.io.BufferedInputStream.read1(Unknown Source)

    at java.io.BufferedInputStream.read(Unknown Source)

    at java.io.FilterInputStream.read(Unknown Source)

    at org.jsoup.helper.DataUtil.readToByteBuffer(DataUtil.java:113)

    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:447)

    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:393)

    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:159)

    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:148)

    at jsoupTest.JsoupTest.main(JsoupTest.java:17)

    Time is:3885ms

    Exception in thread "main" java.lang.NullPointerException

    at jsoupTest.JsoupTest.main(JsoupTest.java:25)

    2,设定了则一般不会超时

    packagejsoupTest;

    importjava.io.IOException;

    importorg.jsoup.*;

    importorg.jsoup.helper.Validate;

    importorg.jsoup.nodes.Document;

    importorg.jsoup.nodes.Element;

    importorg.jsoup.select.Elements;

    publicclassJsoupTest {

    publicstaticvoidmain(String[] args)throwsIOException{

    String url = "http://www.weather.com.cn/weather/101010400.shtml";

    longstart = System.currentTimeMillis();

    Document doc=null;

    try{

    doc = Jsoup.connect(url).timeout(5000).get();

    }

    catch(Exception e){

    e.printStackTrace();

    }

    finally{

    System.out.println("Time is:"+(System.currentTimeMillis()-start) +"ms");

    }

    Elements elem = doc.getElementsByTag("Title");

    System.out.println("Title is:"+elem.text());

    }

    }

    package jsoupTest;

    import java.io.IOException;

    import org.jsoup.*;

    import org.jsoup.helper.Validate;

    import org.jsoup.nodes.Document;

    import org.jsoup.nodes.Element;

    import org.jsoup.select.Elements;

    public class JsoupTest {

    public static void main(String[] args) throws IOException{

    String url = "http://www.weather.com.cn/weather/101010400.shtml";

    long start = System.currentTimeMillis();

    Document doc=null;

    try{

    doc = Jsoup.connect(url).timeout(5000).get();

    }

    catch(Exception e){

    e.printStackTrace();

    }

    finally{

    System.out.println("Time is:"+(System.currentTimeMillis()-start) + "ms");

    }

    Elements elem = doc.getElementsByTag("Title");

    System.out.println("Title is:" +elem.text());

    }

    }

    输出为:

    Time is:4158ms Title is:顺义天气预报-今日_明日_一周天气预报:16日星期五  多云转晴  11/-4℃

    展开全文
  • 我们大家都知道, JCreator 是一个Java程序开发...Java开发工具jcreator是一个很好的开发工具,但这软件是收费的,但我的这一个款是破解版,可以经常使用,,我已经试过了,很好用的。希望能给大家带来帮助,谢谢,
  • 今天给大家介绍一下一个web 中经常会用到的截图(如:头像等)工具: Jcrop 项目结构: 效果图: 这个很有用: 看到这些,大家也想自己试试吧 =========================================== ...

    今天给大家介绍一下一个web 中经常会用到的截图(如:头像等)工具:

    Jcrop

    项目结构:

    效果图:

    这个很有用:

    看到这些,大家也想自己试试吧

    ===========================================

    代码部分:

    ===========================================

    准备工作:

    下载:Jcrop-0.9.10 (zip format)

    解压后放入到你的项目里面,就如上面的项目结构一样...

    /Jcrop/WebContent/tapmodo-Jcrop/demos/tutorial1.html

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     3 <html xmlns="http://www.w3.org/1999/xhtml">
     4   <head>
     5     <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 
     6     <title>Jcrop &raquo; Tutorials &raquo; Hello World</title>
     7     <script src="../js/jquery.min.js" type="text/javascript"></script>
     8     <script src="../js/jquery.Jcrop.js" type="text/javascript"></script>
     9     <link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
    10     <link rel="stylesheet" href="demo_files/demos.css" type="text/css" />
    11     <script type="text/javascript">
    12 
    13     jQuery(function($){
    14 
    15       // How easy is this??
    16       $('#target').Jcrop();
    17 
    18     });
    19 
    20     </script>
    21   </head>
    22 
    23   <body>
    24     <div id="outer">
    25     <div class="jcExample">
    26     <div class="article">
    27 
    28       <h1>Jcrop - Hello World</h1>
    29       <img src="demo_files/pool.jpg" id="target" alt="Flowers" />
    30 
    31       <p>
    32         <b>This example demonstrates the default behavior of Jcrop.</b>
    33         Since no event handlers have been attached it only performs
    34         the cropping behavior.
    35       </p>
    36 
    37       <div id="dl_links">
    38         <a href="http://deepliquid.com/content/Jcrop.html">Jcrop Home</a> |
    39         <a href="http://deepliquid.com/content/Jcrop_Manual.html">Manual (Docs)</a>
    40       </div>
    41 
    42     </div>
    43     </div>
    44     </div>
    45   </body>
    46 </html>

    /Jcrop/WebContent/tapmodo-Jcrop/demos/tutorial2.html

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     3 <html xmlns="http://www.w3.org/1999/xhtml">
     4   <head>
     5     <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 
     6     <title>Jcrop &raquo; Tutorials &raquo; Event Handler</title>
     7     <script src="../js/jquery.min.js" type="text/javascript"></script>
     8     <script src="../js/jquery.Jcrop.js" type="text/javascript"></script>
     9     <link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
    10     <link rel="stylesheet" href="demo_files/demos.css" type="text/css" />
    11     <script type="text/javascript">
    12 
    13     jQuery(function($){
    14 
    15       $('#target').Jcrop({
    16         onChange:   showCoords,
    17         onSelect:   showCoords,
    18         onRelease:  clearCoords
    19       });
    20 
    21     });
    22 
    23     // Simple event handler, called from onChange and onSelect
    24     // event handlers, as per the Jcrop invocation above
    25     function showCoords(c)
    26     {
    27       $('#x1').val(c.x);
    28       $('#y1').val(c.y);
    29       $('#x2').val(c.x2);
    30       $('#y2').val(c.y2);
    31       $('#w').val(c.w);
    32       $('#h').val(c.h);
    33     };
    34 
    35     function clearCoords()
    36     {
    37       $('#coords input').val('');
    38     };
    39 
    40     </script>
    41   </head>
    42   <body>
    43   <div id="outer">
    44   <div class="jcExample">
    45   <div class="article">
    46 
    47     <h1>Jcrop - Event Handlers</h1>
    48 
    49     <!-- This is the image we're attaching Jcrop to -->
    50     <img src="demo_files/pool.jpg" id="target" alt="Flowers" />
    51 
    52     <!-- This is the form that our event handler fills -->
    53     <form id="coords"
    54       class="coords"
    55       onsubmit="return false;"
    56       action="http://example.com/post.php">
    57 
    58       <div>
    59       <label>X1 <input type="text" size="4" id="x1" name="x1" /></label>
    60       <label>Y1 <input type="text" size="4" id="y1" name="y1" /></label>
    61       <label>X2 <input type="text" size="4" id="x2" name="x2" /></label>
    62       <label>Y2 <input type="text" size="4" id="y2" name="y2" /></label>
    63       <label>W <input type="text" size="4" id="w" name="w" /></label>
    64       <label>H <input type="text" size="4" id="h" name="h" /></label>
    65       </div>
    66     </form>
    67 
    68     <p>
    69       <b>An example with a basic event handler.</b> Here we've tied
    70       several form values together with a simple event handler invocation.
    71       The result is that the form values are updated in real-time as
    72       the selection is changed using Jcrop's <em>onChange</em> handler.
    73     </p>
    74 
    75     <p>
    76       That's how easily Jcrop can be integrated into a traditional web form!
    77     </p>
    78 
    79     <div id="dl_links">
    80       <a href="http://deepliquid.com/content/Jcrop.html">Jcrop Home</a> |
    81       <a href="http://deepliquid.com/content/Jcrop_Manual.html">Manual (Docs)</a>
    82     </div>
    83 
    84 
    85   </div>
    86   </div>
    87   </div>
    88   </body>
    89 
    90 </html>

    /Jcrop/WebContent/tapmodo-Jcrop/demos/tutorial3.html

     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
     3 <html xmlns="http://www.w3.org/1999/xhtml">
     4 <head>
     5 <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
     6 <title>Jcrop &raquo; Tutorials &raquo; aspectRatio w/ Preview</title>
     7 <script src="../js/jquery.min.js" type="text/javascript"></script>
     8 <script src="../js/jquery.Jcrop.js" type="text/javascript"></script>
     9 <link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
    10 <link rel="stylesheet" href="demo_files/demos.css" type="text/css" />
    11 <script type="text/javascript">
    12     jQuery(function($) {
    13 
    14         // Create variables (in this scope) to hold the API and image size
    15         var jcrop_api, boundx, boundy;
    16 
    17         $('#target').Jcrop({
    18             onChange : updatePreview,
    19             onSelect : updatePreview,
    20             aspectRatio : 1
    21         }, function() {
    22             // Use the API to get the real image size
    23             var bounds = this.getBounds();
    24             boundx = bounds[0];
    25             boundy = bounds[1];
    26             // Store the API in the jcrop_api variable
    27             jcrop_api = this;
    28         });
    29 
    30         function updatePreview(c) {
    31             if (parseInt(c.w) > 0) {
    32                 var rx = 100 / c.w;
    33                 var ry = 100 / c.h;
    34 
    35                 $('#preview').css({
    36                     width : Math.round(rx * boundx) + 'px',
    37                     height : Math.round(ry * boundy) + 'px',
    38                     marginLeft : '-' + Math.round(rx * c.x) + 'px',
    39                     marginTop : '-' + Math.round(ry * c.y) + 'px'
    40                 });
    41             }
    42         }
    43         ;
    44 
    45     });
    46 </script>
    47 
    48 </head>
    49 
    50 <body>
    51 
    52   <div id="outer">
    53     <div class="jcExample">
    54       <div class="article">
    55 
    56         <h1>Jcrop - Aspect ratio w/ preview pane</h1>
    57 
    58         <table>
    59           <tr>
    60             <td>
    61               <div style="width: 500px; height: 370px; overflow: hidden;">
    62                 <img src="demo_files/pool.jpg" id="target" alt="Flowers" style="width: 500px; height: 370px;"/>
    63               </div>
    64             </td>
    65 
    66             <td>
    67               <div style="width: 100px; height: 100px; overflow: hidden;">
    68                 <img src="demo_files/pool.jpg" id="preview" alt="Preview" class="jcrop-preview" />
    69               </div>
    70             </td>
    71           </tr>
    72         </table>
    73 
    74         <p>
    75           <b>An example implementing a preview pane.</b> Obviously the most visual demo, the preview pane is accomplished entirely outside of Jcrop with a simple jQuery-flavored callback. This type of interface could be useful for creating a thumbnail or avatar. The onChange event handler is used to update the view in the preview pane.
    76         </p>
    77 
    78         <div id="dl_links">
    79           <a href="http://deepliquid.com/content/Jcrop.html">Jcrop Home</a> | <a href="http://deepliquid.com/content/Jcrop_Manual.html">Manual (Docs)</a>
    80         </div>
    81 
    82 
    83       </div>
    84     </div>
    85   </div>
    86 </body>
    87 
    88 </html>

    /Jcrop/WebContent/tapmodo-Jcrop/demos/tutorial4.html

      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      3 <html xmlns="http://www.w3.org/1999/xhtml">
      4   <head>
      5     <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 
      6     <title>Jcrop &raquo; Tutorials &raquo; Animations / Transitions</title>
      7     <script src="../js/jquery.min.js" type="text/javascript"></script>
      8     <script src="../js/jquery.Jcrop.js" type="text/javascript"></script>
      9     <script src="../js/jquery.color.js" type="text/javascript"></script>
     10     <link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
     11     <link rel="stylesheet" href="../css/jquery.Jcrop.extras.css" type="text/css" />
     12     <link rel="stylesheet" href="demo_files/demos.css" type="text/css" />
     13 
     14     <script type="text/javascript">
     15 
     16       jQuery(function($){
     17 
     18         var jcrop_api;
     19 
     20         $('#target').Jcrop({
     21           bgFade:     true,
     22           bgOpacity: .3,
     23           setSelect: [ 60, 70, 540, 330 ]
     24         },function(){
     25           jcrop_api = this;
     26         });
     27 
     28         $('#fadetog').change(function(){
     29           jcrop_api.setOptions({
     30             bgFade: this.checked
     31           });
     32         }).attr('checked','checked');
     33 
     34         $('#shadetog').change(function(){
     35           if (this.checked) $('#shadetxt').slideDown();
     36             else $('#shadetxt').slideUp();
     37           jcrop_api.setOptions({
     38             shade: this.checked
     39           });
     40         }).attr('checked',false);
     41 
     42         // Define page sections
     43         var sections = {
     44           anim_buttons: 'Animate Selection',
     45           bgo_buttons: 'Change bgOpacity',
     46           bgc_buttons: 'Change bgColor'
     47         };
     48         // Define animation buttons
     49         var ac = {
     50           anim1: [217,122,382,284],
     51           anim2: [20,20,580,380],
     52           anim3: [24,24,176,376],
     53           anim4: [347,165,550,355],
     54           anim5: [136,55,472,183]
     55         };
     56         // Define bgOpacity buttons
     57         var bgo = {
     58           Low: .2,
     59           Mid: .5,
     60           High: .8,
     61           Full: 1
     62         };
     63         // Define bgColor buttons
     64         var bgc = {
     65           Red: '#900',
     66           Blue: '#4BB6F0',
     67           Yellow: '#F0B207',
     68           Green: '#46B81C',
     69           White: 'white',
     70           Black: 'black'
     71         };
     72         // Create fieldset targets for buttons
     73         for(i in sections)
     74           insertSection(i,sections[i]);
     75 
     76         // Create animation buttons
     77         for(i in ac) {
     78           $('#anim_buttons').append(
     79             $('<button />').append(i).click(animHandler(ac[i])), ' '
     80           );
     81         }
     82         // Create bgOpacity buttons
     83         for(i in bgo) {
     84           $('#bgo_buttons').append(
     85             $('<button />').append(i).click(setoptHandler('bgOpacity',bgo[i])), ' '
     86           );
     87         }
     88         // Create bgColor buttons
     89         for(i in bgc) {
     90           $('#bgc_buttons').append(
     91             $('<button />').append(i).css({
     92               backgroundColor: bgc[i],
     93               color: ((i == 'Black') || (i == 'Red'))?'white':'black'
     94             }).click(setoptHandler('bgColor',bgc[i])), ' '
     95           );
     96         }
     97         // Function to insert named sections into interface
     98         function insertSection(k,v) {
     99           $('#interface').append(
    100             $('<fieldset></fieldset>').attr('id',k).append(
    101               $('<legend></legend>').append(v)
    102             )
    103           );
    104         };
    105         // Handler for option-setting buttons
    106         function setoptHandler(k,v) {
    107           return function() {
    108             var opt = { };
    109             opt[k] = v;
    110             jcrop_api.setOptions(opt);
    111             return false;
    112           };
    113         };
    114         // Handler for animation buttons
    115         function animHandler(v) {
    116           return function() {
    117             jcrop_api.animateTo(v);
    118             return false;
    119           };
    120         };
    121 
    122         $('#anim_buttons').append(
    123           $('<button></button>').append('Bye!').click(function(){
    124             jcrop_api.animateTo(
    125               [300,200,300,200],
    126               function(){ this.release(); }
    127             );
    128             return false;
    129           })
    130         );
    131 
    132         $('#interface').show();
    133 
    134       });
    135 
    136     </script>
    137 
    138   </head>
    139 
    140   <body>
    141     <div id="outer">
    142     <div class="jcExample">
    143     <div class="article">
    144 
    145       <h1>Jcrop - Animations/Transitions</h1>
    146       <img src="demo_files/sago.jpg" id="target" alt="Flowers" />
    147 
    148       <div id="interface" style="margin: 1em 0;"></div>
    149       <div><label><input type="checkbox" id="fadetog" /> Enable fading (bgFade: true)</label></div>
    150       <div><label><input type="checkbox" id="shadetog" /> Use experimental shader (shade: true)</label></div>
    151 
    152       <p id="shadetxt" style="display:none; color:#900;">
    153         <b>Experimental shader active.</b>
    154         Jcrop now includes a shading mode that facilitates building
    155         better transparent Jcrop instances. The experimental shader is less
    156         robust than Jcrop's default shading method and should only be
    157         used if you require this functionality. 
    158       </p>
    159 
    160       <p>
    161         <b>Animation/Transitions.</b>
    162         Demonstration of animateTo API method and transitions for bgColor
    163         and bgOpacity options. Color fading requires inclusion of John Resig's
    164         jQuery <a href="http://plugins.jquery.com/project/color">Color 
    165         Animations</a> plugin. If it is not included, colors will not fade.
    166       </p>
    167 
    168     <div id="dl_links">
    169       <a href="http://deepliquid.com/content/Jcrop.html">Jcrop Home</a> |
    170       <a href="http://deepliquid.com/content/Jcrop_Manual.html">Manual (Docs)</a>
    171     </div>
    172 
    173     </div>
    174     </div>
    175     </div>
    176   </body>
    177 </html>

    /Jcrop/WebContent/tapmodo-Jcrop/demos/tutorial5.html

      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      2   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
      3 <html xmlns="http://www.w3.org/1999/xhtml">
      4   <head>
      5     <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 
      6     <title>Jcrop &raquo; Tutorials &raquo; API Demo</title>
      7     <script src="../js/jquery.min.js" type="text/javascript"></script>
      8     <script src="../js/jquery.Jcrop.js" type="text/javascript"></script>
      9     <link rel="stylesheet" href="../css/jquery.Jcrop.css" type="text/css" />
     10     <link rel="stylesheet" href="demo_files/demos.css" type="text/css" />
     11     <style type="text/css">
     12       .optdual { position: relative; }
     13       .optdual .offset { position: absolute; left: 18em; }
     14       .optlist label { width: 16em; display: block; }
     15       #dl_links { margin-top: .5em; }
     16     </style>
     17     <script type="text/javascript">
     18 
     19       jQuery(function($){
     20 
     21         // The variable jcrop_api will hold a reference to the
     22         // Jcrop API once Jcrop is instantiated.
     23         var jcrop_api;
     24 
     25         // In this example, since Jcrop may be attached or detached
     26         // at the whim of the user, I've wrapped the call into a function
     27         initJcrop();
     28         
     29         // The function is pretty simple
     30         function initJcrop()//{{{
     31         {
     32           // Hide any interface elements that require Jcrop
     33           // (This is for the local user interface portion.)
     34           $('.requiresjcrop').hide();
     35 
     36           // Invoke Jcrop in typical fashion
     37           $('#target').Jcrop({
     38             onRelease: releaseCheck
     39           },function(){
     40 
     41             jcrop_api = this;
     42             jcrop_api.animateTo([100,100,400,300]);
     43 
     44             // Setup and dipslay the interface for "enabled"
     45             $('#can_click,#can_move,#can_size').attr('checked','checked');
     46             $('#ar_lock,#size_lock,#bg_swap').attr('checked',false);
     47             $('.requiresjcrop').show();
     48 
     49           });
     50 
     51         };
     52         //}}}
     53 
     54         // Use the API to find cropping dimensions
     55         // Then generate a random selection
     56         // This function is used by setSelect and animateTo buttons
     57         // Mainly for demonstration purposes
     58         function getRandom() {
     59           var dim = jcrop_api.getBounds();
     60           return [
     61             Math.round(Math.random() * dim[0]),
     62             Math.round(Math.random() * dim[1]),
     63             Math.round(Math.random() * dim[0]),
     64             Math.round(Math.random() * dim[1])
     65           ];
     66         };
     67 
     68         // This function is bound to the onRelease handler...
     69         // In certain circumstances (such as if you set minSize
     70         // and aspectRatio together), you can inadvertently lose
     71         // the selection. This callback re-enables creating selections
     72         // in such a case. Although the need to do this is based on a
     73         // buggy behavior, it's recommended that you in some way trap
     74         // the onRelease callback if you use allowSelect: false
     75         function releaseCheck()
     76         {
     77           jcrop_api.setOptions({ allowSelect: true });
     78           $('#can_click').attr('checked',false);
     79         };
     80 
     81         // Attach interface buttons
     82         // This may appear to be a lot of code but it's simple stuff
     83         $('#setSelect').click(function(e) {
     84           // Sets a random selection
     85           jcrop_api.setSelect(getRandom());
     86         });
     87         $('#animateTo').click(function(e) {
     88           // Animates to a random selection
     89           jcrop_api.animateTo(getRandom());
     90         });
     91         $('#release').click(function(e) {
     92           // Release method clears the selection
     93           jcrop_api.release();
     94         });
     95         $('#disable').click(function(e) {
     96           // Disable Jcrop instance
     97           jcrop_api.disable();
     98           // Update the interface to reflect disabled state
     99           $('#enable').show();
    100           $('.requiresjcrop').hide();
    101         });
    102         $('#enable').click(function(e) {
    103           // Re-enable Jcrop instance
    104           jcrop_api.enable();
    105           // Update the interface to reflect enabled state
    106           $('#enable').hide();
    107           $('.requiresjcrop').show();
    108         });
    109         $('#rehook').click(function(e) {
    110           // This button is visible when Jcrop has been destroyed
    111           // It performs the re-attachment and updates the UI
    112           $('#rehook,#enable').hide();
    113           initJcrop();
    114           $('#unhook,.requiresjcrop').show();
    115           return false;
    116         });
    117         $('#unhook').click(function(e) {
    118           // Destroy Jcrop widget, restore original state
    119           jcrop_api.destroy();
    120           // Update the interface to reflect un-attached state
    121           $('#unhook,#enable,.requiresjcrop').hide();
    122           $('#rehook').show();
    123           return false;
    124         });
    125 
    126         // Hook up the three image-swapping buttons
    127         $('#img1').click(function(e) {
    128           jcrop_api.setImage('demo_files/sago.jpg');
    129           jcrop_api.setOptions({ bgOpacity: .6 });
    130           return false;
    131         });
    132         $('#img2').click(function(e) {
    133           jcrop_api.setImage('demo_files/pool.jpg');
    134           jcrop_api.setOptions({ bgOpacity: .6 });
    135           return false;
    136         });
    137         $('#img3').click(function(e) {
    138           jcrop_api.setImage('demo_files/sago.jpg',function(){
    139             this.setOptions({
    140               bgOpacity: 1,
    141               outerImage: 'demo_files/sagomod.jpg'
    142             });
    143             this.animateTo(getRandom());
    144           });
    145           return false;
    146         });
    147 
    148         // The checkboxes simply set options based on it's checked value
    149         // Options are changed by passing a new options object
    150 
    151         // Also, to prevent strange behavior, they are initially checked
    152         // This matches the default initial state of Jcrop
    153 
    154         $('#can_click').change(function(e) {
    155           jcrop_api.setOptions({ allowSelect: !!this.checked });
    156           jcrop_api.focus();
    157         });
    158         $('#can_move').change(function(e) {
    159           jcrop_api.setOptions({ allowMove: !!this.checked });
    160           jcrop_api.focus();
    161         });
    162         $('#can_size').change(function(e) {
    163           jcrop_api.setOptions({ allowResize: !!this.checked });
    164           jcrop_api.focus();
    165         });
    166         $('#ar_lock').change(function(e) {
    167           jcrop_api.setOptions(this.checked?
    168             { aspectRatio: 4/3 }: { aspectRatio: 0 });
    169           jcrop_api.focus();
    170         });
    171         $('#size_lock').change(function(e) {
    172           jcrop_api.setOptions(this.checked? {
    173             minSize: [ 80, 80 ],
    174             maxSize: [ 350, 350 ]
    175           }: {
    176             minSize: [ 0, 0 ],
    177             maxSize: [ 0, 0 ]
    178           });
    179           jcrop_api.focus();
    180         });
    181 
    182       });
    183 
    184     </script>
    185 
    186   </head>
    187 
    188   <body>
    189     <div id="outer">
    190     <div class="jcExample">
    191     <div class="article">
    192 
    193       <h1>Jcrop - API Demo</h1>
    194       <img src="demo_files/sago.jpg" id="target" alt="Jcrop Image" />
    195 
    196       <div style="margin: .8em 0 .5em;">
    197         <span class="requiresjcrop">
    198           <button id="setSelect">setSelect</button>
    199           <button id="animateTo">animateTo</button>
    200           <button id="release">Release</button>
    201           <button id="disable">Disable</button>
    202         </span>
    203         <button id="enable" style="display:none;">Re-Enable</button>
    204         <button id="unhook">Destroy!</button>
    205         <button id="rehook" style="display:none;">Attach Jcrop</button>
    206       </div>
    207 
    208       <fieldset class="optdual requiresjcrop">
    209         <legend>Option Toggles</legend>
    210         <div class="optlist offset">
    211           <label><input type="checkbox" id="ar_lock" />Aspect ratio</label>
    212           <label><input type="checkbox" id="size_lock" />minSize/maxSize setting</label>
    213         </div>
    214         <div class="optlist">
    215           <label><input type="checkbox" id="can_click" />Allow new selections</label>
    216           <label><input type="checkbox" id="can_move" />Selection can be moved</label>
    217           <label><input type="checkbox" id="can_size" />Resizable selection</label>
    218         </div>
    219       </fieldset>
    220 
    221       <fieldset class="requiresjcrop" style="margin: .5em 0;">
    222         <legend>Change Image</legend>
    223         <span>
    224           <button id="img2">Pool</button>
    225           <button id="img1">Sago</button>
    226           <button id="img3">Sago w/ outerImage</button>
    227         </span>
    228       </fieldset>
    229 
    230     <div id="dl_links">
    231       <a href="http://deepliquid.com/content/Jcrop.html">Jcrop Home</a> |
    232       <a href="http://deepliquid.com/content/Jcrop_Manual.html">Manual (Docs)</a>
    233     </div>
    234 
    235     </div>
    236     </div>
    237     </div>
    238   </body>
    239 </html>

    转载于:https://www.cnblogs.com/hongten/archive/2012/11/26/hongten_java_jcrop.html

    展开全文
  • Jsoup是一个非常好的解析网页的包,用java开发的,提供了类似DOM,CSS选择器的方式来查找和提取文档中的内容。相关资料如下:今天做了一个Jsoup解析网站的项目,使用Jsoup.connect(url).get()连接某网站时偶尔会出现...
  • Java开发工具大全[10]

    2008-01-06 17:49:00
    10、JCreatorJCreator 是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。无论你是要开发Java应用程序或者网页上的Applet元件都难不倒它。在功能上与Sun公司所公布的JDK等文字模式开发工具相较之下来得容易...
  • java必备开发工具

    2014-10-31 17:07:19
    Java开发平台:Myeclipse(推荐6.0、8.0、8.5)、eclipse 环境搭建:jdk-6u11-windows-i586-p 图像处理、网页设计:photoshop、Dreamweaver 8 文本编辑:EditPlus-v3.10H 项目流程:rose2003、sc_office_2003_...
  • java版微信交互开发工具类,包含图灵机器人自动回复。微信交互处理类及网页授权功能。这是之前发布的了,把分调低了重新发布。
  • 要使用java开发工具打开,功能网页资源分类下载工具.值得一试哦
  • 今天给大家介绍一下一个web 中经常会用到的截图(如:头像等)工具: Jcrop 项目结构: 效果图: 这个很有用: 看到这些,大家也想自己试试吧 =========================================== ...
  • 它可以充分的替换记事本,它也提供网页...其他功能还包含 HTML 工具栏、用户工具、列号、标尺、URL 突显。自动完成、剪贴文本、行列选择、强大的搜索与替换、多重撤消/重做、拼写检测、自定义键盘快捷键、以及更多。
  • 网页开发工具 截图 网页 java 程序员必备 的一款小工具可以截取 你想要的 图片 非常实用
  • 开发工具介绍概述开发工具总结 概述 任何纯本文编辑器都能够编辑 html, 比如记事本, editplus, notepad++. 下面我们来看一些比较有名的专门制作网页的工具. 开发工具 DreamWeaver (Adobe 公司的产品, 这个软件和 ...
  • JCreator 是一个Java程序开发工具,无论你是要开发Java应用程序或者网页上的Applet元件都难不倒它。在功能上与Sun公司所公布的JDK等文字模式程序工具相较之下来得容易操作,还允许使用者自订义操作窗口界面及无限...
  • JDK(Java Development Kit Java开发工具包):JDK是提供给 Java 开发人员使用的,其中包含了 java 的开发工具,也包括了JRE。所以安装了JDK,就不用在单独安装JRE了 JRE(Java Runtime Environment Java运行环境) :...
  • 今天给大家介绍一下一个web 中经常会用到的截图(如:头像等)工具:项目结构:效果图:这个很有用:看到这些,大家也想自己试试吧===========================================代码部分:===========================...
  • java网页解析工具

    2016-04-27 16:44:59
    Jsoup是一个非常好的解析网页的包,用Java开发的,提供了类似DOM,CSS选择器的方式来查找和提取文档中的内容。 相关资料如下: 下载地址:http://jsoup.org/download 中文文档资料:...
  • java开发之js网页校验

    2019-08-27 17:29:43
    //网页输入校验工具 //version:2.0 //作者:潘攀(1871870808@qq.com) //时间:2012-10-10 //需要依赖:jquery-1.7.2.js //支持校验类型:不为空、数字、非数字、邮箱、最大长度、最小长 度、起始字符、终止字符、...
  •  JCreator 是一个Java程序开发工具,也是一个Java集成开发环境(IDE)。无论你是要开发Java应用程序或者网页上的Applet元件都难不倒它。在功能上与Sun公司所公布的JDK等文字模式开发工具相较之下来得容易,还允许...
  • JWt is a Java library for developing web applications. It provides a pureJava component-driven approach to building web applications,and renders either using Ajax or plain HTML.Unlike JSF...
  • Java3d-lib开发工具

    2019-04-24 09:10:25
    Java 3D是Java语言在三维图形领域的扩展,是一组应用编程接口(API)。利用Java 3D提供的API,可以编写出基于网页的三维动画、各种计算机辅助教学软件和三维游戏等等。
  • JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分...
  • 这是开发java script网页脚本的语言开发平台,在这个平台上,可以开发IE浏览器上的动态交互式网页
  • 为帮助开发者更方便、更安全地开发和调试基于微信的网页,微信推出了 web 开发者工具。它是一个桌面应用,通过模拟微信客户端的表现,使得开发者可以使用这个工具方便地在 PC 或者 Mac 上进行开发和调试工作。你可以...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,051
精华内容 820
关键字:

网页java开发工具

java 订阅