Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>To make <code>Swing</code> GUI to update dynamically on fire of some event or with some continuous background changes , you can use <code>SwingWorker</code> API provided by <code>Swing</code>. Try this Code :</p> <pre><code>import javax.swing.*; import java.awt.*; import java.awt.event.*; public class DynamicWrite implements ActionListener { JFrame frame = new JFrame("TextArea"); JTextArea tArea = new JTextArea(10,20); JButton button = new JButton("Click"); JScrollPane pane = new JScrollPane(tArea); SwingWorker worker; String s= "Java is an Object Oriented Programming langauge...Java is static typed language...asbfldfjsdj";//some random String public void prepareAndShowGUI() { Container container = frame.getContentPane(); container.add(pane);container.add(button,BorderLayout.NORTH); tArea.setLineWrap(true); tArea.setWrapStyleWord(true) ; button.addActionListener(this); frame.pack(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } public void actionPerformed(ActionEvent evt) { if(evt.getSource()==button) { tArea.setText(""); if (worker!=null) { worker.cancel(true); } worker = new SwingWorker() { @Override protected Integer doInBackground()//Perform the required GUI update here. { try { for(int i = 0;i&lt;s.length();i++) { tArea.append(String.valueOf(s.charAt(i))); Thread.sleep(5); } }catch(Exception ex){} return 0; } }; worker.execute();//Schedules this SwingWorker for execution on a worker thread. } } public static void main(String st[]) { DynamicWrite dyna = new DynamicWrite(); dyna.prepareAndShowGUI(); } } </code></pre> <p>I hope this solves your problem.<br>To know more about SwingWorker API watch <a href="http://docs.oracle.com/javase/6/docs/api/javax/swing/SwingWorker.html" rel="nofollow">here</a> </p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload