- 浏览: 465608 次
- 性别:
- 来自: 长沙
-
最新评论
-
mzlogin:
然而并没有讲 hash 函数
深入理解HashMap(及hash函数的真正巧妙之处) -
czp11210:
hi,你这篇文章很好。有两个细节跟你确认下:1.你使用的amo ...
Mysql 基于 Amoeba 的 水平和垂直 分片 -
Mybeautiful:
It seems the amoeba doesn't sup ...
Mysql 基于 Amoeba 的 水平和垂直 分片 -
xs.cctv:
言简意赅。。。。。。
深入理解HashMap(及hash函数的真正巧妙之处) -
mnhkahn:
h & (length-1)这个其实还是一个模运算,只 ...
深入理解HashMap(及hash函数的真正巧妙之处)
文章列表
应大家的要求, 继续完善截图小软件。 这次增加两个功能:
1. 鼠标截图时,直接复制到系统剪贴板,同时增加一个 在屏幕中维持两秒钟的 复制完成提示。
2. 增加键盘 "Print Screen" 键的监听,直接启动截图。
先来看第一个功能:
a. 截图时,直接复制到系统剪贴板
这个比较简单,直接在 ScreenWindow 类的 mouseRelease() 方法中,增加一句:
//将图片保存到系统剪贴板
GraphicsUtils.setClipboardImage(image);
即可。
b. 增加个 能在屏幕中维持 ...
接上一节, 我们的截图小软件,功能基本完成,就剩下最后的 水印
功能了。
下面就来实现水印功能。
所谓图像的水印:就是将要做为水印的文字或图像,覆盖到目标图像(需要被加水印的图像)的指定位置。
根据上面解释,可以采用的方案为:
1. 取得 图标图像 的 Image 对象 和 水印图像 的 Image 对象
2. 创建一个缓冲图形对象(BufferedImage) bi
3. 将目标图像画到 bi 中
4. 将水印文字或图像 画到 bi 的指定位置
5. 返回 bi ,bi 即为 加上水印后的图像
代码:
/**
* 给图片添加文字 ...
前面两节完成了,截图软件的基本功能:全屏,区域截图
功能
本节实现:涂鸦
, 画线 ,
画圈 和
保存
第一步:实现涂鸦功能。
涂鸦也就是说:使用鼠标随意的拖动,去绘制随意的线条。那么就只需要在主程序的展示截图的JLabel中添加鼠标拖动监听。在鼠标每个移动点是绘制“一个点”,这样就可以按照鼠标的移动轨迹,来绘制任意的线条了。
按照上面的思路给出代码:SnapShoot.java
import java.awt.AWTException;
import java.awt.Color;
import java.awt.Container ...
刚才写了 Swing 实现截图小软件(一)后,点击“保存草稿”,回来再修改,点“编辑”在“可视化编辑器”中就出现了一堆的HTML代码了。 写不下去了,就直接转到(二)好了。
接上一节
第三步:为截取图像时,鼠标所标示的截取区域用矩形表示出来。
要实现根据鼠标的拖动,实时画矩形,可以采用
1. 取得鼠标的按下点和移动当前点坐标
2. 创建一个缓冲图形对象(BufferedImage) bi
3. 将原始图形画到 bi 中
4. 根据取得的坐标画一个矩形到 bi 中
5. 将 bi 画到屏幕上
imageLabel.addMouseMotionList ...
软件功能:
1.全屏、区域截图
2.涂鸦功能
3.画线,花圈,
4.水印
5.可保存本地硬盘
本节先考虑第一个功能:全屏,区域截图
第一步: 首先需要解决的问题是,如何让截取的图像,全屏显示。
一般的截图软件都是,点击截图后,首先动态抓取整个屏幕,然后全屏显示在整个屏幕--模拟屏幕,之后再在该模拟屏幕上进行其他动作。
所以我们先考虑两个动作
A. 抓取整个屏幕图片
B. 将抓取的屏幕图片全屏 ...
jQuery
的Autocomplete(自动完成、自动填充)插件有不少,但比较下来我感觉,还是bassistance.de
的比较强大,我们就来写一些代码感受一下。
最简单的Autocomplete(自动完成)代码片段
<script type="text/javascript">
var websites = [
"Google","NetEase", "Sohu", "Sina", "Sogou", "Baidu", & ...
今天,MyEclipse 在启动Tomcat时突然就不在控制台输出任何信息了,连控制台的窗口都没启动,一片灰色。
搞了半天,机器重启都没恢复。 与是到网上找了个解决方案,记录下:
很简单:重新配置一下 Tomcat 的JDK 即可。
Windows--Preferences--Myeclipse--Server--tomcat--tomcat6.0--JDK--Add 之后选择java的JDK所在的位置,立即会看到结果,一切ok。
最近运营的网站 需要一个 js 实现的摇奖的效果。在网上找了些 图片移动效果实例后,修改成需要的效果了。 记录下。
<!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http- ...
你对开源有多少了解呢?如果你是软件开发者,要开源软件,不单单是开放源代码就可以了,选择一种许可证很重要,一个许可证之于软件就相当于价值观之于普通人,代表了这个软件的基本品性。一个错误的许可证选择可能 ...
首先我们先介绍一下为什么要让 Apache 与 Tomcat 之间进行连接。事实上 Tomcat 本身已经提供了 HTTP
服务,该服务默认的端口是 8080,装好 tomcat 后通过 8080 端口可以直接使用 Tomcat 所运行的应用程序,你也可以将该端口改为
80。
既然 Tomcat 本身已经可以提供这样的服务,我们为什么还要引入 Apache 或者其他的一些专门的 HTTP 服务器呢?原因有下面几个:
1. 提升对静态文件的处理性能
2. 利用 Web 服务器来做负载均衡以及容错
3. 无缝的升级应用程序
这三点对一个 web 网站来说是非 ...
public class Test{
public static void main (String args []){
java.util.Date a = new java.util.Date();
System.out.println(a);
java.sql.Date b = new java.sql.Date(a.getTime());
System.out.println(b);
...
在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了
Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了。
如果使用了反向代理软件,用
request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或192.168.1.110,而并不是客户端的真实IP。
经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的
IP,服务器端应用也无法直接通过转发请求的地址返回给客户端。但是在转发请求的HTTP头信息中,增 ...
将Apache2.2.8手动安装成Windows的服务
可以选择在安装Apache时自动将其安装为一个服务。如果选择"for all users",那么Apache将会被安装为服务。
如果选择了"only for the Current User",可以在安装后手动将Apache注册为服务。注意,必须是Administrators组的成员才能成功注册服务。
使用Apache Service Monitor工具,可以查看和管理你所在网络上的所有机器上安装的Apache服务的状态。为了能够使用这个工具管理Apache服务,你必须首先自动或手动安 ...
最近需要在项目中做一个缓存框架,通过插件方式加入,要求可以通过配置文件,指定需要缓存页面的URL。
于是就想到做一个拦截器Filter。
该Filter可以首先拦截所有的请求,然后取得请求的URL,与配置中的需要缓存的URL对比,如果需要缓存,则进入缓存处理,如果不需要缓存,则直接到下一个Fitler。
具体的缓存处理,采用开源框架OScache。
方案还是比较简单的。 测试中发现,一般的Fitler只能拦截到从浏览器地址栏中过来的请求。 而页面的采用<jsp:include>方式载入的请求页面,则不能拦截到。
查看相关资料http:// ...
在oracle中sequence就是所谓的序列号,每次取的时候他会自动增加,一般用在需要按序列号排序的地方。
ID的自动增长就用它了。
1、Create Sequence
你首先要有CREATE SEQUENCE或CREATE ANY SEQUENCE权限,
CREATE SEQUENCE emp_sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE -- 一直累加,不循环
CACHE 10; ...