Sugo

          Goof off ? no way: never
          posts - 20, comments - 8, trackbacks - 73, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          2007年7月30日

          JTable如果在編輯狀態下,當要保存的時候,比如直接點保存按鈕,得到的數據不是編輯狀態下的數據,琢磨出一個方法,記錄一下:
                i和j表示正在被編輯的行號列號
                 CellEditor   ce   =   md.getCellEditor(i,j);
                 //CellEditor   ce   =   md.getCellEditor(md.getEditingRow(), md.getEditingColumn());    
                 ce.stopCellEditing();  
                 Object   value   =   ce.getCellEditorValue();  
                // model.setValueAt(value,md.getEditingRow(), md.getEditingColumn());
                 model.setValueAt(value,i,j);

          posted @ 2008-01-14 21:30 sugo 閱讀(1401) | 評論 (0)編輯 收藏

               獲取網卡物理地址:
                   String cmd="ipconfig /all";
                   Process p=Runtime.getRuntime().exec(cmd);
                   BufferedReader bis=new BufferedReader(new InputStreamReader(p.getInputStream()));
                   String line="";
                   while((line=bis.readLine())!=null){
                     if(line.indexOf("Physical Address")!=-1){
                       Pattern ptn=Pattern.compile("((\\w{2})|(\\d{2})|(\\w+\\d+)|(\\d+\\w+))-.*");
                        Matcher m=ptn.matcher(line.trim());
                        while(m.find()){
                          System.out.println("get mac  "+m.group());
                        }
                     }
                    }

          posted @ 2007-12-25 16:47 sugo 閱讀(371) | 評論 (0)編輯 收藏

          閑暇之余寫的坦克小游戲,源碼貼出來,有意見和疑問請留言,共同進步

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
          <HTML>
          <HEAD>
          <TITLE> New Document </TITLE>
          <META NAME="Generator" CONTENT="EditPlus">
          <META NAME="Author" CONTENT="">
          <META NAME="Keywords" CONTENT="">
          <META NAME="Description" CONTENT="">
          </HEAD>
          <SCRIPT LANGUAGE="JavaScript">
          <!--
           var missleno=0;
           var energy=100;
           var enemytimer;
           function document.onkeydown()

            if (window.event.keyCode==37)   // 方向鍵 <-
            { 
              var temp=document.getElementById("sg");
           temp.style.pixelLeft-=10;
             }
            else if (window.event.keyCode==39)   // 方向鍵 ->
            { 
              var temp=document.getElementById("sg");
           temp.style.pixelLeft+=10;
             }
             else if (window.event.keyCode==40){
               var temp=document.getElementById("sg");
            temp.style.pixelTop+=10;
           // temp.style.height=66px;

             }
             else if(window.event.keyCode==38){  //  up ^
               //alert(window.event.keyCode);
            var temp=document.getElementById("sg");
            temp.style.pixelTop-=10;
             }
             else if(window.event.keyCode==32){
               fire(missleno);
               missleno++;
             }
             // else{
           // var temp=document.getElementById("missle1000");
           // if(temp==null){
           //  alert('null');
           // }
           //}
          }
           function fire(mno){
             var no=mno;
             var temp=document.getElementById("sg");
             tt=document.createElement("div");
             cont=document.createTextNode("=");
             tt.appendChild(cont);
             tt.id="missle"+no;
             // missleno++;
             tt.style.position="absolute";
             // var obj=eval("sg"+num);
             tt.style.pixelTop=temp.style.pixelTop+15;
             tt.style.pixelLeft=temp.style.pixelLeft+60;
             document.body.appendChild(tt);
             move(no);
           }
           function move(mno){
             var no=mno;
             var temp=document.getElementById("missle"+no);
             // var temphn=document.getElementById("hn");
             temp.style.pixelLeft+=5;
             var result=monitor_missle(no); //監控子彈是否打中
             //alert(result);
             if(result!='stop'){
               if(temp.style.pixelLeft!=1000){
                setTimeout("move("+no+")",20);
               }
               else if(temp.style.pixelLeft==1000){ //消除子彈
                 temp.parentNode.removeChild(temp);
               }
             }
           }
            function showpos(){
             var temp=document.getElementById("hn");
             alert(temp.style.pixelLeft);
            }
            function flush(){
             var temp=document.getElementById("hn");
             //temp.parentNode.removeChild(temp);
             temp.style.display="none";
             temp=document.getElementById("missle"+missleno);
             temp.parentNode.removeChild(temp);
            }
            function initEnemy(){
              tt=document.createElement("div");
              cont=document.createTextNode("enemy");
              tt.appendChild(cont);
              tt.id="enemy";
              tt.style.position="absolute";
              // var obj=eval("sg"+num);
              tt.style.pixelTop=390;
              tt.style.pixelLeft=900;
           tt.style.border="dashed thick #008022";
           tt.style.width="36px";
           tt.style.padding="2px 4px 0px 4px";
           tt.style.background="#ff3303";
           tt.style.color="#FFFFEE";
              document.body.appendChild(tt);
           enemy_move();
            }
            function monitor(){
             var enemy=document.getElementById("enemy");
             for(var t=0;t<missleno;t++){
               var temp=document.getElementById("missle"+t);
            if(temp==null)
             continue;
               else{
            if(((enemy.style.pixelTop-10)<temp.style.pixelTop) &&((enemy.style.pixelTop+10)>temp.style.pixelTop) &&  (temp.style.pixelLeft>=enemy.style.pixelLeft)){
              energy--;
              temp.parentNode.removeChild(temp);
              alert(energy);
             }
            }
             }
           
            }
            function monitor_missle(mno){
             var t=mno;
             var enemy=document.getElementById("enemy");
             var temp=document.getElementById("missle"+t);
            if((temp!=null)&&(enemy!=null)){
             if(((enemy.style.pixelTop-10)<temp.style.pixelTop) &&((enemy.style.pixelTop+10)>temp.style.pixelTop) &&  (temp.style.pixelLeft>=enemy.style.pixelLeft)){
              energy--;
              var blood=document.getElementById("bld");
              blood.innerHTML=energy;
              temp.parentNode.removeChild(temp);
              if(energy==0){
              enemy.parentNode.removeChild(enemy);
              clearTimeout(enemytimer);
             // enemy.style.display="none";
              alert("YOU WIN,CONGRATULATIONS!");
              }
              return 'stop';
             }
            }
            return 'continue';
            }
            function enemy_move(){
           
            var enemy=document.getElementById("enemy");
            enemy.style.pixelLeft-=10;
            enemytimer=setTimeout("enemy_move()",1000);
            }
           
          //-->
          </SCRIPT>
          <BODY>
          <div style="border: dashed thick #008000; width:36px; text-align:center;  padding:2px 4px 0px 4px; background:#ff3300; color:#FFFFFF;position:absolute" id="sg" >sugo</div>
          <!-- <div style="border: dashed thick #008000; width:36px; text-align:center;  padding:2px 4px 0px 4px; background:#ff3300; color:#FFFFFF;position:absolute;left=1000;top=500" id="hn">hanna</div>  -->
          <SCRIPT LANGUAGE="JavaScript">
          <!--
            initEnemy();
           // setInterval("monitor()",500);
          //-->
          </SCRIPT>
          <div id="bld"></div>
          </BODY>
          </HTML>

          posted @ 2007-11-22 18:10 sugo 閱讀(451) | 評論 (0)編輯 收藏

               實現了控制隨機生成的一個六位字符串下落,可以向左、向右、向下加速。實現的功能仿照俄羅斯方塊來做,本來想實現上下兩行相同字母消除功能,但想起一個方法(代碼中的erase()方法),感覺沒問題,但一直沒有實現,后來也懶得想了?,F將代碼貼在這里,希望讀到這篇文章的朋友如果感興趣的話提出寶貴意見,并可以隨意拷貝代碼完善功能:)
           <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
          <HTML>
          <HEAD>
          <TITLE> New Document </TITLE>
          <META NAME="Generator" CONTENT="EditPlus">
          <META NAME="Author" CONTENT="Sugo">
          <META NAME="Keywords" CONTENT="">
          <META NAME="Description" CONTENT="">
          </HEAD>
          <SCRIPT LANGUAGE="JavaScript">
          <!--
          var incx=10;//每次下落的高度
          var sty=20; //開始時候的縱坐標
          var stx=500; //開始時候的橫坐標
          var num=0; //每個div標號,同時也起到確定下一個div元素停止的位置
          var len=10;
          var timer;//定時器
          //var arr0,arr1,arr2,arr3,arr4,arr5,arr6,arr7,arr8,arr9,arr10,arr11,arr12,arr13,arr14,arr15; //用于字母消除作用的數組,此功能沒實現,這些變量可以不用
          //初始字符串初始位置
          function firstshow(){ 
           //temp=document.getElementById("sg");
           sg0.style.pixelTop=sty;
           sg0.style.pixelLeft=stx;
           
          }
          //增加字符串
          function addDiv(){
           tt=document.createElement("div");
           divcontent=randomString(6);
           cont=document.createTextNode(divcontent);
           tt.appendChild(cont);
           tt.id="sg"+num;
           tt.style.position="absolute";
          // var obj=eval("sg"+num);
           tt.style.pixelTop=10;
           tt.style.pixelLeft=500;
           document.body.appendChild(tt);
           
          }

          //字符串下落方法
           function fall(id){
             var obj=eval("sg"+id);
            
            obj.style.pixelTop+=incx;
            obj.style.pixelLeft=stx;
            if(obj.style.pixelTop==(610-len*num)){   //到達目的地址時(下落到610處,此處可隨意改動)
             obj.style.pixelTop=610-len*num;
             //erase(); 功能沒有實現
             num++;
             addDiv();
             fall(num);
            }
            else if(obj.style.pixelTop<(610-len*num)) //沒有到達目的地址時
            timer = setTimeout('fall(num)',1000); //1000可以換成任意數字,越小下落速度越快
            else if(obj.style.pixelTop>(610-len*num)) //處理出現地址大于目的地址時
            {
            }
           }
           //當使用方向鍵操作時使用的下落方法
           function fall1(id,sx,sy){
             var obj=eval("sg"+id);
            
            obj.style.pixelTop=sy+incx;
            obj.style.pixelLeft=sx;
            y=obj.style.pixelTop;
            x=obj.style.pixelLeft;
            if(obj.style.pixelTop==(610-len*num)){   //到達目的地址時
             obj.style.pixelTop=610-len*num;
             //erase(); 功能沒有實現
             num++;
             addDiv();
             fall(num);
            }
            else if(obj.style.pixelTop<(610-len*num)) //沒有到達目的地址時
            timer = setTimeout('fall1(num,x,y)',1000); //1000可以換成任意數字,越小下落速度越快
            else if(obj.style.pixelTop>(610-len*num)) //處理出現地址大于目的地址時
            {
            }
           }
          //產生隨機六位字符串
           function randomString(leng){
             var source="abcdefghijklmnopqrstuvwxyz";
             var result="";
             for(var i=0;i<leng;i++){
            
              result+=source.charAt(Math.random()*source.length)
             }
             return result;
           }
           //鍵盤控制
           function document.onkeydown()

            if (window.event.keyCode==37)   // 方向鍵 <-
            { 
              var temp=document.getElementById("sg"+num);
           temp.style.pixelLeft-=8;
           x=temp.style.pixelLeft;
           y=temp.style.pixelTop;
           clearTimeout(timer);
              fall1(num,x,y-10);
             }
            else if (window.event.keyCode==39)   // 方向鍵 ->
            { 
              var temp=document.getElementById("sg"+num);
           temp.style.pixelLeft+=8;
           x=temp.style.pixelLeft;
           y=temp.style.pixelTop;
           clearTimeout(timer);
              fall1(num,x,y-10);
             }
             else if (window.event.keyCode==40){ //方向鍵 |
               var temp=document.getElementById("sg"+num);
            temp.style.pixelTop+=10;
               x=temp.style.pixelLeft;
            y=temp.style.pixelTop;
            clearTimeout(timer);
               fall1(num,x,y-10);
             }
          }
          //字母消除程序,暫時不能實現功能
           function erase(){
            var pos=new Array();
            for(var i=0;i<=num;i++){ //得到所有存在的div每個字符的位置值
              dpos=document.getElementById("sg"+i);
           x=dpos.style.pixelLeft;
           //content=dpos.value;
              obj=eval("arr"+i);
           obj=new Array();
           for(var j=0;j<6;j++){
             obj[j]=x+j;
           }
           pos[i]=obj;
            }
           //alert(num);
            if(num>=1){
             
              for(t=num-1;t<num;t++){
             for(tt=0;tt<6;tt++){
               for(ttt=0;ttt<6;ttt++){
            // alert(pos[t][ttt]);
              if(pos[t][tt]==pos[t+1][ttt]){
              // alert("here"+tt+"  "+ttt);
                mod1=document.getElementById("sg"+t);
             mod2=document.getElementById("sg"+(t+1));
                var rep1="",rep2="";
             for(var l=0;l<mod1.innerHTML.length;l++){
               if(l!=tt){
               rep1+=mod1.innerHTML.charAt(l);
               }
               else{
               rep1+="-";
               }
             }
             mod1.innerHTML=rep1;
             //rep1='';
             //alert(mod1.innerHTML);
             for(var ll=0;ll<mod2.innerHTML.length;ll++){
               if(ll!=ttt){
                rep2+=mod2.innerHTML.charAt(ll);
               }
               else{
                rep2+="-";
                        }
             }
             mod2.innerHTML=rep2;
             //rep2='';
              }
            }
                }
              }
            }
           }
          //-->
          </SCRIPT>
          <BODY onload="firstshow();" >

          <div id="sg0" style="position:absolute"><SCRIPT LANGUAGE="JavaScript">
          <!--
          document.write(randomString(6));  //6可以改為任意數字,數字即是字符串的長度
          //-->
          </SCRIPT></div>
          <SCRIPT LANGUAGE="JavaScript">
          <!--
            fall(0);
          //-->
          </SCRIPT>
          </BODY>
          </HTML>

          posted @ 2007-07-30 16:48 sugo 閱讀(375) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 桑植县| 临邑县| 长汀县| 五大连池市| 太仆寺旗| 乌兰县| 平谷区| 开鲁县| 上高县| 崇义县| 和龙市| 绵竹市| 宣汉县| 乌鲁木齐市| 黔南| 定安县| 龙泉市| 江山市| 山西省| 措勤县| 乐平市| 长武县| 海淀区| 安仁县| 称多县| 襄汾县| 呼玛县| 紫阳县| 土默特左旗| 且末县| 宝清县| 镇赉县| 孙吴县| 青田县| 高邮市| 原平市| 买车| 通海县| 舒城县| 东光县| 镇安县|