2006年12月15日
#
摘要: 我猶豫了好一陣才決定寫(xiě)JavaFX的語(yǔ)法部分。個(gè)人認(rèn)為這是學(xué)習(xí)中最枯燥的部分。因?yàn)镴avaFX的語(yǔ)法非常簡(jiǎn)單且直觀,比如Sun提供的在線 Tutorial的GUI部分,即使你是第一次聽(tīng)說(shuō)JavaFX這個(gè)東西,只要你稍有一點(diǎn)點(diǎn)編程經(jīng)驗(yàn),你也基本上能夠毫無(wú)障礙地理解這個(gè)Tutorial 的內(nèi)容了。
話雖如此,部分語(yǔ)法可能確實(shí)會(huì)造成一些理解困難,比如有的地方分隔符用逗號(hào)(,)分號(hào)(;)和空格都可以,def和var的區(qū)別,=>操作符,等等這些還得初看一遍語(yǔ)法才能理解(當(dāng)然,基本上就沒(méi)有必要看第二遍了吧)。因此,我也在此將JavaFX的語(yǔ)法照著Sun的語(yǔ)法 Tutorial快速地過(guò)一遍,為以后打下一個(gè)堅(jiān)實(shí)(!)的基礎(chǔ),呵呵。
閱讀全文
/**
以前寫(xiě)了一個(gè)JavaFX入門(mén)例子,但由于JavaFX正式版中變化較大,那個(gè)例子已無(wú)法在正式版中運(yùn)行,因此重寫(xiě),標(biāo)題叫1u1,也是遵守Sun的更新規(guī)范,代表update1,呵呵
文:西門(mén)町學(xué)士
*/
08
年12月4日,Sun正式發(fā)布了JavaFX1.0。JavaFX在演進(jìn)過(guò)程中發(fā)生了很多的變化,因此,我以前寫(xiě)的JavaFX的第一個(gè)
HelloWorld的例子已經(jīng)無(wú)法在正式版下運(yùn)行,于是在這里重寫(xiě)那個(gè)例子。而新的API我也還沒(méi)有開(kāi)始學(xué)習(xí),只好大略地瀏覽了一遍API就草草寫(xiě)就,
因此,這個(gè)例子雖然在1.0版下正確運(yùn)行,卻未必就是最適合的寫(xiě)法,以后如發(fā)現(xiàn)問(wèn)題再來(lái)update2吧,呵呵……
正式版中很多包的命名有了天翻
地覆的變化,class的位置和名稱很多也面目全非。比如GUI這塊就經(jīng)歷了由javafx.ui變化成javafx.gui再變化成
javafx.scene和javafx.application再進(jìn)化成javafx.scene和javafx.stage,而跟Swing相關(guān)的組
件也統(tǒng)統(tǒng)加上了Swing前綴。有的class我已經(jīng)找不到了,比如以前的javafx.ui.MessageDialog,我在1.0中沒(méi)有找到對(duì)應(yīng)的
class,只好直接叫用javax.swing.JOptionPane了。好了,廢話不說(shuō)了,貼新代碼如下:
package sc.tmp;
import javafx.stage.Stage;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.ext.swing.SwingButton;
import javax.swing.JOptionPane;
/**
* @author stevech
*/
Stage {
title: "Application title"
width: 250
height: 80
scene: Scene {
fill: Color.ORANGE
content: SwingButton {
text: "Click
"
action: function():Void {
JOptionPane.showMessageDialog(null, "Have Fun!\nThis is your first JavaFX app!")
}
translateX: 90 translateY: 10
}
}
visible: true
}
結(jié)果如圖:
摘要: JavaFX出來(lái)已經(jīng)很長(zhǎng)一段時(shí)間了。一直在計(jì)劃跟進(jìn),可是因?yàn)楸容^懶,現(xiàn)在才慢慢地學(xué)習(xí)。這里就暫做做學(xué)習(xí)總結(jié)的地方吧。
雖然是總結(jié),我還是打算寫(xiě)詳細(xì)一點(diǎn)。本來(lái)我對(duì)JavaFX了解也不是很多,有的東西還要在網(wǎng)上查證了才能寫(xiě)(比較JavaFX是如何誕生,如何從F3變成 JavaFX的)。今天要寫(xiě)的主要是:1、JavaFX的前世今生;(了解了它的歷史也就了解了它是什么,它的發(fā)展方向,呵呵)2、如何擁有 JavaFX;(知道從哪里去下載開(kāi)發(fā)工具,如何配置它)3、Hello JavaFX World(當(dāng)然,一個(gè)經(jīng)典的Hello World是不能少的)
閱讀全文
首先聲明,本文作者信手亂寫(xiě),以前候捷寫(xiě)
無(wú)責(zé)任書(shū)評(píng),無(wú)責(zé)任這三個(gè)字,在我這兒也差不多——西門(mén)町學(xué)士 (注)
前兩天逛書(shū)店,看到一本《
精通NetBeans——Java桌面、Web、企業(yè)級(jí)程序開(kāi)發(fā)》 ,遂在書(shū)店里站了一個(gè)多小時(shí)(好厚啊!書(shū)厚臉皮也厚),基本把這本書(shū)看了一遍,整體感覺(jué)失望,內(nèi)容完全配不上
精通NetBeans這個(gè)標(biāo)題。基本上就是在NetBeans環(huán)境里寫(xiě)一些很簡(jiǎn)單的JavaSE和JavaEE代碼,而且代碼質(zhì)量也很不高。像Web部分,為了圖簡(jiǎn)單,在JSP頁(yè)面中寫(xiě)了大量的scriptlet,很不推薦開(kāi)發(fā)人員看這種代碼。這本書(shū)勉勉強(qiáng)強(qiáng)可以起名叫《
初涉NetBeans》,看來(lái)要想更好地推介NetBeans,還需要更多的技術(shù)作者的努力。什么時(shí)候NetBeans的書(shū)能跟Delphi的書(shū)媲美了,估計(jì)NetBeans的大業(yè)差不多就定了吧,呵呵
不管用什么IDE,關(guān)鍵是看開(kāi)發(fā)人員本人對(duì)語(yǔ)言和框架的功力,這里也推介兩本書(shū),都是老書(shū)了,但內(nèi)容基本不落伍,提升功力更是不錯(cuò)。
一本是:Swing,Matthew Robinson 和 Pavel Vorobiev合寫(xiě)的,學(xué)士手上的很老了,上個(gè)世紀(jì)末的英文原版,但是真的非常非常經(jīng)典,國(guó)內(nèi)應(yīng)該有更新的中文版的,做Swing的一定要看,很不錯(cuò)。
一
本關(guān)于JSP和Servlet方面的,學(xué)士是從TSS下載的免費(fèi)電子版,Servlets and JavaServer Pages, The
J2EE technology Web Tier,Jayson Falkner 與 Kevin
Jones合著,(基于J2EE4,無(wú)JSF方面內(nèi)容),國(guó)內(nèi)好像沒(méi)有中文版的。這也是一本好書(shū),Java Web入門(mén)與提升均應(yīng)多讀此書(shū)。
這兩本書(shū)最大的特點(diǎn)就是,呵呵,用侯捷的話說(shuō),叫
深入淺出。在講一個(gè)技術(shù)的同時(shí),也講正確的編碼和設(shè)計(jì)方法,既能讓一個(gè)新手從正門(mén)登堂入室,也能讓一個(gè)有經(jīng)驗(yàn)的開(kāi)發(fā)人員獲得提升,以此大力推介之。
文:西門(mén)町學(xué)士
Eclipse的陣營(yíng)一向強(qiáng)大,最近又加入了一家重量級(jí)的公司:Google,相形之下,NetBeans的陣營(yíng)顯得有點(diǎn)那么“勢(shì)單力薄”。
我本人則由于對(duì)Swing的喜愛(ài)及對(duì)SWT的不喜愛(ài),一直(從NB3.0以來(lái))使用NetBeans。
(以前的NetBeans確實(shí)不夠好用,建個(gè)Project還得先mount一下,典型的Unix思維)雙方這幾年的發(fā)展,從架構(gòu)和功能上來(lái)說(shuō),現(xiàn)在NetBeans和Eclipse已經(jīng)是大同小異,沒(méi)有誰(shuí)比誰(shuí)牛×。對(duì)于developers,用誰(shuí)憑喜好。
可
對(duì)于想通過(guò)這兩個(gè)平臺(tái)來(lái)賺錢(qián)的企業(yè)來(lái)說(shuō),二者的區(qū)別可就太大了。看看Eclipse的陣營(yíng)(雙方的家長(zhǎng)就不提了):BEA, Borland,
Intel, Sybase, Adobe, Oracle, Google,
etc全是些IT屆NB哄哄的大牛;再看看NetBeans的部隊(duì):一隊(duì)的無(wú)名小卒,大名鼎鼎的也有:Amazon:賣(mài)書(shū)的;eBay:做生意的;HP:
賣(mài)PC的;還有賣(mài)手機(jī)的,做開(kāi)源的,不一而足,感覺(jué)有點(diǎn)歪瓜裂棗似的。我就納悶兒了:同樣都是做Java IDE
的,受到的待遇區(qū)別咋就這么大呢!何況像Borland這樣的本來(lái)JBuilder和NetBeans就很相近,為什么還得繞個(gè)彎兒去舔SWT的屁股?
(李維還在信心滿滿的說(shuō)什么
Java開(kāi)發(fā)王者,反正我是不信

)
今
兒個(gè)感覺(jué)有點(diǎn)想明白了:Eclipse是搭個(gè)基本架子,剩下的這些公司在上面做自己的東東然后就可以拿去賣(mài)錢(qián)了,像MyEclipse、Borland都
是這么個(gè)想法;而NetBeans呢,Sun好像是把它定位成送給Developers的禮物(那里面裝的當(dāng)然就會(huì)是Sun所領(lǐng)導(dǎo)的Java技術(shù),而不會(huì)
是那個(gè)覬覦者IBM的Java技術(shù)),IDE free, Web pack free, mobility pack free,
Enterprise pack free,
等等等等通通free,免費(fèi)大贈(zèng)送,咱們開(kāi)發(fā)者當(dāng)然是高興了,既不要錢(qián),又是最新技術(shù),還有個(gè)Sun蓋的“正統(tǒng)”大章。可對(duì)于那些公司就不一樣了,老子吃
的就是這碗飯,你全送人了我喝西北風(fēng)啊?還活不活啊我?你以為我像JBoss那樣傻,不賣(mài)產(chǎn)品賣(mài)服務(wù)?JBoss不就是發(fā)現(xiàn)這碗飯不好吃才把
Rickard
Oberg這個(gè)頑固不化的家伙給踹出門(mén)的嗎。所以這些公司才紛紛對(duì)NetBeans離的遠(yuǎn)遠(yuǎn)的,像見(jiàn)了娘親一向撲向Eclipse的懷抱~~
不管怎么說(shuō),我還是Swing的堅(jiān)定支持者,支持Sun,支持NetBeans,最后,感謝James Golsing,感謝Groove Coverage(我是邊聽(tīng)God is A Girl一邊碼字兒的),感謝你的眼睛不辭辛勞地看到這里!