Ciao LeleFT e grazie per avermi risposto così tempestivamente...
quello che ho fatto io è la seguente:
Ho creato la classe MyTask cosi di seguito:
codice:
package applicazione;
import java.sql.SQLException;
import java.util.TimerTask;
import java.util.logging.Level;
import java.util.logging.Logger;
public class MyTask extends TimerTask {
public String valore1;
public String valroe2;
Controllore c = new Controllore();//mi offre la connessione al DB e le query ad hoc
@Override
public void run() {
try {
valore1 = c.recuperaValore1().toString();
valore2 = c.recuperaValore2().toString();
System.out.println("Valore1: "+valore1+" Valore2:"+valore2);
} catch (SQLException ex) {
Logger.getLogger(MyTask.class.getName()).log(Level.SEVERE, null, ex);
}
}
}//MyTask.java
>>>Quando dalla classe Monitor richiamo MyTask con "t.schedule(tm, 10,6*1000);" le label si settano con il valore del momento ed in netbeans, nell'output, la Syste.out... mi continua a lavorare bene (Ho lasciato infatti nel metodo run() in MyTask la stampa apposta)<<<
La classe che estende JFrame e sulla quale vi sono le JLAbel in questione la riporto di seguito. Questa classe viene lanciata da una classettina con un main ed il classico "new Monitor().setVisible(true)":
codice:
package applicazione;
public class Monitor extends JFrame {
Controllore c = new Controllore();
Timer t = new Timer();
TimerTask tm = new MyTask();
private String Valore1;
private String VAlore2;
public Monitor() throws InterruptedException, SQLException {
int xf = Toolkit.getDefaultToolkit().getScreenSize().width;
int yf = Toolkit.getDefaultToolkit().getScreenSize().height;
setBounds(xf/3, yf/6, 600, 600);
initComponents();
t.schedule(tm, 10,6*1000);
aggiornaDatiLabel();
}
private void aggiornaDatiLabel() throws SQLException, InterruptedException {
jLabel1.setText(valore1 = c.recuperaValore1().toString());
jLabel2.setText(valore2 = c.recuperaValore2().toString());
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel1.setText("jLabel1");
jLabel2.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel2.setText("jLabel2");
jLabel3.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
jLabel3.setText("jLabel3");
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(97, 97, 97)
.addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(105, 105, 105)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jLabel3, javax.swing.GroupLayout.DEFAULT_SIZE, 243, Short.MAX_VALUE)
.addGap(45, 45, 45))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 234, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(0, 0, Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel2)
.addComponent(jLabel3))
.addComponent(label1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(18, 18, 18)
.addComponent(jLabel1)
.addContainerGap(245, Short.MAX_VALUE))
);
pack();
}// </editor-fold>
// Variables declaration - do not modify
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
// End of variables declaration
}
Spero di essere stato chiaro nell'esposizione del mio operato ma spero di più in una tua soluzione!