Reputation: 15509
I can't find a decent Cocoa Charting Library so I would like to use JFreechart.
Is there any way to call a Java program from a Cocoa Application? I was thinking in writing a java application that returns an image of the chart and I would display it inside my Cocoa app.
Thank you,
Upvotes: 4
Views: 1844
Reputation: 11337
Apple has a very good (but somewhat old) sample code project of how to create an app that uses JNI in Xcode:
http://developer.apple.com/java/jniuniversal.html
Be sure to check out the sample code associated with that:
http://developer.apple.com/samplecode/MyFirstJNIProject/MyFirstJNIProject.html
Also this Tech Q&A:
http://developer.apple.com/mac/library/qa/qa2005/qa1295.html
I used that example to successfully create an app which uses JNI to launch and communicate with a single JVM instance at runtime (rather than spawning lots of NSTasks as Pablo mentioned in #2 below). Basically, i took the approach of Pablo's 1st suggestion below with this app:
http://ditchnet.org/xslpalette
Upvotes: 5
Reputation: 107754
You may want to look at the Core Plot framework, a Cocoa-native plotting framework for Mac and iPhone. It's relatively new--not as mature as JFreeChart--but it may do what you need. It would certainly save you the pain of JNI or inter-process hackery.
Upvotes: 6
Reputation: 181270
As far as I know you have two options:
In my opinion, even though first option is tougher to implement, it's more elegant and probably faster. But second option will definitely take less time to implement.
Hope it helps.
Upvotes: 4