Avendo questo codice in cui ho una finestra con dentro un frame con il mio grafico, come faccio a fare il grafico direttamente nella finestra senza farlo dentro un frame???
codice:import java.awt.Dimension; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.JInternalFrame; import java.text.DateFormat; import java.text.SimpleDateFormat; import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.JFreeChart; import org.jfree.data.time.Second; import org.jfree.data.time.RegularTimePeriod; import org.jfree.data.time.TimeSeries; import org.jfree.data.time.TimeSeriesCollection; import org.jfree.data.xy.XYDataset; import org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities; public class InternalFrame extends ApplicationFrame { public InternalFrame(String title) { super(title); JInternalFrame frame = createFrame(); frame.pack(); frame.setLocation(0, 0); frame.setVisible(true); getContentPane().add(frame); } private JInternalFrame createFrame() { XYDataset dataset = createDataset("Nome linea",new Second()); JFreeChart chart = ChartFactory.createTimeSeriesChart("Trend Cella 30","Tempo","Temperatura",dataset,true,true,true); ChartPanel chartPanel = new ChartPanel(chart); chartPanel.setPreferredSize(new Dimension(800, 600)); JInternalFrame frame = new JInternalFrame("", true); frame.getContentPane().add(chartPanel); return frame; private XYDataset createDataset(String name, RegularTimePeriod start) { TimeSeries series = new TimeSeries("Temperatura ambiente", start.getClass()); TimeSeries series1 = new TimeSeries("Temperatura prodotto", start.getClass()); TimeSeries series2 = new TimeSeries("Set alta temperatura", start.getClass()); TimeSeries series3 = new TimeSeries("Set bassa temperatura", start.getClass()); TimeSeries series4 = new TimeSeries("Set temperatura media", start.getClass()); Connection con = null; try { String driver = "net.sourceforge.jtds.jdbc.Driver"; Class.forName(driver).newInstance(); } catch (Exception e) { System.out.println("Fallito il caricamento dei driver SQL."); return (null); } try { // Query SQL String SQL= "SELECT TOP 1728 * FROM Cella30Trend ORDER BY Tempo DESC"; // Connessione col database in cui vengono specificati url, nome utente, password con = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/MioDb", "**", "**"); Statement select = con.createStatement(); //caricamento query SQL ResultSet result = select.executeQuery(SQL); while (result.next()) { String tempo = result.getString(2); double temp_a = result.getDouble(3); double temp_p = result.getDouble(4); double temp_s_a = result.getDouble(5); double temp_s_b = result.getDouble(6); double temp_s_m = result.getDouble(7); DateFormat dateformat=new SimpleDateFormat("yyyy/MM/dd HH.mm.ss"); java.util.Date data=dateformat.parse(tempo); series.addOrUpdate(new Second(data),temp_a); series1.addOrUpdate(new Second(data),temp_p); series2.addOrUpdate(new Second(data),temp_s_a); series3.addOrUpdate(new Second(data),temp_s_b); series4.addOrUpdate(new Second(data),temp_s_m); } } catch (Exception e) { e.printStackTrace(); } finally { if (con != null) { try { con.close(); } catch (Exception e) { e.printStackTrace(); } } } TimeSeriesCollection dataset = new TimeSeriesCollection(); dataset.addSeries(series); dataset.addSeries(series1); dataset.addSeries(series2); dataset.addSeries(series3); dataset.addSeries(series4); return dataset; } public static void main( String[] args) { InternalFrame iframe = new InternalFrame("Trend Frigo"); iframe.pack(); RefineryUtilities.centerFrameOnScreen(iframe); iframe.setVisible(true); } }

Rispondi quotando