了解下JAVA的浅谈Java和JavaFX之间的互操纵性
但是我同意你的观点,对于大型项目来说,应该是采用框架的一部分,根据功能的不同而改进,欢迎你能再提出些宝贵意见,我会多多学习的。说到jbuilder,我可能是个人感觉,用的时候确实没有vs爽,我最喜欢的IDE是netbeans,谢谢。从JavaFX官方博客上读了一篇文章,是会商从Java代码中挪用JavaFX类的办法。如今的情形是,JavaFX能够挪用Java的类,基础没有甚么限定,而反过去,Java却不成以任意挪用JavaFX的类。这点能够从JavaFX项目标编译历程看出缘故原由。以NetBeans为例,Build的历程是先编译Java代码(javac),然后才是JavaFX代码(javafxc),如许一来,Java代码不晓得有JavaFX类,而JavaFX类却能够”瞥见”Java类。搜刮一下我们能够发明,良多程序员都在寻觅各类从Java中挪用JavaFX类的办法。有一篇风趣的(英文)文章是先容怎样经由过程反向工程来剖析JavaFX类的布局。就连那篇JavaFX官网上的文章,也接纳了非尺度的API来完成这一目标,并且也”包管”这类办法一定会鄙人一版本中生效。
那末我们究竟需不必要Java和JavaFX之间的这类互操纵性呢?我以为这类互操纵性是很有需要的。假如二者能够近似于能够混用的水平,从久远上看,JavaFX能够有更年夜的性命力。试想一下使用MVC的计划形式(Model-View-Controller),我们能够用Java和JavaFX分离在一同开辟使用:用Java来写”M”和”C”两部分,用JavaFX来写”V”部分,这将长短常风趣的一件事变。
今朝,有几种”尺度”的办法来从Java挪用JavaFX。
1.利用ScirptEngineManager类,的文章提到,我们能够如许做:
packagecalc;
importjava.io.InputStreamReader;
importjavax.script.ScriptEngine;
importjavax.script.ScriptEngineManager;
importjavax.script.ScriptException;
publicclassCalculatorLauncher{
publicstaticvoidmain(String[]args){
try{
ScriptEngineManagermanager=newScriptEngineManager();
ScriptEngineengine=manager.getEngineByExtension("fx");
InputStreamReaderreader=newInputStreamReader(CalculatorLauncher.cla
ss.getResourceAsStream("Calculator.fx"));
engine.eval(reader);}catch(ScriptExceptionex){}
}
}
可是,这类办法实在没有多粗心义,由于它就是象System.exec(”calc”)那样做个体系挪用罢了。我以为还不如用System.exec(”JavaFXCalculator.fx”)加倍间接一些。
2.接纳JavaReflection来剖析JavaFX的bytecode,失掉各个method或属性,然落后行各类挪用。道理上这是可行的。可是因为reflection十分庞大,使得有用性年夜打扣头,同时,代码也没有甚么可读性了。
3.第三种办法是界说一个Java的interface,然后在JavaFX中完成这个interface。比方:
publicinterfaceJavaInterface{...}
在MyJavaFXClass.fx中,能够如许写:
publicclassMyJavaFXClassextendsJavaInterface
{...}
在Java代码中,只需依照interface来挪用JavaFX对象便可。这类办法能够办理年夜部分互操纵性的成绩。独一的贫苦就是必须界说一年夜堆interface,可是这是我今朝地位发明的一种最好的办理情势。
JavaFX如今是刚公布的初版,以是我们无需对它苛求太多了。不外我仍是但愿JavaFX的计划者鄙人一版本中仔细思索这个成绩。
先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。 让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。 接着就是EJB了,EJB就是Enterprise JavaBean, 看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的 Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。 是一种将安全性(Security)列为第一优先考虑的语言 是一种使用者不需花费很多时间学习的语言 是一种为 Internet发展的计算机语言 Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台 如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
页:
[1]