1 19 20 28 29 package org.netbeans.modules.xml.refactoring.impl; 30 31 import java.awt.BorderLayout ; 32 import java.awt.Dialog ; 33 import javax.swing.JComponent ; 34 import javax.swing.JDialog ; 35 import javax.swing.JLabel ; 36 import javax.swing.JPanel ; 37 import javax.swing.SwingUtilities ; 38 import javax.swing.WindowConstants ; 39 import javax.swing.border.EmptyBorder ; 40 import org.netbeans.api.progress.ProgressHandle; 41 import org.netbeans.api.progress.ProgressHandleFactory; 42 import org.openide.DialogDescriptor; 43 import org.openide.DialogDisplayer; 44 import org.openide.util.NbBundle; 45 46 50 public class UndoRedoProgress { 51 private ProgressHandle handle; 52 private Dialog d; 53 54 55 public UndoRedoProgress() { 56 } 57 58 public void start() { 59 SwingUtilities.invokeLater(new Runnable () { 60 public void run() { 61 final String lab = NbBundle.getMessage(UndoRedoProgress.class, "LBL_RefactorProgressLabel"); 62 handle = ProgressHandleFactory.createHandle(lab); 63 JComponent progress = ProgressHandleFactory.createProgressComponent(handle); 64 JPanel component = new JPanel (); 65 component.setLayout(new BorderLayout ()); 66 component.setBorder(new EmptyBorder (12,12,11,11)); 67 JLabel label = new JLabel (lab); 68 label.setBorder(new EmptyBorder (0, 0, 6, 0)); 69 component.add(label, BorderLayout.NORTH); 70 component.add(progress, BorderLayout.CENTER); 71 DialogDescriptor desc = new DialogDescriptor(component, NbBundle.getMessage(UndoRedoProgress.class, "LBL_RefactoringInProgress"), true, new Object []{}, null, 0, null, null); 72 desc.setLeaf(true); 73 d = DialogDisplayer.getDefault().createDialog(desc); 74 ((JDialog ) d).setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); 75 76 77 handle.start(); 78 handle.switchToIndeterminate(); 79 80 d.setVisible(true); 81 } 82 }); 83 } 84 85 86 public void stop() { 87 SwingUtilities.invokeLater(new Runnable () { 88 public void run() { 89 handle.finish(); 90 d.setVisible(false); 91 } 92 }); 93 } 94 95 } 96 | Popular Tags |