999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Java Swing的找點軟件設計與實現

2022-10-24 09:31:22杜蘭蘭王圣波
現代計算機 2022年16期

王 勇,洪 進,杜蘭蘭,王圣波

(空軍預警學院,武漢 430019)

0 引言

標圖課程包括在標圖桌和標圖軟件中標示目標航跡,標圖軟件標示目標航跡也可以叫做計算機標圖,兩者的核心教學內容為找點、連線,最終掌握標示多批目標航跡的技能。標圖桌上是手寫標注位置和連接多個目標點,最終在標圖板上呈現完整的航跡。計算機標圖是通過鼠標點擊完成找點,由軟件自動連接目標點,最終在電腦屏幕上呈現完整的航跡,但無論是在標圖桌還是計算機上標示航跡,首先都需要找到目標點的位置,然后才能標注目標屬性、高度、發現時間等其它相關信息,進而連線形成航跡,這就意味著找點訓練是基礎。

在標圖桌上組織找點訓練比較容易,找到航跡點并進行標注,不連線即可。但是當前計算機標圖采用的軟件不具備單獨標示目標位置的找點訓練功能,所以教學進程安排通常是先進行標圖桌上的找點訓練,達到要求后推進到標圖桌上連續航跡的標示訓練,熟悉標圖桌連續航跡標示之后直接進入計算機標示連續航線的訓練。從標圖桌到計算機,手工標示到軟件標示是一個比較大的跨越,需要熟悉軟件各功能所在區域,掌握軟件操作技巧,靈活使用鼠標在屏幕中快速找到航跡點,補充其它相關信息。另外,跨到計算機標圖后只能從難度較大的標示航跡入手,缺少了找航跡點這一基礎訓練環節,計算機標圖的兩大跨越對于很多基礎薄弱的學員來說門檻高、起步難、訓練受阻、倍受打擊,畏難情緒與日俱增,后續的提升訓練越發力不從心、惡性循環,學員成績不理想,不能完成培養目標,教員壓力增加。所以,無論是教學考核要求還是個人技能提升,不管是從教員還是學員的角度,降低計算機標圖的門檻,縮小標圖桌標圖到計算機標圖的跨度,對學員掌握標圖技能至關重要。

本文旨在設計開發計算機標圖找點訓練軟件,為計算機標示目標航跡提供基礎訓練,在軟件找點訓練中熟悉計算機操作。此外,找點訓練簡單、易上手,學員學習的積極性得到提升,掌握之后再過渡到計算機標示目標航跡也不至于手足無措。

1 Java Swing技術及軟件設計

1.1 Java Swing技術

Java Swing技術主要是用于構建跨平臺桌面窗口程序,它是在AWT(abstract window tookit)基礎上采用Java語言編寫的一種圖形組件庫技術。Java Swing組件除了是輕量級的,即在運行時不需要產生相應的“對等(Peer)”組件,實際由自身外觀類支持,沒有本地代碼,不依賴操作系統,而且它的外觀是可插拔的(pluggable look-and-feel)。Swing組件包括各種容器和基本組件,容器主要用來容納和布置基本組件,也可以包含相應的容器。常見的容器有JFrame、JDialog、JPanel等;常見的基本組件包括按鈕JButton、標簽JLabel、單選按鈕JRadio-Button。組件之間的關系如圖1所示。

圖1 組件關系圖

1.2 找點軟件設計

圖2所示為本軟件的系統架構圖,分為功能界面層、基礎組件層、數據存儲層,每一層的實現都依賴下一層提供的支持,用戶交互界面使用Swing提供的豐富基礎組件來構建,通過監聽控件的鼠標事件來完成具體功能的業務處理。鑒于軟件沒有網絡請求的需求,可以做成單機版,因此持久化數據采用本地文件進行存儲,訪問本地文件系統避免了網絡傳輸的耗時,運行速度更快。

圖2 找點軟件系統架構圖

2 關鍵技術及實現

2.1 軟件找點

以雷達位置為圓心,通過編程繪圖模擬雷達掃描區域,半徑是雷達最大探測距離,軟件語音播報表示目標坐標位置的方位距離數據,根據掃描區域大小將方位距離的數值按比例轉換成坐標點,學員在模擬的掃描區域內找到該坐標點的大致位置,鼠標點擊即可放大點擊位置附近的區域,放大區中顯示方位距離輔助線,在放大區中找到并點擊方位距離的準確位置。

