wjoin

          MapXTreme

           

          2006年3月16日

          mapxtreme 使用右鍵菜單

          在mapxtreme 中visualMapJ1MouseClicked 事件只能便用左鍵,如果想要右鍵彈出信息的話,非常的不方便,下面是一個(gè)臨時(shí)的解決辦法:

           private void visualMapJ1MouseClicked(java.awt.event.MouseEvent evt) {                                        
          // TODO 將在此處添加您的處理代碼:
                  if(evt.getButton() == MouseEvent.BUTTON1){
                      JPopupMenu pop =new JPopupMenu();   //右鍵菜單
                      if(!infoToolListener.getInfo().equals("")){       //取回的地理信息不為空
                          pop.add(infoToolListener.getInfo());          //把信息加到菜單上
                          pop.show(evt.getComponent(),evt.getX(),evt.getY());   //在鼠標(biāo)的地方彈出
                          infoToolListener.clearInfo();                       //清除上次信息
                      }
                  } else if (evt.getButton() == MouseEvent.BUTTON3){  //如果點(diǎn)的是鼠標(biāo)右鍵,把它模擬成左鍵

                      
                      try {
                          Robot robot = new Robot();  // 建個(gè)機(jī)器人
                          robot.mousePress(InputEvent.BUTTON1_MASK); //模擬左鍵按下  
                          robot.mouseRelease(InputEvent.BUTTON1_MASK); //左鍵彈起
                      } catch (AWTException ex) {
                          ex.printStackTrace();
                      }
                  }
              }           

          我嘗試了很多辦法,因?yàn)閙apxtreme 中有很多類都是受保護(hù)的,在自己的程序中沒(méi)法使用,而且,它耦合度非常的高,我曾經(jīng)想把其中幾個(gè)類反編譯過(guò)來(lái)使用,結(jié)果發(fā)現(xiàn),需要反編譯的類越來(lái)越多,以至于最后可能要把整個(gè)mapxtreme都反編譯過(guò)來(lái),所以我放棄了這種想法,只好用模擬實(shí)現(xiàn),另外,MapMouseEvent 繼承了 MouseEvent 但是沒(méi)有提供BUTTON 參數(shù),使得左鍵和中鍵可以讀取到,而右鍵卻不行,所以只好用如此古怪的方法。

          posted @ 2008-12-29 10:35 wjoin 閱讀(379) | 評(píng)論 (0)編輯 收藏

          各種開(kāi)發(fā)語(yǔ)言技術(shù)復(fù)雜度投票結(jié)論

          可能我不應(yīng)該叫它技術(shù)復(fù)雜度, 準(zhǔn)確的說(shuō)法應(yīng)該是"從UFP 到SLOC 的缺省轉(zhuǎn)換率",公布出來(lái)供大家參考.
          以下數(shù)據(jù)來(lái)自 Jones? http://www.spr.com/library/0Langtbl.htm

          Access????????????????????????38
          Ada83????????????????????????71
          Ada95????????????????????????49
          AIShell????????????????????????49
          APL???????????????????????????32
          Assembly--Basic?????????320
          Assembly--Macro??????213
          Bassic--ANSI????????????64
          Basic--Visual??????????????32
          Basic--Compiled?????????91
          C?????????????????????????????????128
          C++?????????????????????????????55
          Cobol(ANSI85)????????????91
          Database--Default?????????40
          Forth???????????????????????????64
          Fortran????????????????????????77
          Fortran95?????????????????????71
          HTML 3.0???????????????????15
          Java???????????????????????????????53
          Jovial???????????????????????????107
          Lisp??????????????????????????????64
          MachineCode???????????????640
          Modula 2???????????????????????80
          Pascal???????????????????????????91
          PERL???????????????????????????27
          PowerBuilder???????????????16
          Prolog???????????????????????????64
          Query--Default???????????????13
          Simulation--Default???????? 46
          Spreadsheet?????????????????????6
          Unix Shell Scripts????????????107
          Visual Basic 5.0???????????????29
          VisualC++????????????????????????34
          第一代語(yǔ)言?????????????????????320
          第二代語(yǔ)言?????????????????????107
          第三代語(yǔ)言?????????????????????80
          第四代語(yǔ)言?????????????????????20
          第五代語(yǔ)言?????????????????????4
          高級(jí)語(yǔ)言????????????????????????64
          報(bào)表生成器?????????????????????80

          posted @ 2007-01-20 09:13 wjoin 閱讀(636) | 評(píng)論 (1)編輯 收藏

          語(yǔ)言復(fù)雜度投票

          我們公司希望通過(guò)語(yǔ)言復(fù)雜度來(lái)決定項(xiàng)目獎(jiǎng)金,可是哪一種語(yǔ)言技術(shù)含量更高呢? 大家來(lái)投一下票吧,

          請(qǐng)選出您熟悉的五種以上語(yǔ)言,按復(fù)雜度排一下序,(最復(fù)雜的排在最前面).謝謝支持!

          APL、A+、J 、ASP、Ada 、匯編語(yǔ)言、AWK 、Basic、Fortran 、Brainfuck 、C、C++ 、C#
          Clipper 、COBOL 、dBase 、PASCAL、Delphi 、Forth 、FoxPro、F# 、IDL 、Java 、JavaScript
          J# 、LISP 、LOGO 、Modula 、Perl 、PHP 、PL/1 、Prolog 、Python 、Ruby 、Scheme 、Smalltalk
          SQL 、Tcl/Tk 、Visual Basic 、Visual FoxPro

          posted @ 2007-01-09 18:05 wjoin 閱讀(1468) | 評(píng)論 (13)編輯 收藏

          mapxtreme的地圖繪制概念

          表:?
          ????? 通常表示一個(gè)圖層的所有信息包括"幾何信息"和"屬性信息" mapinfo使用( .tab)格式,可以用
          ????? 文本編輯器打開(kāi)
          ???MapInfo .tab 文件可以組織成為一組用于構(gòu)建圖層的文件。MapInfo 表包含以下類型的關(guān)聯(lián)文件:
          ???
          ???*.tab:此文件說(shuō)明 MapInfo 表的結(jié)構(gòu)。這是一個(gè)說(shuō)明數(shù)據(jù)文件格式的小文本文件。
          ???*.dat(.mdb, .dbf, .txt, .xls or .wks):這些文件包含制表數(shù)據(jù)。
          ???*.map:此文件說(shuō)明圖形對(duì)象(如果表沒(méi)有地圖對(duì)象,則該文件將不存在)。
          ???*.id:此文件是一個(gè)交叉索引文件,鏈接數(shù)據(jù)和對(duì)象(如果表沒(méi)有地圖對(duì)象,則該
          ???文件將不存在)。
          ???*.ind: 這是一個(gè)索引文件。使用該索引文件,可搜索地圖對(duì)象(如果表沒(méi)有索引,
          ???該文件將不存在)。
          ???這些文件在一起構(gòu)成 MapXtreme Java 中的單一 .tab 圖層。

          地圖定義:
          ????? 地圖定義說(shuō)明了構(gòu)成地圖的數(shù)據(jù),包括所要顯示的數(shù)據(jù)、存儲(chǔ)位置、數(shù)據(jù)組織為圖層的方
          ???式、數(shù)據(jù)的顯示方式(如所用顏色、標(biāo)注圖元、地圖縮放設(shè)置)。
          ????? 地圖定義的格式為:??? .mdf????????

          MapInfo Geosets:
          ?????? MapInfo .tab 文件集稱為 geoset。 如果熟悉 MapInfo Professional,可以注意到 geoset
          ????? 和工作空間的概念類似。工作空間是一個(gè)已保存的 MapInfo 表 (.tab) 和窗口的配置。無(wú)需打開(kāi)
          ????? 單個(gè)的 .tab 文件,即可使用其特定的顯示設(shè)置來(lái)打開(kāi) geoset (somefile.gst) 和所有圖層。
          ???但是, Geosets 在 MapXtreme Java 中的功能受到了限制。這些限制主要是指不可以保存到
          ???遠(yuǎn)程數(shù)據(jù)庫(kù)的 MapInfo .tab 文件。
          ???MapXtreme 不能打開(kāi) MapInfo 工作空間(.wor 文件類型)。用 MapInfoProfessional,的
          ???MapInfo Geoset 程序可以將工作空間另存為 geoset,然后用 MapXtreme Java 管理器將它加載到
          ???MapXtreme Java。
          ????? Mapinfo Geosets 的格式為 .gst
          ????? 注:mapinfo 廠家推薦使用??? .mdf??? 在實(shí)際使用過(guò)程中還是 .gst 使用比較簡(jiǎn)單

          圖元
          ???MapXtreme 中的地圖由地圖對(duì)象組成的圖層構(gòu)成。這些地圖對(duì)象可通過(guò)圖元對(duì)象在 MapXtreme
          ???中訪問(wèn)。此處有三種基本圖元類型:
          ???
          ???區(qū)域:?指覆蓋給定區(qū)域的閉合對(duì)象。可以想像為一個(gè)面,其中包括多邊形、橢圓和矩形。
          ???????區(qū)域包括國(guó)界、郵政編碼邊界和銷售區(qū)域等。
          ???點(diǎn)對(duì)象:表示數(shù)據(jù)的單一位置。就是一個(gè)點(diǎn),不能縮放,其示例包括客戶位置、飯店和停車計(jì)時(shí)器等。
          ???線對(duì)象:覆蓋給定距離的開(kāi)放對(duì)象。包括直線、折線和弧線等。其示例有街道、河
          ???????流和電力線路等。
          ???????
          ???不同類型的對(duì)象可以放在同一個(gè)圖層中,最常見(jiàn)的是每種對(duì)象放在一個(gè)單獨(dú)的圖層中,單獨(dú)放置時(shí),
          ???使用起來(lái)比較方便.??

          樣式

          ???MapXtreme Java 地圖中的所有圖元均顯示特定的可見(jiàn)特征,例如顏色或符號(hào)類型。相應(yīng)的
          ???特征也稱為樣式。MapXtreme Java 包括使用 Java2D API 渲染能力的眾多顯示屬性,其中有
          ???直線和區(qū)域的符號(hào)刷、虛線和平行線、矢量符號(hào)和縮放符號(hào)和標(biāo)記。
          ???
          標(biāo)注
          ???標(biāo)注是 MapXtreme Java 中功能強(qiáng)大的特性之一,可用于增強(qiáng)地圖功能,并向用戶提供正確
          ???的消息。標(biāo)注不僅僅局限于添加文本來(lái)說(shuō)明地圖的特性。使用 MapXtreme Java,可以控制
          ???字體類型、大小、顏色、位置,并使用光暈和輪廓線等富有創(chuàng)意的效果,為每個(gè)圖層創(chuàng)建
          ???不同的標(biāo)注。 標(biāo)注內(nèi)容可以通過(guò)從圖層數(shù)據(jù)源的一個(gè)或多個(gè)列取數(shù)據(jù)的表達(dá)式來(lái)生成。

          posted @ 2006-05-18 09:29 wjoin 閱讀(1821) | 評(píng)論 (0)編輯 收藏

          使用mapXtreme 命名資源

          昨天要用EasyLoader 把數(shù)據(jù)移到Oracle 9i 上去,移上去后發(fā)現(xiàn) 9i 沒(méi)有 JDK 1.4 和驅(qū)動(dòng),不能使用命名資源, 只好下個(gè)10G 試試.今天把mapXtreme 部署到tomcat5.5 上,發(fā)現(xiàn)mapXtreme? 自帶的打war包工具不太好用,打出來(lái)的包解不開(kāi),我直接把 MapInfo\MapXtreme-4.7.1\Tomcat-4.1\webapps 目錄下的mapviewer471?? mapxtreme471? samples471 wmsserver111 四個(gè)目錄拷貝到 Tomcat 5.5\webapps 下就行了(使用Tomcat5.5必須用JDK 5.0 亂啊!永遠(yuǎn)不能統(tǒng)一,我真希望大家都別出新版了), 然后打開(kāi)這四個(gè)文件夾,找到web.xml 文件改一下主機(jī)地址和端口號(hào)就行了.

          posted @ 2006-03-28 11:01 wjoin 閱讀(881) | 評(píng)論 (6)編輯 收藏

          解決了MapXtreme for Java 服務(wù)器崩潰問(wèn)題,運(yùn)行示例程序時(shí)崩潰

          今天找到MapXtreme for Java 服務(wù)器崩潰 的原因了(問(wèn)題見(jiàn)2月23日的BLOG     http://spaces.msn.com/wjoin/),原來(lái)MapXtreme在  \MapInfo\MapXtreme-4.7.1\Tomcat-4.1\work\Standalone\localhost 目錄下生成了許多臨時(shí)文件,再次起動(dòng)服務(wù)器的時(shí)候有問(wèn)題,只要把這些文件刪除就好了.可以在startup.bat 文件中加入一行:
           del C:\MapInfo\MapXtreme-4.7.1\Tomcat-4.1\work\Standalone\localhost /s/q 就行了.
          如下所示: (注意路徑)
           
           
          @echo off
          set CATALINA_HOME=C:/MapInfo/MapXtreme-4.7.1/Tomcat-4.1
          set CATALINA_BASE=C:/MapInfo/MapXtreme-4.7.1/Tomcat-4.1
          set JAVA_HOME=C:\j2sdk1.4.2_05
          del C:\MapInfo\MapXtreme-4.7.1\Tomcat-4.1\work\Standalone\localhost /s/q
          if not "%OS%" == "Windows_NT" goto noTitle
          set _START_TC=start "MapXtreme Java Server 4.7"
          goto start
          :noTitle
          set _START_TC=start "MapXtreme Java Server 4.7"
          :start
          rem start tomcat in the background
          %_START_TC% "C:/MapInfo/MapXtreme-4.7.1/Tomcat-4.1/bin/catalina.bat" run -config ..\Tomcat-4.1\conf\server.xml

          posted @ 2006-03-16 19:12 wjoin 閱讀(463) | 評(píng)論 (0)編輯 收藏

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章分類

          相冊(cè)

          收藏夾

          友情鏈接

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 隆尧县| 双桥区| 巴彦淖尔市| 新源县| 渑池县| 运城市| 富裕县| 同江市| 奉新县| 雷山县| 瓮安县| 吉安市| 民权县| 旬阳县| 郸城县| 焦作市| 河津市| 永德县| 新宁县| 柘荣县| 黄龙县| 内黄县| 囊谦县| 青浦区| 开平市| 克什克腾旗| 玉林市| 科技| 福建省| 左贡县| 措勤县| 遵化市| 武邑县| 福安市| 蕉岭县| 南汇区| 沁水县| 民乐县| 玉溪市| 乐陵市| 武乡县|