Running the JavaFX 1.1 SDK on Linux
This is an update to my instructions on running the JavaFX 1.0 SDK on Linux. Those instructions do not work on the dmg image for the 1.1 version of the SDK.
Mike (thanks Mike!) posted a comment on that blog mentioning a small change that needed to be made. To get JavaFX 1.1 on Linux, first follow the steps in the original guide. When you need to mount the dmg, you need to provide an offset. So instead of the original command, do the following:
vivin@dauntless ~ $; sudo mount -o loop,offset=$((1024*17)) -t hfsplus javafx_sdk-1_0-macosx-universal.dmg.out javafx
The dmg should be mounted now.
Popularity: 1% [?]
April 30, 2009 Posted by vivin | Java, Linux, Programming and Development | cpio, dmg, dsl, java, javafx, javafx script, linux, mac, os x, programming, ria, scripting, sdk | Leave a Comment
Running the JavaFX 1.0 SDK on Linux
The JavaFX 1.0 SDK was released today. I’ve played with the preview SDK, so I was pretty excited to try out the 1.0 SDK. Inexplicably, and this was the case with the preview SDK as well, Sun hasn’t released a version of the SDK for Linux. However, this wasn’t a problem because it was possible to run the Mac version of the Preview SDK on Linux. The preview SDK came in the form of a zip, but the 1.0 SDK comes in the form of a dmg, so I was initially stumped. But I’ve figured out how to get the Mac version of the SDK to work on Linux. It’s a little more complicated than getting the preview SDK to work, but it works!
The thing about dmg files is that you can easily mount them on Linux since they are essentially stored in the HFS Plus filesystem format. So I immediately set about trying to mount it:
vivin@dauntless ~
$ mkdir javafx
vivin@dauntless ~
$ sudo mount -o loop -t hfsplus javafx_sdk-1_0-macosx-universal.dmg javafx
[sudo] password for vivin:
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
Hmm… ok, that wasn’t what I expected, so I tried to see what type of file it was:
vivin@dauntless ~ $; file javafx_sdk-1_0-macosx-universal.dmg javafx_sdk-1_0-macosx-universal.dmg: bzip2 compressed data, block size = 100k
Ok, so it look’s like it’s a bzipped file. All we need to do then, is bunzip it and mount it:
vivin@dauntless ~ $ bunzip2 javafx_sdk-1_0-macosx-universal.dmg bunzip2: Can't guess original name for javafx_sdk-1_0-macosx-universal.dmg -- using javafx_sdk-1_0-macosx-universal.dmg.out bunzip2: javafx_sdk-1_0-macosx-universal.dmg: trailing garbage after EOF ignored vivin@dauntless ~ $ sudo mount -o loop -t hfsplus javafx_sdk-1_0-macosx-universal.dmg.out javafx vivin@dauntless ~ $ ls javafx javafx_sdk-1_0.mpkg
Awesome! So we were able to get the dmg mounted. Now all we need to do is find were the SDK lives. After going through the dmg, I found out that the SDK is stored in a compressed (gzipped) file. You can find it at <mountpoint>/javafx_sdk-1_0.mpkg/Contents/Packages/javafxsdk.pkg/Contents/Archive.pax.gz. Copy this file into another working directory (or wherever you want your SDK to reside. I put mine in /usr/local):
vivin@dauntless ~/working $ cp ~/javafx/javafx_sdk-1_0.mpkg/Contents/Packages/javafxsdk.pkg/Contents/Archive.pax.gz . vivin@dauntless ~/working $ gunzip Archive.pax.gz vivin@dauntless ~/working $ file Archive.pax Archive.pax: ASCII cpio archive (pre-SVR4 or odc)
When I gunzipped the file, I got Archive.pax, and I wasn’t sure what to do with it. So I ran file on it and discovered that it was a cpio file. Some quick Googling and man-page perusal later:
vivin@dauntless ~/working
$ cpio -i <Archive.pax
65687 blocks
vivin@dauntless ~/working
$ ls
Archive.pax COPYRIGHT.html lib profiles samples src.zip timestamp
bin docs LICENSE.txt README.html servicetag THIRDPARTYLICENSEREADME.txt
vivin@dauntless ~/working
$ bin/javafx
Usage: java [-options] class [args...]
(to execute a class)
or java [-options] -jar jarfile [args...]
(to execute a jar file)
where options include:
-d32 use a 32-bit data model if available
-d64 use a 64-bit data model if available
-client to select the "client" VM
-server to select the "server" VM
-hotspot is a synonym for the "client" VM [deprecated]
The default VM is server,
because you are running on a server-class machine.
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
A : separated list of directories, JAR archives,
and ZIP archives to search for class files.
-D<name>=<value>
set a system property
-verbose[:class|gc|jni]
enable verbose output
-version print product version and exit
-version:<value>
require the specified version to run
-showversion print product version and continue
-jre-restrict-search | -jre-no-restrict-search
include/exclude user private JREs in the version search
-? -help print this help message
-X print help on non-standard options
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
enable assertions
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
disable assertions
-esa | -enablesystemassertions
enable system assertions
-dsa | -disablesystemassertions
disable system assertions
-agentlib:<libname>[=<options>]
load native agent library <libname>, e.g. -agentlib:hprof
see also, -agentlib:jdwp=help and -agentlib:hprof=help
-agentpath:<pathname>[=<options>]
load native agent library by full pathname
-javaagent:<jarpath>[=<options>]
load Java programming language agent, see java.lang.instrument
As you can see, you now have a working JavaFX 1.0 SDK on your Linux box!
Popularity: 1% [?]
December 4, 2008 Posted by vivin | Java, Linux, Programming and Development | cpio, dmg, dsl, java, javafx, javafx script, linux, mac, os x, programming, ria, scripting, sdk | 5 Comments
JavaFX: The New Hotness
I went to JavaOne a few months ago. It was a pretty neat experience and I learnt a lot of cool things. One of the things Sun was touting was the JavaFX family of technologies. It allows you to create RIA (Rich Internet Applications) using JavaFX Script, a domain-specific language built on top of Java. The demos were pretty impressive and it looks like Sun’s answer to Flash and Silverlight. I went to a few JavaFX sessions and I signed up for the preview SDK, which came out a few weeks ago. Since then, I’ve been playing around with the language to see what it can do. The language is pretty neat and being dynamic, has some pretty cool features like closures, list comprehension, lazy/incremental evaluation (through binding), and triggers. In addition, it uses a declarative model (although you can still use the traditional model) for describing a GUI. The API provides Swing components, but I believe the intent is to completely move away from that and use only JavaFX GUI components.

