<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>blackbat</title>
    <description>“凡事由其自然，遇事处之泰然，得意之时淡然，失意之时坦然，艰辛曲折必然，历尽沧桑悟然。”</description>
    <link>http://blackbat.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>用Swing做一个文本编辑器，如何确定行号和列号。</title>
        <author>blackbat</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://blackbat.javaeye.com">blackbat</a>&nbsp;
          链接：<a href="http://blackbat.javaeye.com/blog/123017" style="color:red;">http://blackbat.javaeye.com/blog/123017</a>&nbsp;
          发表时间: 2007年09月11日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <span style="font-size: 18pt">最近一致在想做这样的一个文本编辑器，也就是向Editplus这种可以显示行号的，<br />但是在这过程中遇到了些问题，就是行号的确定，我想的判断整个文本区域的换行符的个数来确定行数，<br />我用的JTextPane，每次添加和删除文本区中的字符时发生insertUpdate和removeUpdate事件，<br />然后使用getText()来获得文本中的数据，再统计换行符的个数，然后确定有多少行，然后再根据这个来设定行数，但是在这个统计的过程中，到底是使用'\n'还是'\r'来确定？ 两种我都试了，总有点差别，特别是向文本区拷贝很大段的文本的时候，就出错。<br /><br />另JTextPane中的每个字符的占的宽度不一致，怎样到达一致的效果？<br />如何确定当前光标位置在JTextPane中的行与列？<br /><br />不知各位人物有何看法？给小弟指点一二，再此讲声多谢！！！<img src="/images/smiles/icon_arrow.gif"/></span>
          <br/>
          <span style="color:red;">
            <a href="http://blackbat.javaeye.com/blog/123017#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 11 Sep 2007 23:10:44 +0800</pubDate>
        <link>http://blackbat.javaeye.com/blog/123017</link>
        <guid>http://blackbat.javaeye.com/blog/123017</guid>
      </item>
      <item>
        <title>关于局部更新的问题和ajax实战中的1个例子</title>
        <author>blackbat</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://blackbat.javaeye.com">blackbat</a>&nbsp;
          链接：<a href="http://blackbat.javaeye.com/blog/70650" style="color:red;">http://blackbat.javaeye.com/blog/70650</a>&nbsp;
          发表时间: 2007年04月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这天看了ajax实战书中11章的例子<br />就是用java做的一个登录<br />例子中用了一个filter，尝试了一下，发现在filter里面无法转向页面，<br />当时我是这样想的，当通过filter验证后，就转向到登录成功界面（另一张页面），可是这样不行，无法转向。看来filter相当于一个"防火墙"。<br /><br />然后我就采用了登录验证后成功后传个"true",失败"false".<br />那么局部更新，客户端收到"true"后，进行页面调整.<br />假如登录界面做在一个div里面，登录成功后的界面做在一个 div里面。<br />登录成功后，是把登录界面的那个div删掉好，还是隐藏起来好，然后再显示成功后的界面。<br /><br />那么这里也有个问题啊，看上去servlet直接和js通信交互，好像就不需要jsp了？<br />就是说服务器把数据都传给js去，然后js在客户端组装显示数据，不知这种想法好不好？<br />假如客户端禁止了js，那怎么办？<br /><br />...太多的疑问了.
          <br/>
          <span style="color:red;">
            <a href="http://blackbat.javaeye.com/blog/70650#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Fri, 13 Apr 2007 15:02:57 +0800</pubDate>
        <link>http://blackbat.javaeye.com/blog/70650</link>
        <guid>http://blackbat.javaeye.com/blog/70650</guid>
      </item>
      <item>
        <title>关于map的问题 clip和边界</title>
        <author>blackbat</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://blackbat.javaeye.com">blackbat</a>&nbsp;
          链接：<a href="http://blackbat.javaeye.com/blog/67824" style="color:red;">http://blackbat.javaeye.com/blog/67824</a>&nbsp;
          发表时间: 2007年04月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          这2天一直在弄这个map的问题，希望各位给点建议或者意见，帮忙一下~~<br />1 如何判断当图片移出了蓝色框范围外，使它回到蓝色框内？<br />      也就是说超出边界。回到能显示的范围内。不要让人看见出现白色的底色。<br />2 如何使图片只显示在可见范围内【即显示层的那个大小】的那部分，我知道用clip ，但是一直没试出来。<br />      (就如maps.baidu.com的那个效果)<br /><pre name="code" class="java">&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
