Não consigo encontrar uma biblioteca decente de gráficos de cacau, portanto, gostaria de usar o JFreechart.
Existe alguma maneira de chamar um programa Java a partir de um aplicativo de cacau? Eu estava pensando em escrever um aplicativo java que retornasse uma imagem do gráfico e a exibisse dentro do meu aplicativo Cocoa.
Obrigado,
Respostas:
5 para resposta № 1A Apple tem um projeto de código de amostra muito bom (mas um tanto antigo) de como criar um aplicativo que usa JNI no Xcode:
http://developer.apple.com/java/jniuniversal.html
Verifique o código de exemplo associado a isso:
http://developer.apple.com/samplecode/MyFirstJNIProject/MyFirstJNIProject.html
Também nesta seção de perguntas e respostas sobre tecnologia:
http://developer.apple.com/mac/library/qa/qa2005/qa1295.html
Eu usei esse exemplo para criar um aplicativo com sucessoque usa a JNI para iniciar e se comunicar com uma única instância da JVM em tempo de execução (em vez de gerar muitas NSTasks, como Pablo mencionado em # 2 abaixo). Basicamente, adotei a abordagem da 1ª sugestão de Pablo abaixo com este aplicativo:
http://ditchnet.org/xslpalette
6 para resposta № 2
Você pode querer olhar para o Núcleo estrutura de plotagem nativa do cacau paraMac e iPhone. É relativamente novo - não tão maduro quanto o JFreeChart -, mas pode fazer o que você precisa. Certamente pouparia a dor do JNI ou da invasão entre processos.
4 para resposta № 3
Tanto quanto eu sei, você tem duas opções:
- Use interfaces nativas Java (JNI) e chame suas classes Java de C (Cocoa).
- Inicie um processo java separado no aplicativo COCOA para criar gráficos para você. Você pode usar NSTask por isso.
Na minha opinião, embora a primeira opção seja mais difícil de implementar, é mais elegante e provavelmente mais rápida. Mas a segunda opção definitivamente levará menos tempo para ser implementada.
Espero que ajude.