Salve,
Vorrei poter creare un tasto aggiorna che mi riesegue il mio programma però cambiando delle parti...
Non so mi servirebbe tipo un calendario per impostare il giorno e una checkbox per impostare un valore predefinito da fare scegliere all'utente...
Come fare ciò?
Mi potete dare una mano?
Questo è il mio codice:
codice:
public class InternalFrame extends ApplicationFrame {
public InternalFrame(String title) {
super(title);

JInternalFrame frame = new JInternalFrame("", true);
frame.pack();
frame.setLocation(0, 0);
frame.setVisible(true); 
getContentPane().add(frame);
XYDataset dataset = createDataset("Nome linea",new Second());
JFreeChart chart = ChartFactory.createTimeSeriesChart("Trend Cella 30","Tempo","Temperatura",dataset,true,true,true);

XYPlot lXYPlot = (XYPlot)chart.getPlot();
lXYPlot.setBackgroundPaint( Color.white ); // colore sfondo interno 
lXYPlot.setDomainGridlinePaint( Color.darkGray); // asse y interna grafico
lXYPlot.setRangeGridlinePaint( Color.darkGray); // asse x interna grafico
lXYPlot.setDomainCrosshairVisible( true );
lXYPlot.setRangeCrosshairVisible( true );
DateAxis lXYAxis = (DateAxis)lXYPlot.getDomainAxis();
lXYAxis.setDateFormatOverride( new SimpleDateFormat( "dd/MM/yyyy HH:mm" ) );
ChartPanel chartPanel = new ChartPanel(chart); 
chartPanel.setPreferredSize(new Dimension(800, 600)); 
frame.getContentPane().add(chartPanel);
}
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 {
String n_cella="Cella30Trend";
String tempo_min="2006/07/13";
String tempo_max="2006/07/20";

// Query SQL
String SQL= "SELECT * FROM " +n_cella+ " where tempo>='" +tempo_min+"' and tempo<='" +tempo_max+ "%'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);
for(int i=0 , j=0 ; i<500 && i<=j ;i++){
result.next();
j++;

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); 
}
}
Io dovrei poter cambiare dentro al frame questi 3 valori:
String n_cella="Cella30Trend";
String tempo_min="2006/07/13";
String tempo_max="2006/07/20";

Il primo scelta fra varie celle numerate.
Il secondo e il terzo un calendario americano con anno/mese/giorno

COme si può fare??