您好,登錄后才能下訂單哦!
這篇文章主要講解了“JavaFX開發的查找客戶端可用串口列表的方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“JavaFX開發的查找客戶端可用串口列表的方法”吧!
一、開發目的
基于B/S結構,在客戶端查找可用的串口列表。
二、開發環境
NetBeans IDE 6.5 for JavaFX 1.0,tomcat5,rxtx 2.1-7r2
三、相關資源
1、java串口操作框架,下載 rxtx 2.1-7r2。
2、了解串口操作,參考http://rxtx.qbang.org/wiki/index.php/Examples
3、開發工具,下載 NetBeans IDE 6.5 for JavaFX 1.0
4、了解JavaFX,參考http://developers.sun.com.cn/JavaFX/docs/tutorials/
其他資源略
四、編碼
1、首先開發串口操作程序DiscoveringAvailablePorts.java
public static List getAvailableSerialPortsName() { List result = new ArrayList(); Enumeration thePorts = CommPortIdentifier.getPortIdentifiers(); while (thePorts.hasMoreElements()) { CommPortIdentifier com = (CommPortIdentifier) thePorts.nextElement(); switch (com.getPortType()) { case CommPortIdentifier.PORT_SERIAL: try { CommPort thePort = com.open("CommUtil", 50); thePort.close(); result.add(com.getName()); } catch (PortInUseException e) { System.out.println("Port, " + com.getName() + ", is in use."); } catch (Exception e) { System.err.println("Failed to open port " + com.getName()); e.printStackTrace(); } } } return result; }
注:RXTXcomm.jar 拷貝到: %JAVA_HOME%"jre"lib"ext
rxtxSerial.dll 拷貝到: %JAVA_HOME%"jre"bin
并在開發的工程中引入RXTXcomm.jar
2、然后開發界面程序SerialConfig.fx
var portNames = new DiscoveringAvailablePorts().getAvailableSerialPortsName(); var label = SwingLabel{text: "serial port: "}; var combobox = SwingComboBox{ width: 100 items:[ SwingComboBoxItem{ text: "Please select" }, for (idx in portNames) { SwingComboBoxItem{ text:idx.toString()} } ] selectedIndex: 0}; var button = SwingButton{text: "Save"}; Stage { title: "Components" width: 344 height: 240 visible: true scene: Scene{ fill: Color.CORNSILK content: VBox{ translateX: 10 translateY: 30 spacing: 20 content:[ HBox{ spacing: 10 content:[label,combobox,HBox{ translateX:40 content:[button]}] } ] } } }
注:開發上面的程序時候,在NB中建立JavaFX項目,名稱JavaFXTutorial。
3、***建立一個最簡單的web工程,并編寫頁面程序index.jsp。
<body> This is my JSP page. <br> <script src="http://dl.JavaFX.com/dtfx.js"></script> <script> JavaFX( { archive: "<%=path%>/JavaFXTutorial.jar", width: 400, height: 200, code: "com.howelltech.SerialConfig", name: "JavaFXTutorial" } ); </script> </body>
五、部署
1、NB項目屬性中,在Run配置中選擇Run in Browser;在Application配置中選擇Self Signed Jar,其他可選。
2、 NB項目目錄中,在dist目錄中,存在JavaFXTutorial.html、JavaFXTutorial.jar、 JavaFXTutorial_browser.jnlp三個文件和lib目錄包括RXTXcomm.jar一個文件。把此目錄中所有文件拷貝到剛才建立好的web工程中,與index.jsp同路徑。
六、測試
1、在服務器端,如果不啟動tomcat可以直接執行JavaFXTutorial.html既能看到效果。如果啟動tomcat,那么必須修改JavaFXTutorial_browser.jnlp中的端口號,要與tomcat使用的一致。
2、在客戶端,必須拷貝rxtxSerial.dll到 %JRE_HOME%"bin下,然后直接訪問服務器鏈接就可以。
開發完成后,總體感覺JavaFX比applet要方便,無論是編碼還是部署。但是開發JavaFX的時候也有很多不方便的地方,比如目前的IDE不支持圖形化開發,雖然支持一些控件的托拽,但終歸是代碼不夠直觀;另外,JavaFX程序發布后在客戶端運行得還是有些慢。終歸是個新技術,還需要慢慢適應啊。
另外,遺留下來兩個問題,看看大家有什么好辦法。
1、關于客戶端需要拷貝rxtxSerial.dll問題,有沒有更加方便的方法。
2、JavaFX項目打包問題,有沒有更好的方法,比如打個包,其他頁面就可以直接調用。
感謝各位的閱讀,以上就是“JavaFX開發的查找客戶端可用串口列表的方法”的內容了,經過本文的學習后,相信大家對JavaFX開發的查找客戶端可用串口列表的方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。