In my function for displaying text in textarea,i have written following lines of code but it is not displaying any text
        jTextArea1.setText( Packet +"\n" +jTextArea1.getText());
I am using swingworker for performing background task,here is my code
public class SaveTraffic extends SwingWorker<Void, Void> {
public GUI f = new GUI();
@Override
public Void doInBackground() throws IOException {
              //some code
              sendPacket(captor.getPacket().toString()); 
              return null;
             }//end main function
@Override
public void done() {
    System.out.println("I am DONE");
}
public void sendPacket(String Packet) {
 f.showPackets(Packet);
}
}
and the following lines of code i have written in my GUI form
 public  void showPackets(String Packet) {
 jTextArea1.append( Packet);
}
Solution: public class SaveTraffic extends SwingWorker {
     public GUI f = new GUI();
     @Override
    public Void doInBackground() throws IOException {
    f.add(jTextPane1);
   // some code
   publish(captor.getPacket().toString());
   // the method below is calling sendPacket on the background thread
   // which then calls showPackets on the background thread
   // which then appends text into the JTextArea on the background thread
  //sendPacket(captor.getPacket().toString());
    return null;
   }
  @Override
   protected void process(List<String> chunks) {
   for (String text : chunks) {
     jTextPane1.setText(text);
     f.showPackets(text);
   }
  }
  @Override
  public void done() {
   System.out.println("I am DONE");
   }
}
Instead of using setText() use append()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With