&lt;HTML>
&lt;HEAD>
&lt;TITLE> Cqupt CM &lt;/TITLE>
        &lt;style type="text/css">
            h1 {
                font: 20pt sans-serif;
            }

			/*外部窗口层，用于显示地图。*/
            #outerDiv {
                height: 200px;
                width: 300px;
                border: 1px solid blue;
                position: relative;
                overflow: hidden;	
            }

			/*内部层，用于装载地图图片，图片就放在里面。*/
            #innerDiv {
                position: relative;
                left: 0px;
                top: 0px;
            }
        &lt;/style>       
		
		&lt;script type="text/javascript">

		    var dragging = false;   //  是否在拖动标志 false：不是 true ：是
            var top;                     //  内部层的顶部坐标 即Y
            var left;                     //  内部层的左边坐标 即X
            var dragStartTop;        //  拖放开始时的坐标
            var dragStartLeft;       //   拖放结束时的坐标

            function init() {
                // make inner div big enough to display the map
                // 使内部层足够大，可以显示地图
                setInnerDivSize('800px', '700px');

                // 设置监听器 监听事件 
                var outerDiv = document.getElementById("outerDiv");
                
                outerDiv.onmousedown = startMove;              //鼠标按下
                outerDiv.onmousemove = processMove;          //鼠标移动
                outerDiv.onmouseup     = stopMove;              //鼠标弹起
                
				// necessary to enable dragging on IE
                outerDiv.ondragstart = function() { return false; }
				
				var innerDiv = document.getElementById("innerDiv");
				
				img = document.createElement("img");
				img.src = "http://mappng.baidu.com/maplite/mapbank/baidu/1/0_0/5_1.png";
				img.style.position = "absolute";
				img.style.left = "0px";
				img.style.top = "0px";
				img.style.zIndex = 0;
				img.setAttribute("id", "pb01");
				innerDiv.appendChild(img);

            }      
          function startMove(event) {
                // necessary for IE
                if (!event) event = window.event;

                dragStartLeft = event.clientX;
                dragStartTop = event.clientY;
                var innerDiv = document.getElementById("innerDiv");
                innerDiv.style.cursor = "-moz-grab";
                top = stripPx(innerDiv.style.top);
                left = stripPx(innerDiv.style.left);

                dragging = true;
                return false;
            }

            function processMove(event) {
                if (!event) event = window.event;  // for IE
                var innerDiv = document.getElementById("innerDiv");
                if (dragging) {
                    innerDiv.style.top = top + (event.clientY - dragStartTop);
                    innerDiv.style.left = left + (event.clientX - dragStartLeft);
                }

            }

            function stopMove() {
                var innerDiv = document.getElementById("innerDiv");
                innerDiv.style.cursor = "";
                dragging = false;
				
				status='在当前窗口中的X, Y坐标 : ( '+event.clientX+', '+event.clientY +')'+' 内部层的Top：'+innerDiv.style.top+' 内部层的Left：'+innerDiv.style.left;
            }
            function stripPx(value) {
                if (value == "") return 0;
                return parseFloat(value.substring(0, value.length - 2));
            }

            function setInnerDivSize(width, height) {
                var innerDiv = document.getElementById("innerDiv");
                innerDiv.style.width = width;
                innerDiv.style.height = height;
            }			
			&lt;/script>

&lt;/HEAD>

&lt;BODY onload="init()">
  &lt;div id="outerDiv">
        &lt;div style="position: absolute; top: 10px; left: 10px; z-index: 1">

        &lt;div id="innerDiv" style="z-index: 0">
        &lt;/div>
   &lt;/div>

&lt;/BODY>
&lt;/HTML></pre>
          <br/>
          <span style="color:red;">
            <a href="http://blackbat.javaeye.com/blog/67824#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 04 Apr 2007 11:01:43 +0800</pubDate>
        <link>http://blackbat.javaeye.com/blog/67824</link>
        <guid>http://blackbat.javaeye.com/blog/67824</guid>
      </item>
  </channel>
</rss>