36 lines
1.1 KiB
Java
36 lines
1.1 KiB
Java
// ui/Progress.java
|
|
// (c)2016 MindView LLC: see Copyright.txt
|
|
// We make no guarantees that this code is fit for any purpose.
|
|
// Visit http://mindviewinc.com/Books/OnJava/ for more book information.
|
|
// Using sliders, progress bars and progress monitors.
|
|
import javax.swing.*;
|
|
import javax.swing.border.*;
|
|
import java.awt.*;
|
|
import static onjava.SwingConsole.*;
|
|
|
|
public class Progress extends JFrame {
|
|
private JProgressBar pb = new JProgressBar();
|
|
private ProgressMonitor pm = new ProgressMonitor(
|
|
this, "Monitoring Progress", "Test", 0, 100);
|
|
private JSlider sb =
|
|
new JSlider(JSlider.HORIZONTAL, 0, 100, 60);
|
|
public Progress() {
|
|
setLayout(new GridLayout(2,1));
|
|
add(pb);
|
|
pm.setProgress(0);
|
|
pm.setMillisToPopup(1000);
|
|
sb.setValue(0);
|
|
sb.setPaintTicks(true);
|
|
sb.setMajorTickSpacing(20);
|
|
sb.setMinorTickSpacing(5);
|
|
sb.setBorder(new TitledBorder("Slide Me"));
|
|
pb.setModel(sb.getModel()); // Share model
|
|
add(sb);
|
|
sb.addChangeListener(e ->
|
|
pm.setProgress(sb.getValue()));
|
|
}
|
|
public static void main(String[] args) {
|
|
run(new Progress(), 300, 200);
|
|
}
|
|
}
|