Using a language that is only in preview is pretty interesting. The API is unfinished and the language isn’t completely mature, but this is to be expected. That being said, it still looks promising and seems to be a very capable and expressive language. Also, seeing as it is built on top of Java, you have access to all of Java’s rich API in addition to the numerous third-party Java libraries and API’s that are out there. I’ve been playing around with it for the last week or so and I was able to write a small calendar widget. It simply shows a month view for the current month, with the current date highlighted. I haven’t had much experience with writing GUIs in Java, so it took me a while to figure it all out. I shamelessly stole the colour gradient background from one of the demos in the preview SDK. The only issue I have right now is the load-time of the widget. It seems to take a while when you load it first. I don’t know if it has to do with the way I coded it or not. I’m pretty sure I’m not doing it the best way, but I expect to get better once I get more familiar with the language.
Here’s a screenshot of the widget running on Firefox 3 on my Ubuntu laptop (the theme is a Leopard theme):
I have more details on the project page.
Popularity: 1% [?]
August 24, 2008 Posted by vivin | Java, Programming and Development | adobe, calendar, dsl, java, javafx, javafx script, microsoft, programming, ria, scripting, sun, widget | 3 Comments
Search
Blogroll
Links
Popular Posts
Recent Tweets
- wtf wikipedia! #SOPA #PIPA 2 weeks ago
- Twitter realtime search for "WTF wikipedia" is awesome! 2 weeks ago
- Tell Congress: Don’t censor the web! http://t.co/RsVWLQLT 2 weeks ago
- Woh- the internet is rising up to #StopSOPA #PIPA and #InternetCensorship Write Congress today: http://t.co/s7nVNpsP via @fightfortheftr 2 weeks ago
- More updates...
Powered by Twitter Tools
Recent Comments
- vivin: @RDavS: Thank you for that wonderful response. Yes, sometimes I think it is a cynical view, but in the end...
- RDavS: I lean toward the conservative side, but agree completely that nothing valuable is accomplished by fanatic...
- vivin: @Dan: @Roland: Glad that you guys found the tutorial helpful!
- Roland: Your tutorial is easy to follow and helped me a lot in implementing a nice zoom-and-drag-feature for my...
- Jamie: Thanks for the tip , I was looking for a way to set up the image side by side ,you have save me a lot of time
Recent Trackbacks
- Producing Emerging Media: Color Correcting and Photos in Wordpress
- Rough Book: Maven project for Generic (n-ary) Tree in Java
- Page 2 - Sprint Android Forum: Does Anyone Have a Shapewriter apk?
- JavaFX: LIS 7440
- Week 8: LIS 7440
Random Posts
Tag Cloud
ait army army national guard asperger's syndrome asu baghdad camp liberty code cse421 dancing development dsl family fort lee freebsd garba hhb 1/180th inane india indian school al-ghubra iraq isg java Life linux message board my website national guard networking oif oman operation iraqi freedom perl photo album photos pictures programming project roughnecks salsa school vacation war weekend windows xpCategory Cloud
AIT Army Arts Assembly Computers Copyrights Dance Family and Friends FreeBSD Gaming Haiku Hardware Hosting Humor Java Jython Life Linux Love and Marriage Military Movies Music Musings, Ramblings, and Inanities Nerdy Stuff Networking Operating Systems Operation Iraqi Freedom p2p Perl PHP Poetry Politics and Law Programming and Development Projects Prose Python School Sci-Fi Science Software Television Travel Web Windows Work
Meta
Categories
- ►Arts (118)
- ►Art (2)
- ►Books (1)
- ►Concerts (1)
- ►Dance (15)
- ►Movies (6)
- ►Music (40)
- ►Bands (16)
- ►Coldplay (1)
- ►Metallica (3)
- ►Muse (1)
- ►Pink Floyd (1)
- ►Sigur Rös (1)
- ►The Beatles (1)
- ►The Shins (1)
- ►The Strokes (1)
- ►U2 (2)
- ►Coldplay (1)
- ►Genres (10)
- ►Indie (2)
- ►Rock (6)
- ►Alternative (2)
- ►Classic (1)
- ►Psychedelic (1)
- ►Alternative (2)
- ►Indie (2)
- ►Bands (16)
- ►Photography (3)
- ►Poetry (9)
- ►Haiku (4)
- ►Haiku (4)
- ►Prose (5)
- ►Television (5)
- ►Art (2)
- ►Economics (2)
- ►History (1)
- ►Life (537)
- ►Family and Friends (75)
- ►Humor (5)
- ►Love and Marriage (25)
- ►Musings, Ramblings, and Inanities (88)
- ►School (74)
- ►Travel (17)
- ►Work (23)
- ►Family and Friends (75)
- ►Military (198)
- ►Army (126)
- ►AIT (27)
- ►Annual Training (2)
- ►Basic Training (2)
- ►Operation Iraqi Freedom (24)
- ►AIT (27)
- ►Army (126)
- ►Nerdy Stuff (626)
- ►Computers (758)
- ►Hardware (22)
- ►Networking (41)
- ►Operating Systems (109)
- ►Programming and Development (301)
- ►Software (8)
- ►Hardware (22)
- ►DIY (1)
- ►Gaming (13)
- ►Linguistics (3)
- ►Math (1)
- ►Sci-Fi (10)
- ►Science (11)
- ►Technology (3)
- ►Technology (3)
- ►Computers (758)
- ►Politics and Law (39)
- ►Copyrights (10)
- ►DMCA (1)
- ►DMCA (1)
- ►Patents (1)
- ►Copyrights (10)
- ►Arts (118)
Archives
- January 2012
- December 2011
- November 2011
- October 2011
- September 2011
- July 2011
- June 2011
- May 2011
- February 2011
- January 2011
- December 2010
- November 2010
- October 2010
- September 2010
- July 2010
- June 2010
- May 2010
- April 2010
- March 2010
- January 2010
- December 2009
- November 2009
- October 2009
- September 2009
- August 2009
- July 2009
- May 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- August 2008
- March 2008
- February 2008
- November 2007
- July 2007
- June 2007
- May 2007
- March 2007
- December 2006
- October 2006
- September 2006
- August 2006
- June 2006
- April 2006
- March 2006
- January 2006
- December 2005
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
- April 2005
- February 2005
- October 2004
- September 2004
- August 2004
- July 2004
- June 2004
- May 2004
- April 2004
- March 2004
- February 2004
- January 2004
- December 2003
- November 2003
- October 2003
- September 2003
- July 2003
- June 2003
- May 2003
- March 2003
- February 2003
- January 2003
- December 2002
- November 2002
- October 2002
- September 2002
- August 2002
- July 2002
- June 2002
- May 2002
- April 2002
- February 2002
- September 2001
- August 2001
- April 2001
- March 2001
- February 2001
- January 2001
- December 2000
- November 2000
- October 2000
- August 2000
- July 2000
- June 2000
- May 2000
- March 2000
- January 2000
- December 1999
- November 1999
- October 1999
- September 1999
