重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要讲解了“JavaFX开发的查找客户端可用串口列表的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaFX开发的查找客户端可用串口列表的方法”吧!
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及成都隧道混凝土搅拌车等,在成都网站建设公司、全网营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。
一、开发目的
基于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开发的查找客户端可用串口列表的方法这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!