Ciao a tutti, avrei un problema che pensavo fosse diffuso, ma al quale non riesco a trovare soluzione.
Ho 2 finestre una con un bottone, che premuto scrive "ciao" sull'altra finestra.
L' avevo risolto come sotto, ma poi mi sono accorto che funziona bene sulle macchine dove c'è netbeans, altrimenti da problemi , particolari problemi mi da windows 7.
Come ho detto a volte il Thread non esce dal while, non si accorge cioè che la condizione è diventata true.codice:// finestra 1 (principale) public final class finestraPrincipale extends FrameView { public static boolean bottonePremuto= false; public class scrivi extends Thread{ public scrivi(){ } @Override public void run() { while (finestra2aperta==true) { //boolean true quando fin.2 aperta chiusa if (bottonePremuto==true) { //boolean quando premo bottone fin.2 System.out.println("ciao"); } } } // finestra 2 public final class finestra2 extends javax.swing.JFrame { private void pulsanteMousePressed (java.awt.event.MouseEvent evt) { finestraPrincipale.bottonePremuto=true; }}
Ho provato anche così ma mi da errore :
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
Qualche suggerimento ?codice:// finestra 1 (principale) public final class finestraPrincipale extends FrameView { public class classeA { public void provaA() { System.out.println(" ciao "); } } } // finestra 2 public final class finestra2 extends javax.swing.JFrame { classeB { finestraPrincipale.classeA windowOne; classeB (finestraPrincipale.classeA windowOne){ this.windowOne = windowOne; this.windowOne.provaA(); }} private void pulsanteMousePressed (java.awt.event.MouseEvent evt) { classeB b = new classeB(null); b.windowOne.provaA(); }}
Grazie

Rispondi quotando