2010-07-19 21 views
1

J'essaye d'ajouter un pourcentage à une zone de texte dans Java. Cela implique une boucle qui détermine le pourcentage, puis l'ajoute à une autre JFrame avec la zone de texte qui s'y trouve.Fenêtre apparaît "see-through" lorsque vous essayez d'ajouter une ligne de texte - Java

La classe "pro" a simplement une fenêtre avec un objet JtextArea.

Le problème que je rencontre est que la fenêtre semble montrer la fenêtre en dessous, comme si elle était en retard. Y at-il de toute façon de régler cela. J'ai essayé de regarder SwingWorker mais je le trouve confus. Toute aide serait grandement appréciée. Voici un extrait du programme.

public void copy(File sourceLocation, File targetLocation) throws IOException { 

    if (sourceLocation.isDirectory()) { 
     if (!targetLocation.exists()) { 
      targetLocation.mkdir(); 
     } 

     String[] children = sourceLocation.list(); 
     for (int i=0; i<children.length; i++) { 

      int length = children.length - 1; 

      float percentage = (i/(float)length) *100; 
      String d = percentage + "%" + " " + sourceLocation; 
      System.out.println(percentage + "%" + " " + sourceLocation); 

      pro.area.append(percentage + "\n"); 




      copy(new File(sourceLocation, children[i]), 
        new File(targetLocation, children[i])); 
     } 
    } else { 

     InputStream in = new FileInputStream(sourceLocation); 
     OutputStream out = new FileOutputStream(targetLocation); 

     // Copy the bits from instream to outstream 
     byte[] buf = new byte[1024]; 
     int len; 
     while ((len = in.read(buf)) > 0) { 
      out.write(buf, 0, len); 
     } 
     in.close(); 
     out.close(); 
     //pro.setVisible(false); 
    } 

}

Répondre