Bonjour,
J�aimerais savoir comment utiliser l'API de Google concernant les Charts, dans mon application java (NetBeans IDE) ?
Quelqu'un saurait-il me guider un peu ?
Merci d'avance pour votre attention.
Bonjour,
J�aimerais savoir comment utiliser l'API de Google concernant les Charts, dans mon application java (NetBeans IDE) ?
Quelqu'un saurait-il me guider un peu ?
Merci d'avance pour votre attention.
Bonjour,
Google Chart est une API HTML5 (+JavaScript) donc il te faut 1) une connexion internet active et 2) la possibilit� d'afficher du HTML/d�int�grer un navigateurs embarqu� dans une application Java.
Cot� AWT, tu peux oublier.
Cot� Swing, je ne sais pas si JEditorPane supporterai GoogleChart vu son grand age + le fait que son support de HTML 4 n'est m�me pas complet.
Cot� SWT, aucune id�e.
Cot� NetBeans Platform, aucune id�e (a priori voir Swing).
Cot� Eclipse RPC, aucune id�e (a priori voir SWT).
Cot� JavaFX, il suffit d'utiliser le contr�le WebView. Par exemple :
TestPie.html (il s'agit en fait du code de test disponible sur le didacticiels de Google Chart)
Code HTML : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 <html> <head> <!--Load the AJAX API--> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> // Load the Visualization API and the piechart package. google.load('visualization', '1.0', {'packages':['corechart']}); // Set a callback to run when the Google Visualization API is loaded. google.setOnLoadCallback(drawChart); // Callback that creates and populates a data table, // instantiates the pie chart, passes in the data and // draws it. function drawChart() { // Create the data table. var data = new google.visualization.DataTable(); data.addColumn('string', 'Topping'); data.addColumn('number', 'Slices'); data.addRows([ ['Mushrooms', 3], ['Onions', 1], ['Olives', 1], ['Zucchini', 1], ['Pepperoni', 2] ]); // Set chart options var options = {'title':'How Much Pizza I Ate Last Night', 'width':400, 'height':300}; // Instantiate and draw our chart, passing in some options. var chart = new google.visualization.PieChart(document.getElementById('chart_div')); chart.draw(data, options); } </script> </head> <body> <!--Div that will hold the pie chart--> <div id="chart_div"></div> </body> </html>
TestPie.java
Ici, j'utilise un contenu statique : c'est a dire que le HTML est d�j� pr�-g�n�r�. Le fichier HTML se trouve dans le m�me package que le fichier Java. Il est charg� au d�marrage de l'application et si une connexion internet est active, il ira construire et afficher le graphique en camembert.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 package googlechart; import java.net.URL; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.layout.StackPane; import javafx.scene.web.WebView; import javafx.stage.Stage; public class TestPie extends Application { @Override public void start(Stage primaryStage) { final URL url = getClass().getResource("TestPie.html"); final WebView webView = new WebView(); webView.getEngine().load(url.toExternalForm()); final StackPane root = new StackPane(); root.getChildren().add(webView); final Scene scene = new Scene(root, 500, 500); primaryStage.setTitle("Test Google Chart"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
Cependant il est possible que ton app construise une chaine au format HTML avec ses propres donn�es de mani�re � montrer des donn�es g�n�r�es dynamiquement par l'app. On place alors ce contenu HTML dans un fichier temporaire et on l'affiche ensuite dans WebView de mani�re similaire a ce qui est fait ici avec le contenu statique.
Il est de plus possible de permettre au code Java de dialoguer avec le code JavaScript et vice versa ce qui devrait permettre de pouvoir modifier le contenu de la page au vol. Plus d'info dans la FAQ JavaFX.
Merci de penser au tagquand une r�ponse a �t� apport�e � votre question. Aucune r�ponse ne sera donn�e � des messages priv�s portant sur des questions d'ordre technique. Les forums sont l� pour que vous y postiez publiquement vos probl�mes.
suivez mon blog sur D�veloppez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Il y a une solution en embarquant dans ton appli swing un browser chromium.
La soci�t� teamdev a d�velopp� une biblioth�que JxBrowser qui permet de faire ex�cuter du code HTML5 AJAX dans une appli desktop.
Regarde le tuto de Vladimir Ikryanov � l'adresse suivante : http://java.dzone.com/articles/google-maps-java-swing.
Bon courage
D�veloppeur Java
Site Web
Partager