2.2 坐標回顯

在放大區中點選目標位置之后,放大區消失,將放大區中點選的坐標點經過等比縮小變換后回顯到極坐標中。

2.3 重繪標記

軟件找點訓練需要實時顯示找到的點跡和對應的正確點跡,找點過程是動態的,所以繪制點跡也是動態的。Swing組件繪圖會先把組件中之前的內容清空,然后開始繪制傳入的新內容,所以每次繪制標記目標的坐標值后都需要保存當前內容用于下一次重繪。

2.4 語音播報

該功能在Java項目中引入第三方依賴jacob.jar,其內部使用JNI封裝了對動態鏈接庫jacob-1.18-x86.dll中C++操作系統語音功能接口的方法調用,所以首先需要將dll文件拷貝到C:\Windows\System32目錄,文件拷貝代碼如圖3所示,將該段代碼的執行放在軟件入口處,軟件一經啟動就完成dll文件拷貝。另外,還需要把dll文件放到Java環境的jrein目錄下,在制作.exe文件時會將jre內置進去。

圖3 拷貝dll文件代碼

想定報底中的方位距離是阿拉伯數碼,軍事通信都使用軍用數碼,所以需要將其轉換成軍用數碼,阿拉伯數碼與軍用數碼的對應發音見表1。轉換之后,表示目標位置的“084,290”就變成了“洞八四兩溝洞”。另外,為適應雷達兵部隊,語音播報要使用男聲,因此在運行軟件之前還需要安裝專門的語音包,避免使用系統自帶的默認女聲,安裝文件TTS\NextUp.com-NeoSpeech Chinese Wang16 Voice.msi,選擇語音包和進行其它配置都可以通過在播報內容中添加xml標簽進行設置,比如指定語音包之后播報內容就是“”,Name的取值對應語音包在系統注冊表中的Name屬性值。

表1 軍用數碼對應表

根據教學進程、學習情況、熟練程度需要對想定播報的速度進行調整,播放速度通過兩個參數進行控制,一個是報讀文本本身內容的速度,實現方式為“”,speed的取值為-10到10,一個是報讀每個目標位置之間的間隔時間,實現方式為“”,msec單位是毫秒,比如“洞 八 四 兩 溝 洞”表示以速率5讀完“洞八四兩溝洞”之后,間隔3秒才讀下一個文本內容。

2.5 坐標變換

有時找點訓練結束后會對軟件判定結果有所懷疑,所以每次訓練都會把找點結果保存到文件中,這樣可以通過校對結果與想定報底來進行驗證,但是界面上找到的點跡是鼠標位置在坐標系中相對坐標原點在軸、軸方向上的偏移量,而報底中的數據都是方位距離格式,為了便于校對,需要把坐標值轉換成方位距離數據。此外,當鼠標在界面中移動時,實時顯示鼠標位置對應的方位距離信息,有助于更好地找點,這種情況也需要把坐標值轉換成方位距離。

圖4 坐標值轉換成方位距離

、的計算公式如下:

在找點訓練中,為了在軟件界面上直觀顯示找到的點跡與正確報底之間的偏差,除了在界面上顯示找到的點跡,還要把想定報底標注在界面上。但由于想定報底用方位距離表示目標位置,軟件界面用坐標系中的坐標值表示位置,因此需要把方位距離轉換成坐標值。

圖5 方位距離轉換成坐標值

Δ、Δ、、的計算公式如下:

2.6 誤差計算

通過三角和反三角函數將方位距離數據轉換成屏幕坐標值以及坐標轉換計算的結果都是浮點數類型,而Swing獲取的鼠標位置都是整數類型,浮點數強制轉換成整數會丟失小數部分的精度,所以會導致找到的點跡與想定中的對應的目標位置存在一定誤差。

對于找到的點跡集合中的每一個數據,循環遍歷想定中的目標位置集合,逐個計算與點跡坐標之間的距離,距離小于2 km的都算正確,以此消除找點誤差。

3 運行效果

