Ol\u00e1 amigos,<\/p>\n
Existem muitas situa\u00e7\u00f5es que precisamos fazer apresenta\u00e7\u00f5es de resultados de forma resumida e na forma de gr\u00e1fico. Neste momentos temos que conhecer as ferramentas certas e suas caracter\u00edsticas para podermos ter um bom resultado do nosso trabalho. Hoje apresentaremos uma forma de gerar gr\u00e1ficos em Java e para isso utilizaremos o framework JFreeChart.<\/p>\n
<\/p>\n
<\/p>\n
Eles est\u00e3o dispon\u00edveis no arquivo compactado dispon\u00edvel aqui: “http:\/\/sourceforge.net\/projects\/jfreechart\/files\/1.%20JFreeChart\/1.0.19\/<\/a>” Como o nosso projeto ser\u00e1 um projeto Web crie um servlet chamado “GeracaoGraficoServlet”.<\/p>\n Crie em seu projeto uma p\u00e1gina \"chamada index.jsp\". Abaixo temos o c\u00f3digo da p\u00e1gina que chamar\u00e1 o servlet com o gr\u00e1fico. Cria uma <\/p>\n Pronto. Agora \u00e9 s\u00f3 executar o seu projeto no servidor de aplica\u00e7\u00e3o. Neste exemplo utilizei o Tomcat 8. Caso tenha alguma d\u00favida veja como instalar e configurar esse servidor H\u00e1 tamb\u00e9m a possibilidade de utilizar o JFreechart em aplica\u00e7\u00f5es JavaSE. Veja um exemplo abaixo:<\/p>\n Podemos tamb\u00e9m utilizar o JFreeChart na gera\u00e7\u00e3o de gr\u00e1ficos para o ambiente desktop JSE. Veja o exemplo abaixo.<\/p>\n Gera\u00e7\u00e3o de gr\u00e1ficos com JFreechart Ol\u00e1 amigos, Existem muitas situa\u00e7\u00f5es que precisamos fazer apresenta\u00e7\u00f5es de resultados de forma resumida e na forma de gr\u00e1fico. Neste momentos temos que conhecer as ferramentas certas e suas caracter\u00edsticas para podermos ter um bom …<\/p>\n
\nAo fazer o download descompacte o arquivo e voc\u00ea poder\u00e1 encontrar os arquivos informados na pasta “lib”. Em seguida copie-os para a pasta lib do seu projeto.<\/p>\n\r\n Mais informa\u00e7\u00f5es de como criar um projeto Web aqui<\/a>\r\n<\/pre>\n
\r\npackage br.com.feltex.jfreechart.jee;\r\n\r\nimport java.awt.BasicStroke;\r\nimport java.awt.Color;\r\nimport java.io.IOException;\r\nimport java.io.OutputStream;\r\n\r\nimport javax.servlet.ServletException;\r\nimport javax.servlet.annotation.WebServlet;\r\nimport javax.servlet.http.HttpServlet;\r\nimport javax.servlet.http.HttpServletRequest;\r\nimport javax.servlet.http.HttpServletResponse;\r\n\r\nimport org.jfree.chart.ChartFactory;\r\nimport org.jfree.chart.ChartRenderingInfo;\r\nimport org.jfree.chart.ChartUtilities;\r\nimport org.jfree.chart.JFreeChart;\r\nimport org.jfree.chart.entity.StandardEntityCollection;\r\nimport org.jfree.data.general.DefaultPieDataset;\r\nimport org.jfree.data.general.PieDataset;\r\n\r\n\/**\r\n * Servlet implementation class GeracaoGrafico\r\n *\/\r\n@WebServlet(\"\/GeracaoGraficoServlet\")\r\npublic class GeracaoGraficoServlet extends HttpServlet {\r\n\tprivate static final long serialVersionUID = 1L;\r\n\r\n\tpublic GeracaoGraficoServlet() {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {\r\n\t\tdoPost(request, response);\r\n\t}\r\n\r\n\tprivate PieDataset carregarDados() {\r\n\t\t\/\/ Gera\u00e7\u00e3o de dados aleat\u00f3rios\r\n\t\tdouble valor1 = (Math.random() * 45);\r\n\t\tdouble valor2 = (Math.random() * 45);\r\n\t\tdouble valor3 = 10;\r\n\r\n\t\tif ((valor1 + valor2 + valor3) < 100) {\r\n\t\t\tvalor3 = (100 - (valor1 + valor2));\r\n\t\t}\r\n\r\n\t\tDefaultPieDataset result = new DefaultPieDataset();\r\n\t\tresult.setValue(\"America\", valor1);\r\n\t\tresult.setValue(\"Botafogo\", valor2);\r\n\t\tresult.setValue(\"Bangu\", valor3);\r\n\t\treturn result;\r\n\t}\r\n\r\n\tprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,\r\n\t\t\tIOException {\r\n\r\n\t\ttry {\r\n\t\t\tJFreeChart chart = ChartFactory.createPieChart(\"Gr\u00e1fico de times!!\", carregarDados(), true, true, false);\r\n\t\t\tchart.setBorderPaint(Color.black);\r\n\t\t\tchart.setBorderStroke(new BasicStroke(10.0f));\r\n\t\t\tchart.setBorderVisible(true);\r\n\t\t\tif (chart != null) {\r\n\t\t\t\tint width = 500;\r\n\t\t\t\tint height = 350;\r\n\t\t\t\tfinal ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());\r\n\t\t\t\tresponse.setContentType(\"image\/png\");\r\n\t\t\t\tOutputStream out = response.getOutputStream();\r\n\t\t\t\tChartUtilities.writeChartAsPNG(out, chart, width, height, info);\r\n\t\t\t}\r\n\t\t} catch (Exception e) {\r\n\t\t\te.printStackTrace();\r\n\t\t}\r\n\t}\r\n}\r\n<\/pre>\n
\r\n \r\n\r\n\r\n\r\n<\/head>\r\n\r\n\t
\naqui<\/a><\/p>\n\r\npackage br.com.feltex.jfreechart.jse;\r\n\r\nimport javax.swing.JFrame;\r\n\r\nimport org.jfree.chart.ChartFactory;\r\nimport org.jfree.chart.ChartPanel;\r\nimport org.jfree.chart.JFreeChart;\r\nimport org.jfree.chart.plot.PiePlot3D;\r\nimport org.jfree.data.general.DefaultPieDataset;\r\nimport org.jfree.data.general.PieDataset;\r\nimport org.jfree.util.Rotation;\r\n\r\npublic class GeracaoGrafico extends JFrame {\r\n\r\n\tprivate static final long serialVersionUID = 1L;\r\n\r\n\tpublic static void main(String[] args) {\r\n\t\tGeracaoGrafico demo = new GeracaoGrafico(\"Times\", \"Compara\u00e7\u00e3o de times!\");\r\n\t\tdemo.pack();\r\n\t\tdemo.setVisible(true);\r\n\t}\r\n\r\n\tpublic GeracaoGrafico(String applicationTitle, String chartTitle) {\r\n\t\tsuper(applicationTitle);\r\n\t\tPieDataset origemDados = carregarDados();\r\n\t\tJFreeChart grafico = criarGrafico(origemDados, chartTitle);\r\n\t\tChartPanel chartPanel = new ChartPanel(grafico);\r\n\t\tchartPanel.setPreferredSize(new java.awt.Dimension(500, 270));\r\n\t\tsetContentPane(chartPanel);\r\n\r\n\t}\r\n\r\n\t\/**\r\n\t * Carregamento dos dados\r\n\t *\/\r\n\r\n\tprivate PieDataset carregarDados() {\r\n\t\t\/\/ Gera\u00e7\u00e3o de dados aleat\u00f3rios\r\n\t\tdouble valor1 = (Math.random() * 45);\r\n\t\tdouble valor2 = (Math.random() * 45);\r\n\t\tdouble valor3 = 10;\r\n\r\n\t\tif ((valor1 + valor2 + valor3) < 100) {\r\n\t\t\tvalor3 = (100 - (valor1 + valor2));\r\n\t\t}\r\n\r\n\t\tDefaultPieDataset result = new DefaultPieDataset();\r\n\t\tresult.setValue(\"America\", valor1);\r\n\t\tresult.setValue(\"Botafogo\", valor2);\r\n\t\tresult.setValue(\"Bangu\", valor3);\r\n\t\treturn result;\r\n\t}\r\n\r\n\t\/**\r\n\t * Cria\u00e7\u00e3o do gr\u00e1fico\r\n\t * *\/\r\n\r\n\tprivate JFreeChart criarGrafico(PieDataset origemDados, String titulo) {\r\n\r\n\t\tJFreeChart chart = ChartFactory.createPieChart3D(titulo, origemDados, true, \/\/ Adicionar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\/\/ Lengenda\r\n\t\t\t\ttrue, false);\r\n\r\n\t\tPiePlot3D plot = (PiePlot3D) chart.getPlot();\r\n\t\tplot.setStartAngle(290);\r\n\t\tplot.setDirection(Rotation.CLOCKWISE);\r\n\t\tplot.setForegroundAlpha(0.5f);\r\n\t\treturn chart;\r\n\t}\r\n\r\n}\r\n<\/pre>\n
Links relacionados<\/H2>
\nhttp:\/\/www.jfree.org\/jfreechart\/<\/a>
\nConfigura\u00e7\u00e3o do Eclipse<\/a><\/p>\nN\u00e3o esque\u00e7a de curtir este post nas rede sociais. D\u00ea a sua contribui\u00e7\u00e3o social e ajude o autor:<\/h2>\n","protected":false},"excerpt":{"rendered":"