html部分
<html> <head> <title>手寫板</title> </head> <body > <embed id="id1" src="sx.svg" mce_src="sx.svg" width="800" height="600" type="image/svg+xml" pluginspage="http://www.adobe.com/svg/viewer/install/" /> </body> </html>
sx.svg
<svg οnlοad="init(evt)" width="210mm" height="297mm"> <!--A4用紙 --> <!-- onmousedown, onmousemove, onmouseup 三個事件用來處理手寫作業 --> <g οnmοusedοwn="mouseDown(evt)" οnmοusemοve="mouseMove(evt)" οnmοuseup="mouseUp(evt)"> <rect id="paper" x="0" y="0" width="210mm" height="297mm" stroke="black" fill="black" opacity="0.1"> </rect> <!--canvas layer --> <g id="canvas"> </g> </g> <mce:script type="text/javascript"><!-- var svgdoc; // 整個 SVG物件, 用來透過 JavaScript 操控 SVG/DOM var myId, isDrawing = false; function init(evt) { svgdoc = evt.target.ownerDocument; } function mouseDown(evt) { myId = Math.round(Math.random() * 100000); str = "<path id='" + myId + "' stroke='red' stroke-width='5' d='M" + evt.getClientX()+ " " + evt.getClientY() + "' fill='none' />"; // 依據滑鼠位置, 產生一個字串 node = parseXML(str, svgdoc); // 將字串轉換為 SVG 元素 svgdoc.getElementById("canvas").appendChild(node); // 將元素插入文件內 isDrawing = true; // 旗標(flag)變數, 表示開啟手寫作業 } function mouseMove(evt) { if (isDrawing) { // 依據滑鼠移動座標, 不斷改變 <path>元素的 d (路徑)屬性 obj=svgdoc.getElementById(myId); tran=obj.getAttribute("d"); tran += " L " + evt.getClientX() + " " + evt.getClientY(); obj.setAttribute("d",tran); } } function mouseUp(evt) { isDrawing = false; } // --></mce:script> </svg>
堆排序相對來說比較複雜。這裏使用了兩種是實現方案,方案1,heapSort1()需要藉助於二叉堆類,這個算是一個入門;有助於理解堆排序。 方案2,heapSort2()將數組看成是一棵二叉樹,首先要對樹轉換,使其變成大頂堆。然後再進行排
代碼示例: public class NettyEchoServer { private final int serverPort; ServerBootstrap b = new ServerBootstrap();
Netty的服務啓動類ServerBootstrap:Bootstrap類是Netty提供的一個便利的工廠類,可以通過它來完成Netty的客戶端或服務器端的Netty組件的組裝,以及Netty程序的初始化。它的職責是一個組裝和集成器,將不
package sort; import java.util.Arrays; /** * 描述: * 排序算法 * * @author wanghui email:[email protected] * @creat
超媒體作爲應用狀態引擎(Hypermedia as the Engine of Application State,HATEOAS)是一種創建自描述API的方式。API所返回的資源中會包含相關資源的鏈接,客戶端只需要瞭解最少的API UR
1、JSON: Jackson開源庫的優點是:所依賴的jar包較少、簡單易用、性能也還不錯,另外Jackson社區相對比較活躍。 Jackson開源庫的缺點是:對於複雜POJO類型、複雜的集合Map、List的轉換結果,不是標準的JSON
Spring的核心是提供了一個 容器(container),通常稱爲Spring應用上下文(Spring application context),它們會創建和管理應用組件。將bean裝配在一起的行爲是通過一種基於 依賴注入(depend