2006年3月12日
在mapxtreme 中visualMapJ1MouseClicked 事件只能便用左鍵,如果想要右鍵彈出信息的話,非常的不方便,下面是一個臨時的解決辦法:
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(); // 建個機(jī)器人
robot.mousePress(InputEvent.BUTTON1_MASK); //模擬左鍵按下
robot.mouseRelease(InputEvent.BUTTON1_MASK); //左鍵彈起
} catch (AWTException ex) {
ex.printStackTrace();
}
}
}
我嘗試了很多辦法,因?yàn)閙apxtreme 中有很多類都是受保護(hù)的,在自己的程序中沒法使用,而且,它耦合度非常的高,我曾經(jīng)想把其中幾個類反編譯過來使用,結(jié)果發(fā)現(xiàn),需要反編譯的類越來越多,以至于最后可能要把整個mapxtreme都反編譯過來,所以我放棄了這種想法,只好用模擬實(shí)現(xiàn),另外,MapMouseEvent 繼承了 MouseEvent 但是沒有提供BUTTON 參數(shù),使得左鍵和中鍵可以讀取到,而右鍵卻不行,所以只好用如此古怪的方法。
可能我不應(yīng)該叫它技術(shù)復(fù)雜度, 準(zhǔn)確的說法應(yīng)該是"從UFP 到SLOC 的缺省轉(zhuǎn)換率",公布出來供大家參考.
以下數(shù)據(jù)來自 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
第一代語言?????????????????????320
第二代語言?????????????????????107
第三代語言?????????????????????80
第四代語言?????????????????????20
第五代語言?????????????????????4
高級語言????????????????????????64
報(bào)表生成器?????????????????????80
我們公司希望通過語言復(fù)雜度來決定項(xiàng)目獎金,可是哪一種語言技術(shù)含量更高呢? 大家來投一下票吧,
請選出您熟悉的五種以上語言,按復(fù)雜度排一下序,(最復(fù)雜的排在最前面).謝謝支持!
APL、A+、J 、ASP、Ada 、匯編語言、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
表:?
????? 通常表示一個圖層的所有信息包括"幾何信息"和"屬性信息" mapinfo使用( .tab)格式,可以用
????? 文本編輯器打開
???MapInfo .tab 文件可以組織成為一組用于構(gòu)建圖層的文件。MapInfo 表包含以下類型的關(guān)聯(lián)文件:
???
???*.tab:此文件說明 MapInfo 表的結(jié)構(gòu)。這是一個說明數(shù)據(jù)文件格式的小文本文件。
???*.dat(.mdb, .dbf, .txt, .xls or .wks):這些文件包含制表數(shù)據(jù)。
???*.map:此文件說明圖形對象(如果表沒有地圖對象,則該文件將不存在)。
???*.id:此文件是一個交叉索引文件,鏈接數(shù)據(jù)和對象(如果表沒有地圖對象,則該
???文件將不存在)。
???*.ind: 這是一個索引文件。使用該索引文件,可搜索地圖對象(如果表沒有索引,
???該文件將不存在)。
???這些文件在一起構(gòu)成 MapXtreme Java 中的單一 .tab 圖層。
地圖定義:
????? 地圖定義說明了構(gòu)成地圖的數(shù)據(jù),包括所要顯示的數(shù)據(jù)、存儲位置、數(shù)據(jù)組織為圖層的方
???式、數(shù)據(jù)的顯示方式(如所用顏色、標(biāo)注圖元、地圖縮放設(shè)置)。
????? 地圖定義的格式為:??? .mdf????????
MapInfo Geosets:
?????? MapInfo .tab 文件集稱為 geoset。 如果熟悉 MapInfo Professional,可以注意到 geoset
????? 和工作空間的概念類似。工作空間是一個已保存的 MapInfo 表 (.tab) 和窗口的配置。無需打開
????? 單個的 .tab 文件,即可使用其特定的顯示設(shè)置來打開 geoset (somefile.gst) 和所有圖層。
???但是, Geosets 在 MapXtreme Java 中的功能受到了限制。這些限制主要是指不可以保存到
???遠(yuǎn)程數(shù)據(jù)庫的 MapInfo .tab 文件。
???MapXtreme 不能打開 MapInfo 工作空間(.wor 文件類型)。用 MapInfoProfessional,的
???MapInfo Geoset 程序可以將工作空間另存為 geoset,然后用 MapXtreme Java 管理器將它加載到
???MapXtreme Java。
????? Mapinfo Geosets 的格式為 .gst
????? 注:mapinfo 廠家推薦使用??? .mdf??? 在實(shí)際使用過程中還是 .gst 使用比較簡單
圖元
???MapXtreme 中的地圖由地圖對象組成的圖層構(gòu)成。這些地圖對象可通過圖元對象在 MapXtreme
???中訪問。此處有三種基本圖元類型:
???
???區(qū)域:?指覆蓋給定區(qū)域的閉合對象。可以想像為一個面,其中包括多邊形、橢圓和矩形。
???????區(qū)域包括國界、郵政編碼邊界和銷售區(qū)域等。
???點(diǎn)對象:表示數(shù)據(jù)的單一位置。就是一個點(diǎn),不能縮放,其示例包括客戶位置、飯店和停車計(jì)時器等。
???線對象:覆蓋給定距離的開放對象。包括直線、折線和弧線等。其示例有街道、河
???????流和電力線路等。
???????
???不同類型的對象可以放在同一個圖層中,最常見的是每種對象放在一個單獨(dú)的圖層中,單獨(dú)放置時,
???使用起來比較方便.??
樣式
???MapXtreme Java 地圖中的所有圖元均顯示特定的可見特征,例如顏色或符號類型。相應(yīng)的
???特征也稱為樣式。MapXtreme Java 包括使用 Java2D API 渲染能力的眾多顯示屬性,其中有
???直線和區(qū)域的符號刷、虛線和平行線、矢量符號和縮放符號和標(biāo)記。
???
標(biāo)注
???標(biāo)注是 MapXtreme Java 中功能強(qiáng)大的特性之一,可用于增強(qiáng)地圖功能,并向用戶提供正確
???的消息。標(biāo)注不僅僅局限于添加文本來說明地圖的特性。使用 MapXtreme Java,可以控制
???字體類型、大小、顏色、位置,并使用光暈和輪廓線等富有創(chuàng)意的效果,為每個圖層創(chuàng)建
???不同的標(biāo)注。 標(biāo)注內(nèi)容可以通過從圖層數(shù)據(jù)源的一個或多個列取數(shù)據(jù)的表達(dá)式來生成。
昨天要用EasyLoader 把數(shù)據(jù)移到Oracle 9i 上去,移上去后發(fā)現(xiàn) 9i 沒有 JDK 1.4 和驅(qū)動,不能使用命名資源, 只好下個10G 試試.今天把mapXtreme 部署到tomcat5.5 上,發(fā)現(xiàn)mapXtreme? 自帶的打war包工具不太好用,打出來的包解不開,我直接把 MapInfo\MapXtreme-4.7.1\Tomcat-4.1\webapps 目錄下的mapviewer471?? mapxtreme471? samples471 wmsserver111 四個目錄拷貝到 Tomcat 5.5\webapps 下就行了(使用Tomcat5.5必須用JDK 5.0 亂啊!永遠(yuǎn)不能統(tǒng)一,我真希望大家都別出新版了), 然后打開這四個文件夾,找到web.xml 文件改一下主機(jī)地址和端口號就行了.
今天找到MapXtreme for Java 服務(wù)器崩潰 的原因了(問題見
2月23日的BLOG http://spaces.msn.com/wjoin/),原來MapXtreme在 \MapInfo\MapXtreme-4.7.1\Tomcat-4.1\work\Standalone\localhost 目錄下生成了許多臨時文件,再次起動服務(wù)器的時候有問題,只要把這些文件刪除就好了.可以在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
上周新買了臺電腦,主板Intel D945PL RN ,裝好后速度不錯,就是麥克風(fēng)沒音,看網(wǎng)上的貼子說原裝的驅(qū)動有問題,得下載一個官方最新版的驅(qū)動,折騰了一天,驅(qū)動刪了N回,還是不行,郁悶。
說一說配置吧:
主板:Intel D945PL RN 790
CPU :Intel p4 2.8G EM64 885
內(nèi)存: 金士頓512M 外頻533 400
硬盤:金鉆160G ,8M緩存,串口(硬盤聲音太大) 610
顯示器: GOLDPC 17“寬屏(1024*768) 2200
顯卡:雙敏6516 128位,128M 450
機(jī)箱電源: (長城電源,雜牌小機(jī)箱) 360
鍵鼠:BENQ 套件 95
攝像頭:80萬像素(比較次,非常次,德亞的) 送