08
2013
08

使用可视化布局工具开发JavaFX应用

Oracle为JavaFX提供了可视化的布局工具JavaFX Scene Builder,用来替代繁琐的界面设置代码和脑补预览,并可以方面地将界面控件与逻辑代码绑定,点击进入官方下载

JavaFX Scene Builder其实是一款JavaFX使用的FXML编辑器,类似于android的布局系统,初步使用了一段时间,发现体验很不错,要优于大部分Swing插件,当然比起微软的那一套还有差距。得益于JavaFX优雅的设计,它在使用时不需要设置一大堆容器和复杂的布局,基本上拖拖拽拽和简单的设置就能实现大部分布局,此外还支持css以及界面预览功能,可以简单查看实际运行效果。

2.png

……

07
2013
08

JavaFX简介与使用入门

JavaFX是Sun于2007年推出的富互联网应用开发技术(RIA)。所谓RIA,就是页面体验和数据交互都基于web,提供跨平台,拥有丰富的体验,且易于部署的应用程序。了解更多RIA可以参照维基百科上的内容。

1_book_swiss_armyknife

RIA普遍被认是未来互联网应用发展趋势的热门技术,比如Air、Flex、Silverlight、Google GWT甚至HTML5等。JavaFX诞生之初,adobe借助flash普及,谷歌、微软借助系统和浏览器,优势都很明显,相比之下JavaFX形势不乐观也受到较少的关注。2007年Sun发布JavaFX1.0的时候以JavaScript作为语言,具有一定的学习成本,使用起来也并不方便。后来Oracle发布JavaFX 2.0,增加了很多新特性,并明智地抛弃js选择Java作为开发语言。这样一来,广大开发者可以毫无困难地使用JavaFX,并吸收Java大量的现有框架。JavaFX 2.0使用起来有点像简洁版的Swing,但其强大的地方在于可以使用FXML定义应用的布局实现逻辑与界面分离,有点类似Android的布局系统,这也是经典的MVC理念,官方还提供完善的布局设计工具,体验要优于任何Swing插件。此外,JavaFX 2.0还可以开发3D应用、媒体应用等,支持GPU渲染,更厉害的是像页面一样支持CSS,可以轻松实现自定义的界面风格。到目前为止,JavaFX支持windows、mac、linux平台,ARM版的也在准备中,事实上已经可以通过RoboVM在IOS上运行JavaFX了,有迹象表明官方也将对移动平台提供支持。由此可见选择JavaFX的有着众多优点,虽然HTML5在崛起,而JavaFX也有依赖较新版本JRE的软肋,但凭借Oracle的推广和近乎无限的Java资源,JavaFX必将在未来RIA第一阵营中占有一席之地。

……

04
2013
08

翻出一个高二写的游戏

QQ截图20130804001928.jpg

哈哈哈哈!翻到个屌炸了天的东西!还自带地图编辑器有木有?!尼玛在软件里留学校班级是多么洋气的行为!

31
2013
07

JAVA中如何等待所有子线程处理完毕

多线程开发中,经常会遇到某个操作需要等待其它线程处理完毕才能执行。比如主线程要等若干个数据库提交线程处理完毕后关闭数据库连接,如果用join会让线程变成顺序执行,失去了多线程的意义,如果用计数来标记逻辑上又混乱,这里介绍JAVA提供的一个多线程同步工具类:

java.util.concurrent.CountDownLatch
 

CountDownLatch使用很简单,在构造的时候指定线程的数量标记,每当一个子线程run()执行完毕以后调用一次其countDown()方法来标记一个线程执行结束。在主线程中通过await()方法来完成与其它线程的同步。

29
2013
07

Eclipse下如何用libgdx开发html5

Libgdx如何安装配置这里不再阐述。官方对如何开发调试HTML5几乎没什么介绍,网上资料也较少,这里简单讲解一下如何配置环境。

首先创建libgdx工程时可以用其提供的创建工具建立包含HTML5的工程,但是导入html5的工程文件会无法识别,这是因为缺少Google plugin和Google Web Toolkit,去这里下载www.gwtproject.org/download.html,Google plugin仅安装Google Plugin for eclipse即可。

28
2013
07

2D光照引擎BOX2D LIGHTS

这个屌炸天的框架可以让你的BOX2D物理游戏拥有炫酷的效果,并且同BOX2D一样非常容易使用。

项目地址:https://code.google.com/p/box2dlights/

image


目前这个项目是基于libgdx开发的,不过作者也表示它可以很容易地移植到其它框架或者原生的openGL中去。通过我的实践来看,确实搭配libgdx使用起来更加方便。

这里还有一个老外做的教学视频,教你如何在libgdx里创建光效(记得挂代理):

http://www.youtube.com/watch?v=O1zW2XETuXA


24
2013
07

RoboVM迎来0.0.3

   昨天在RoboVM博客得知其发布了0.0.3版。这次最大的改变就是以JNI形式内嵌了llvm,并且只需要安装RoboVM的eclipse插件即可完成配置(http://download.robovm.org/eclipse/)。相比之前要安装llvm、RoboVM以及eclipse插件的繁琐步骤,现在不仅将配置RoboVM变成一键完成,还提升了项目40%的编译速度。

   另外作者最近曾发布过RoboVM进行openGL开发,以及运行javaFX示例、libgdx示例的文章,从结果来看,虽然有些不完美,但总体适配情况令人满意。libgdx作者也发表过类似文章肯定了libgdx在RoboVM上的运行效果,并多次表示将加强与RoboVM的合作。

   虽然RoboVM还仅停留在0.0.3版,离正式商用尚有一段距离,但从目前的情况来看,它已经具备一定的实用性,只是很多细节还需要处理,相信在作者的努力下,不久的将来JAVA一定能在IOS上大放异彩。


22
2013
07

我们这代人的浮躁

   网上一些社会热点相关的微博和论坛总是骂成一团,体现了一个乌烟瘴气的互联网,而我们又是当前互联网的主力军,所以充分体现了我们这代人的浮躁,举几个例子:


   凡是小贩和城管的照片,配上几行字就一定是城管不好。其实有些小贩占道经营,满地垃圾,我都巴不得去打他一顿……无论是非对错,总得弄清楚情况再下定论,大家还没辨清是非就一股脑去偏袒一方,那就算被偏袒的人是错的,也成了对的。长此下去,岂不是凡是自命弱势群体的,都可以撒泼妄为了?

21
2013
07

Ubuntu下如何安装oracle jdk

我使用的是Ubuntu12.04 LTS,关于如何安装配置JDK网上五花八门,有效的没几个,下面以最新的JDK1.7.0_25为例,根据我的实际操作简单说明步骤。

首先去oracle下载JDK的linux版,如jdk-7u25-linux-x64.tar.gz,解压后获得jdk1.7.0_25文件夹。

ctrl+alt+t打开终端,

1)sudo su获得root权限

2)创建一个文件夹用于保存jdk,如:mkdir /usr/lib/jvm

21
2013
07

Dota2的mac os版发布喽!

今天valve同时发布了dota2的mac版和linux版,以后可以在osx和ubuntu下打dota2啦!

image