![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnNgMwYKQ6XYWRX9yHW2GPyeJBFntnaC6pv_LAiWXZZH6FnvuCgRbqSG0GQTRmPHqoVahO_IxVRkChFx-5AhGj4vYrDEmEHYA93Bz-9Bk4ymFdbXSFWhseGLvRtZlM3x7NmCxzV-xng4ZF/s320/130308-0004.jpg)
Objective-C bridgeにより、JavaからObj-Cオブジェクトが扱える。UIKit対応済、とのこと。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5FKh67rzw18Xd0y1jo3Du-6jNNrVfXX-jC3aLL_9uUlcABTp9hW3uKW2pakvGp25TK8iYHOx8pCadUvSJpSABfaTNgE8jczUrQpWZrmWu_XlVHODRn66EhMZNdOMzJCwE_gtMEutvF1el/s320/130308-0005.jpg)
UIApplicationDelegateはこんな感じ。
import org.robovm.cocoatouch.coregraphics.*; import org.robovm.cocoatouch.foundation.*; import org.robovm.cocoatouch.uikit.*; public class IOSDemo extends UIApplicationDelegate.Adapter { private UIWindow window = null; private int clickCount = 0; @Override public boolean didFinishLaunching(UIApplication application, NSDictionary launchOptions) { final UIButton button = UIButton.fromType(UIButtonType.RoundedRect); button.setFrame(new CGRect(115.0f, 121.0f, 91.0f, 37.0f)); button.setTitle("Click me!", UIControlState.Normal); button.addOnTouchUpInsideListener(new UIControl.OnTouchUpInsideListener() { @Override public void onTouchUpInside(UIControl control, UIEvent event) { button.setTitle("Click #" + (++clickCount), UIControlState.Normal); } }); window = new UIWindow(UIScreen.getMainScreen().getBounds()); window.setBackgroundColor(UIColor.lightGrayColor()); window.addSubview(button); window.makeKeyAndVisible(); return true; } public static void main(String[] args) { NSAutoreleasePool pool = new NSAutoreleasePool(); UIApplication.main(args, null, IOSDemo.class); pool.drain(); } }ヲヲ。。
ライセンス:GPLv2
関連情報