如圖6所示,軟件界面布局分為左右兩部分,左側是模擬的雷達掃描界面,同心圓的中心是雷達所在位置,四個同心圓分別為與雷達相距100 km、200 km、300 km、400 km的距離圈,每偏轉30°繪制一條方位輔助線。右側最上面是鼠標移動時在屏幕中的坐標實時轉換成方位距離之后的信息和系統當前時間,想定屬性選擇區用來指定生成想定時的參數,包括生成的方位數據的要求、距離數據的要求、想定個數,想定播報區可以調整想定播放的速度和選擇訓練模式,貫徹由易到難、循序漸進的教育訓練方針,功能區提供使用者操作的功能按鈕。

圖6 軟件主界面

聽到語音播報的方位距離信息之后,在模擬掃描界面可以大致定位其位置,點擊該位置就會顯示放大區。如圖7所示,放大區中1~360°每一度都有輔助線,間隔10 km就有距離圈輔助線,按住鼠標在放大區中拖動時,放大區中黑色數據是鼠標在屏幕上的坐標值實時轉換成的方位距離,隨鼠標同步移動,便于快速準確找點。

圖7 局部放大

在放大區中準確找到目標位置后,鼠標點擊,放大區消失,放大區中的坐標等比縮小轉換后顯示在模擬掃描界面,如圖8所示。圖中紅色等邊三角形表示找到的點跡,藍色表示目標真實的位置。找點訓練結束后,左下角面板中顯示正確、錯誤、遺漏點數。

圖8 結果顯示

4 結語

采用Java Swing技術開發的找點訓練軟件,涵蓋了生成想定、載入和語音播報想定、找點、誤差計算等主要功能,貫穿計算機找點訓練的整個過程,為計算機標示目標完整航跡提供基礎訓練。但是語音播報線程與結果顯示線程不能異步進行,不能同步通信,存在界面顯示的當前目標點與播報點不一致問題,另外,當前使用的語音包只支持Win7 32位系統,這限制了軟件的使用范圍,下一步考慮更換引入DLL播報語音的方式。

主站蜘蛛池模板: 国产午夜无码专区喷水| 国产网站黄| 国产本道久久一区二区三区| 久久99这里精品8国产| 老司机午夜精品视频你懂的| 青青操视频在线| 天堂在线亚洲| 无码专区第一页| 日韩欧美中文| 亚洲无线视频| 精品第一国产综合精品Aⅴ| 日本福利视频网站| 免费A∨中文乱码专区| 91 九色视频丝袜| 影音先锋丝袜制服| 无码AV动漫| 欧美黄网在线| 国产成人一区免费观看| 99热国产这里只有精品9九 | 中国毛片网| 日韩欧美国产精品| 亚洲国产精品日韩欧美一区| 国模私拍一区二区 | 国产鲁鲁视频在线观看| 亚洲欧美日韩久久精品| 亚洲精品无码抽插日韩| 一级毛片免费不卡在线| 欧美成人日韩| 久久成人国产精品免费软件 | 国产精品自在自线免费观看| 国产成人综合欧美精品久久| 永久免费无码成人网站| a免费毛片在线播放| www.国产福利| 精品国产网| 人人爽人人爽人人片| 亚洲av无码久久无遮挡| 一本大道东京热无码av| 97国内精品久久久久不卡| 又粗又大又爽又紧免费视频| 五月婷婷综合色| 热99精品视频| 国产高清在线精品一区二区三区 | 亚洲一欧洲中文字幕在线| 亚洲天堂伊人| 亚洲电影天堂在线国语对白| 久久综合色播五月男人的天堂| 欧美日韩亚洲国产主播第一区| 69精品在线观看| 中文字幕无码制服中字| 午夜福利亚洲精品| 国产人妖视频一区在线观看| 欧美笫一页| 欧美精品1区2区| 亚洲精品无码不卡在线播放| 日韩无码黄色| 国产免费网址| 国模私拍一区二区三区| 亚洲精品va| 国产综合网站| 67194亚洲无码| 午夜天堂视频| 青青国产视频| 欧美精品亚洲日韩a| 麻豆国产精品一二三在线观看| 国产微拍精品| 欧美精品伊人久久| 全部免费毛片免费播放 | 国产精品无码一二三视频| 丁香六月综合网| 伊人色综合久久天天| 国产福利小视频高清在线观看| 欧美区一区| 国产手机在线小视频免费观看| 婷婷99视频精品全部在线观看| 国产精品香蕉| 免费av一区二区三区在线| 久久人人97超碰人人澡爱香蕉| 亚洲va视频| 国产永久在线视频| 国产簧片免费在线播放| 亚洲A∨无码精品午夜在线观看|