Source Code : A program to test a progress monitor dialog.
Java Is Open Source Programming Language You Can Download From Java and Java Libraries From http://www.oracle.com.
Click Here to download
We provide this code related to title for you to solve your developing problem easily. Libraries which is import in this program you can download from http://www.oracle.com.
Click Here or search from google with Libraries Name you get jar file related it
A program to test a progress monitor dialog.
/*
This program is a part of the companion code for Core Java 8th ed.
(http://horstmann.com/corejava)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
import java.awt.BorderLayout;
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ProgressMonitor;
import javax.swing.SwingWorker;
import javax.swing.Timer;
/**
* A program to test a progress monitor dialog.
* @version 1.04 2007-08-01
* @author Cay Horstmann
*/
public class ProgressMonitorTest
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame = new ProgressMonitorFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
});
}
}
/**
* A frame that contains a button to launch a simulated activity and a text area for the activity
* output.
*/
class ProgressMonitorFrame extends JFrame
{
public ProgressMonitorFrame()
{
setTitle("ProgressMonitorTest");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
// this text area holds the activity output
textArea = new JTextArea();
// set up a button panel
JPanel panel = new JPanel();
startButton = new JButton("Start");
panel.add(startButton);
add(new JScrollPane(textArea), BorderLayout.CENTER);
add(panel, BorderLayout.SOUTH);
// set up the button action
startButton.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
startButton.setEnabled(false);
final int MAX = 1000;
// start activity
activity = new SimulatedActivity(MAX);
activity.execute();
// launch progress dialog
progressDialog = new ProgressMonitor(ProgressMonitorFrame.this,
"Waiting for Simulated Activity", null, 0, MAX);
cancelMonitor.start();
}
});
// set up the timer action
cancelMonitor = new Timer(500, new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
if (progressDialog.isCanceled())
{
activity.cancel(true);
startButton.setEnabled(true);
}
else if (activity.isDone())
{
progressDialog.close();
startButton.setEnabled(true);
}
else
{
progressDialog.setProgress(activity.getProgress());
}
}
});
}
private Timer cancelMonitor;
private JButton startButton;
private ProgressMonitor progressDialog;
private JTextArea textArea;
private SimulatedActivity activity;
public static final int DEFAULT_WIDTH = 300;
public static final int DEFAULT_HEIGHT = 200;
class SimulatedActivity extends SwingWorker<Void, Integer>
{
/**
* Constructs the simulated activity that increments a counter from 0 to a
* given target.
* @param t the target value of the counter.
*/
public SimulatedActivity(int t)
{
current = 0;
target = t;
}
protected Void doInBackground() throws Exception
{
try
{
while (current < target)
{
Thread.sleep(100);
current++;
textArea.append(current + "
");
setProgress(current);
}
}
catch (InterruptedException e)
{
}
return null;
}
private int current;
private int target;
}
}
Thank with us