please help me ^_^
I want using thread in this program
but I don't know ..??

____________________________________________________

import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
//------------------------------------------------------------------------------------------------
public class MyApp extends JFrame {
// Data
static boolean stopped = true; // Is the counting stopped? (True or False) --> shared variable
static JTextField number;
//------------------------------------------------------------------------------------------------
// Constructor
public MyApp()
{
// set the GUI
super( "CAP 332 - Assignment 6: Learning Java Threads" );
// create the 2 buttons
// 1) The start button
JButton startButton = new JButton("Start");
startButton.addActionListener(new StartButtonHandler());
startButton.setToolTipText("Click here to start counting.");
// 2) The stop button
JButton stopButton = new JButton("Stop");
stopButton.addActionListener(new StopButtonHandler());
stopButton.setToolTipText("Click here to stop counting.");
// create the text field
number = new JTextField(20);
number.setEditable(false);
number.setText("0");
// create the panels
JPanel row1Panel = new JPanel();
JPanel row2Panel = new JPanel();
// create the first row
row1Panel.add(number);
// create the second row
row2Panel.setLayout(new GridLayout(1,2)); // Grid layout with 1 row and 2 columns for the 2
buttons
row2Panel.add(startButton);
row2Panel.add(stopButton);
// create a split panel to include the 2 row panels
JSplitPane allPanel = new JSplitPane( JSplitPane.VERTICAL_SPLIT, row1Panel, row2Panel );
allPanel.setOneTouchExpandable( false );
allPanel.setDividerLocation( 50 );
// add this panel to the content pane
getContentPane().add(allPanel);
setSize(500,150);
setVisible( true );
}// end constructor
//------------------------------------------------------------------------------------------------
// main method
public static void main (String[] args)
{
MyApp app = new MyApp ();
app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}// end main
//------------------------------------------------------------------------------------------------
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
// PRIVATE CLASSES
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
private class StartButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e)
{
stopped = false;
long counter = 1;
while (! stopped)
{
number.setText(""+counter);
counter ++;
}// end while
}// end method
}// end class StartButtonHandler
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
private class StopButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e)
{
stopped = true;
}// end method
}// end class StopButtonHandler
//-----------------------------------------------------------------------
//-----------------------------------------------------------------------
} // end clas

SoRelena,
Check this code.Hope this is what u want.

import java.util.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.lang.Runnable;

public class MyApp extends JFrame implements Runnable
{
	static boolean stopped = true; // Is the counting stopped? (True or False) --> shared variable
	static JTextField number;
	JButton startButton,stopButton;

	public MyApp()
	{
		// set the GUI
		super( "CAP 332 - Assignment 6: Learning Java Threads" );
		startButton = new JButton("Start");
		startButton.addActionListener(new ButtonHandler());
		startButton.setToolTipText("Click here to start counting.");

		stopButton = new JButton("Stop");
		stopButton.addActionListener(new ButtonHandler());
		stopButton.setToolTipText("Click here to stop counting.");

		number = new JTextField(20);
		number.setEditable(false);
		number.setText("0");

		JPanel row1Panel = new JPanel();
		JPanel row2Panel = new JPanel();
		row1Panel.add(number);
		row2Panel.setLayout(new GridLayout(1,2)); 
		row2Panel.add(startButton);
		row2Panel.add(stopButton);

		// create a split panel to include the 2 row panels
		JSplitPane allPanel = new JSplitPane( JSplitPane.VERTICAL_SPLIT, row1Panel, row2Panel );
		allPanel.setOneTouchExpandable( false );
		allPanel.setDividerLocation( 50 );

		getContentPane().add(allPanel);
		setSize(500,150);
		
		Thread t = new Thread(this, "MyThread");
		t.start();

		setVisible( true );
	}
	

	public void run()
	{
		try
		{
			System.out.println("stopped: "+stopped);
			long counter = 1;
			while(true)
			{
				//while (! stopped)
				if(! stopped)
				{
					number.setText(""+counter);
					counter ++;
					System.out.println(".counter."+counter);
				}
			}
		}
		catch (Exception e){}
	}

	public static void main (String[] args)
	{
		MyApp app = new MyApp ();
		app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
	}

	private class ButtonHandler implements ActionListener
	{
		public void actionPerformed(ActionEvent e)
		{
			JButton b = (JButton)e.getSource();
			if(b==startButton)
			{
				stopped = false;				
			}
			else if(b==stopButton)
			{
				stopped = true;
			}
		}
	}
}
This article has been dead for over six months. Start a new discussion instead.