下面列出了javax.swing.JProgressBar#setIndeterminate ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private static Component newContent(final String message) {
final JPanel panel = new JPanel();
panel.setBorder(new LineBorder(Color.BLACK));
panel.setLayout(new BorderLayout());
final JLabel label = new JLabel(message);
label.setBorder(new EmptyBorder(10, 10, 10, 10));
panel.add(BorderLayout.NORTH, label);
final JProgressBar progressBar = new JProgressBar();
progressBar.setBorder(new EmptyBorder(10, 10, 10, 10));
progressBar.setIndeterminate(true);
panel.add(progressBar, BorderLayout.CENTER);
return panel;
}
private static void showUI(){
sFrame = new JFrame();
JProgressBar progressBar = new JProgressBar();
progressBar.setVisible(false);
progressBar.setIndeterminate(false);
progressBar.setIndeterminate(true);
progressBar.setIndeterminate(false);
progressBar.setValue(10);
progressBar.setString("Progress");
sFrame.add(progressBar);
sProgressBar = new WeakReference<>(progressBar);
sFrame.setSize(200,200);
sFrame.setVisible(true);
}
private static void showUI(){
sFrame = new JFrame();
JProgressBar progressBar = new JProgressBar();
progressBar.setVisible(false);
progressBar.setIndeterminate(false);
progressBar.setIndeterminate(true);
progressBar.setIndeterminate(false);
progressBar.setValue(10);
progressBar.setString("Progress");
sFrame.add(progressBar);
sProgressBar = new WeakReference<>(progressBar);
sFrame.setSize(200,200);
sFrame.setVisible(true);
}
public Progressbar() {
super(new BorderLayout());
((BorderLayout)getLayout()).setHgap(20);
setBorder(BorderFactory.createEmptyBorder(10,5,5,5));
label = new JLabel("Creating tree structure");
Font font = label.getFont().deriveFont(Font.PLAIN,12);
label.setFont(font);
add(label,BorderLayout.WEST);
progressbar = new JProgressBar(0,100);
progressbar.setValue(-1);
progressbar.setStringPainted(true);
progressbar.setString("");
progressbar.setIndeterminate(true);
add(progressbar,BorderLayout.CENTER);
}
public InfiniteProgressMonitor(Component parentFrame, String title, String message) {
infiniteProgress = new JProgressBar();
infiniteProgress.setIndeterminate(true);
label = new JLabel(message);
final Object[] dialogItems = { label, infiniteProgress };
cancelOption = Messages.getString("InfiniteProgressMonitor.0"); //$NON-NLS-1$
final Object[] options = { cancelOption };
setPane(new JOptionPane(dialogItems, JOptionPane.PLAIN_MESSAGE, JOptionPane.YES_NO_CANCEL_OPTION, null,
options));
setDialog(getPane().createDialog(parentFrame, title));
getDialog().setModal(true);
}
private static boolean showUpgradeDialog (final File source, String note) {
Util.setDefaultLookAndFeel();
JPanel panel = new JPanel(new BorderLayout());
panel.add(new AutoUpgradePanel (source.getAbsolutePath (), note), BorderLayout.CENTER);
JProgressBar progressBar = new JProgressBar(0, 100);
progressBar.setValue(0);
progressBar.setStringPainted(true);
progressBar.setIndeterminate(true);
panel.add(progressBar, BorderLayout.SOUTH);
progressBar.setVisible(false);
JButton bYES = new JButton("Yes");
bYES.setMnemonic(KeyEvent.VK_Y);
JButton bNO = new JButton("No");
bNO.setMnemonic(KeyEvent.VK_N);
JButton[] options = new JButton[] {bYES, bNO};
JOptionPane p = new JOptionPane (panel, JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION, null, options, bYES);
JDialog d = Util.createJOptionProgressDialog(p, NbBundle.getMessage (AutoUpgrade.class, "MSG_Confirmation_Title"), source, progressBar);
d.setVisible (true);
return new Integer (JOptionPane.YES_OPTION).equals (p.getValue ());
}
Dialog createProgressPanel(final String message, BoundedRangeModel model) {
Dialog dialog;
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout(10, 10));
panel.setBorder(new EmptyBorder(15, 15, 15, 15));
panel.add(new JLabel(message), BorderLayout.NORTH);
final Dimension ps = panel.getPreferredSize();
ps.setSize(Math.max(ps.getWidth(), DEFAULT_WIDTH), Math.max(ps.getHeight(), DEFAULT_HEIGHT));
panel.setPreferredSize(ps);
final JProgressBar progress = new JProgressBar();
if (model == null) {
progress.setIndeterminate(true);
} else {
progress.setStringPainted(true);
progress.setModel(model);
}
panel.add(progress, BorderLayout.SOUTH);
dialog = DialogDisplayer.getDefault().createDialog(new DialogDescriptor(panel, Bundle.ReferencesBrowserController_ProgressDialogCaption(), true, new Object[] { },
DialogDescriptor.CANCEL_OPTION, DialogDescriptor.RIGHT_ALIGN,
null, null));
return dialog;
}
private static void showUI(){
sFrame = new JFrame();
JProgressBar progressBar = new JProgressBar();
progressBar.setVisible(false);
progressBar.setIndeterminate(false);
progressBar.setIndeterminate(true);
progressBar.setIndeterminate(false);
progressBar.setValue(10);
progressBar.setString("Progress");
sFrame.add(progressBar);
sProgressBar = new WeakReference<>(progressBar);
sFrame.setSize(200,200);
sFrame.setVisible(true);
}
/**
* Creates a progress bar.
*
* @param parent progress bar's parent. The horizontal axis of the progress bar will be center-aligned to the parent.
* @return a progress bar.
*/
private static JProgressBar createProgressBar(final JComponent parent) {
final JProgressBar progressBar = new JProgressBar();
progressBar.setSize(260, 20);
parent.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
progressBar.setLocation(
parent.getWidth() / 2 - progressBar.getWidth() / 2,
parent.getHeight() - progressBar.getHeight() - 20);
}
});
progressBar.setStringPainted(true);
progressBar.setIndeterminate(true);
progressBar.setVisible(false);
return progressBar;
}
private JPanel buildPanelButtons() {
JPanel whole = new JPanel(new BorderLayout());
progressBar = new JProgressBar(0, 100);
progressBar.setToolTipText(Messages.text("phrase.generatingYourSecureKey"));
progressBar.setIndeterminate(true);
JPanel btns = new JPanel(new FlowLayout(FlowLayout.RIGHT, 0, 0));
btns.setBorder(BorderFactory.createEmptyBorder(5, 10, 10, 10));
btns.add(progressBar);
btns.add(new JLabel(" "));
btns.add(btnCreate = new JButton());
btns.add(btnCancel = new JButton());
whole.add(btns, BorderLayout.EAST);
return whole;
}
Dialog createProgressPanel(final String message, BoundedRangeModel model) {
Dialog dialog;
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout(10, 10));
panel.setBorder(new EmptyBorder(15, 15, 15, 15));
panel.add(new JLabel(message), BorderLayout.NORTH);
final Dimension ps = panel.getPreferredSize();
ps.setSize(Math.max(ps.getWidth(), DEFAULT_WIDTH), Math.max(ps.getHeight(), DEFAULT_HEIGHT));
panel.setPreferredSize(ps);
final JProgressBar progress = new JProgressBar();
if (model == null) {
progress.setIndeterminate(true);
} else {
progress.setStringPainted(true);
progress.setModel(model);
}
panel.add(progress, BorderLayout.SOUTH);
dialog = DialogDisplayer.getDefault().createDialog(new DialogDescriptor(panel, Bundle.ReferencesBrowserController_ProgressDialogCaption(), true, new Object[] { },
DialogDescriptor.CANCEL_OPTION, DialogDescriptor.RIGHT_ALIGN,
null, null));
return dialog;
}
public ProgressWindow(JFrame parent, String title, String message) {
super(parent, title, true);
if (parent != null) {
Dimension parentSize = parent.getSize();
Point p = parent.getLocation();
setLocation(p.x + parentSize.width / 4, p.y + parentSize.height / 4);
}
JPanel messagePane = new JPanel();
label = new JLabel(message);
messagePane.add(label);
getContentPane().add(messagePane);
JPanel progressPane = new JPanel();
progressBar = new JProgressBar(0, 100);
progressBar.setIndeterminate(true);
progressBar.setPreferredSize(new Dimension(250, 20));
progressBar.setVisible(true);
progressPane.add(progressBar);
getContentPane().add(progressPane, BorderLayout.SOUTH);
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
pack();
}
/**
* Initializes a new instance of the {@code ProgressWindow} class.
*
* @param owner The frame from which the window is displayed; if {@code null} the shared owner
* will be used and this window will not be focusable.
* @param title The progress message; may be {@code null}.
*/
public ProgressWindow(final Frame owner, final String title) {
super(owner);
final JLabel label = new JLabel(title);
label.setBorder(new EmptyBorder(10, 10, 10, 10));
final JProgressBar progressBar = new JProgressBar();
progressBar.setBorder(new EmptyBorder(10, 10, 10, 10));
progressBar.setIndeterminate(true);
final JPanel panel = new JPanel();
panel.setBorder(new LineBorder(Color.BLACK));
panel.setLayout(new BorderLayout());
panel.add(BorderLayout.NORTH, label);
panel.add(progressBar, BorderLayout.CENTER);
setLayout(new BorderLayout());
setSize(200, 80);
add(panel, BorderLayout.CENTER);
pack();
setLocationRelativeTo(owner);
}
/**
* Instantiates a new progress bar.
*/
public ProgressOverlay(){
super(VanetSimStart.getMainFrame());
setUndecorated(true);
getRootPane().setWindowDecorationStyle(JRootPane.NONE);
JProgressBar progressBar = new JProgressBar(0, 100);
progressBar.setIndeterminate(true);
setLayout(new BorderLayout());
add(progressBar, BorderLayout.PAGE_START);
add(ButtonCreator.getJButton("shutdown.png", "shutdown", Messages.getString("ProgressOverlay.quitProgram"), this), BorderLayout.PAGE_END); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
pack();
setVisible(false);
}
public ExecutorIndeterminateGui() {
frame = new JFrame();
JLabel label = new JLabel("Loading...");
JProgressBar jpb = new JProgressBar();
jpb.setIndeterminate(true);
JPanel panel = new JPanel(new BorderLayout(10, 10));
panel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
panel.add(label, BorderLayout.NORTH);
panel.add(jpb, BorderLayout.CENTER);
frame.add(panel);
frame.pack();
frame.setSize(w, h);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setIconImage(ImageCache.getBuffered(ImageCache.HORTONMACHINE_FRAME_ICON));
frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
progress = new IProgressPrinter(){
@Override
public void publish( ProgressUpdate update ) {
if (update.errorMessage != null) {
frame.dispose();
GuiUtilities.showErrorMessage(panel, update.errorMessage);
} else {
label.setText(update.updateString);
}
}
@Override
public void done() {
if (frame != null && frame.isVisible())
frame.dispose();
}
};
}
/**
* Create the dialog.
*/
public PortListCallbackDialog() {
setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
setResizable(false);
setModal(true);
setTitle("Searching...");
setBounds(100, 100, 335, 112);
getContentPane().setLayout(new BorderLayout());
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
getContentPane().add(contentPanel, BorderLayout.CENTER);
contentPanel.setLayout(new BorderLayout(0, 0));
{
progressBar = new JProgressBar(0, 1);
progressBar.setIndeterminate(true);
contentPanel.add(progressBar);
}
{
JPanel buttonPane = new JPanel();
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
getContentPane().add(buttonPane, BorderLayout.SOUTH);
{
cancelButton = new JButton("Cancel");
cancelButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
dispose();
}
});
cancelButton.setActionCommand("Cancel");
buttonPane.add(cancelButton);
}
}
}
/**
* Creates the progress panel.
*/
public void createProgressPanel() {
getDemoPanel().setLayout(new BorderLayout());
JPanel textWrapper = new JPanel(new BorderLayout());
// textWrapper.setBorder(new SoftBevelBorder(BevelBorder.LOWERED));
textWrapper.setAlignmentX(LEFT_ALIGNMENT);
progressTextArea = new MyTextArea();
progressTextArea.getAccessibleContext().setAccessibleName(getString("ProgressBarDemo.accessible_text_area_name"));
progressTextArea.getAccessibleContext().setAccessibleName(getString("ProgressBarDemo.accessible_text_area_description"));
textWrapper.add(new JScrollPane(progressTextArea), BorderLayout.CENTER);
getDemoPanel().add(textWrapper, BorderLayout.CENTER);
JPanel progressPanel = new JPanel();
getDemoPanel().add(progressPanel, BorderLayout.SOUTH);
progressBar = new JProgressBar(JProgressBar.HORIZONTAL, 0, text.length()) {
public Dimension getPreferredSize() {
return new Dimension(270, super.getPreferredSize().height);
// return new Dimension(super.getPreferredSize().width,300 );
}
};
// progressBar.setForeground(Color.red);
// progressBar.setBackground(Color.pink);
// progressBar.setOrientation(JProgressBar.VERTICAL);//* add by Jack Jiang for test
progressBar.getAccessibleContext().setAccessibleName(getString("ProgressBarDemo.accessible_text_loading_progress"));
progressBar.setStringPainted(true);//* add by Jack Jiang for test
// progressBar.setPreferredSize(new Dimension(800,25));
// progressPanel.add(progressBar);
// progressPanel.add(createLoadButton());
// progressPanel.add(createStopButton());
JPanel p1 = new JPanel();
p1.add(progressBar);
p1.add(createLoadButton());
p1.add(createStopButton());
progressPanel.add(p1);
JProgressBar pbIndeterminate = new JProgressBar()
{
public Dimension getPreferredSize() {
// return new Dimension(15,300 );
return new Dimension(200, 15);
}
}
;
// pbIndeterminate.setForeground(Color.black);
//when the task of (initially) unknown length begins:
pbIndeterminate.setIndeterminate(true);
// pbIndeterminate.setOrientation(JProgressBar.VERTICAL);//* add by Jack Jiang for test
progressPanel.add(pbIndeterminate);
}
private void init(int numberOfSteps, int messageX, int messageY, Color messageColor) {
JPanel content = new JPanel() {
public boolean isOptimizedDrawingEnabled() {
return false;
}
};
content.setLayout(new OverlayLayout(content));
content.setBorder(BorderFactory.createLineBorder(Color.DARK_GRAY, 1));
JPanel dynamicContent = new JPanel();
dynamicContent.setOpaque(false);
dynamicContent.setLayout(new GridBagLayout());
message = new JLabel();
message.setFont(new Font(Font.SANS_SERIF, Font.PLAIN, 12));
message.setForeground(messageColor);
progressBar = new JProgressBar();
progressBar.setPreferredSize(new Dimension(icon.getIconWidth(), 18));
progressBar.setIndeterminate(false);
progressBar.setMaximum(numberOfSteps);
progressBar.setVisible(false);
GridBagConstraints c = GuiUtil.setConstraints(0, 0, 1, 1, GridBagConstraints.HORIZONTAL, 5 + messageY, 5 + messageX, 0, 5);
c.anchor = GridBagConstraints.NORTH;
dynamicContent.add(message, c);
c = GuiUtil.setConstraints(0, 1, 1, 1, GridBagConstraints.HORIZONTAL, 5, 5, 5, 5);
c.anchor = GridBagConstraints.SOUTH;
dynamicContent.add(progressBar, c);
dynamicContent.setAlignmentX(0f);
dynamicContent.setAlignmentY(0f);
content.add(dynamicContent);
JLabel image = new JLabel(icon);
image.setAlignmentX(0f);
image.setAlignmentY(0f);
content.add(image);
add(content, BorderLayout.CENTER);
// center on screen
Toolkit t = Toolkit.getDefaultToolkit();
Insets frame_insets = t.getScreenInsets(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration());
int frame_insets_x = frame_insets.left + frame_insets.right;
int frame_insets_y = frame_insets.bottom + frame_insets.top;
Dimension dim = t.getScreenSize();
int x = (dim.width - icon.getIconWidth() - frame_insets_x) / 2;
int y = (dim.height - icon.getIconHeight() - frame_insets_y) / 2;
setMinimumSize(new Dimension(icon.getIconWidth(), icon.getIconHeight()));
setLocation(x, y);
setAlwaysOnTop(true);
}
public static final void download(Library library, Release release) {
LibraryUpdater lib = new LibraryUpdater(library, release);
if (GraphicsEnvironment.isHeadless()) {
FutureTask<Object> task = new FutureTask<>(lib, null);
QUEUE.submit(task);
try {
task.get();
} catch (Exception exception) {
Log.error(exception);
}
} else {
// Close any open files that come from the library
Workspace workspace = Workspace.get();
Path prefix = library.getPath();
String title = library.getTitle();
for (Dockable dockable : workspace.getDock().getDockables()) {
if (dockable instanceof DataFileDockable) {
DataFileDockable dfd = (DataFileDockable) dockable;
Path path = dfd.getBackingFile();
if (path != null && path.toAbsolutePath().startsWith(prefix)) {
if (dfd.mayAttemptClose()) {
if (!dfd.attemptClose()) {
JOptionPane.showMessageDialog(null, String.format(I18n.Text("GCS %s update was canceled."), title), I18n.Text("Canceled!"), JOptionPane.INFORMATION_MESSAGE);
return;
}
}
}
}
}
// Put up a progress dialog
JDialog dialog = new JDialog(workspace, String.format(I18n.Text("Update %s"), title), true);
dialog.setResizable(false);
dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
dialog.setUndecorated(true);
JComponent content = (JComponent) dialog.getContentPane();
content.setLayout(new BorderLayout());
content.setBorder(new CompoundBorder(new LineBorder(), new EmptyBorder(10)));
content.add(new JLabel(String.format(I18n.Text("Downloading and installing the %s…"), title)), BorderLayout.NORTH);
JProgressBar bar = new JProgressBar();
bar.setIndeterminate(true);
content.add(bar);
dialog.pack();
dialog.setLocationRelativeTo(workspace);
lib.mDialog = dialog;
QUEUE.submit(lib);
dialog.setVisible(true);
}
}
private void initGUI(String impExpTitle, String impExpMessage) {
setDefaultCloseOperation(JDialog.DO_NOTHING_ON_CLOSE);
fileName = new JLabel(impExpMessage);
fileName.setFont(fileName.getFont().deriveFont(Font.BOLD));
messageLabel = new JLabel(" ");
cancelButton = new JButton(Language.I18N.getString("common.button.cancel"));
featureLabel = new JLabel(Language.I18N.getString("common.status.dialog.featureCounter"));
appearanceLabel = new JLabel(Language.I18N.getString("common.status.dialog.appearanceCounter"));
textureLabel = new JLabel(Language.I18N.getString("common.status.dialog.textureCounter"));
featureCounterLabel = new JLabel("0", SwingConstants.TRAILING);
appearanceCounterLabel = new JLabel("0", SwingConstants.TRAILING);
textureCounterLabel = new JLabel("0", SwingConstants.TRAILING);
featureCounterLabel.setPreferredSize(new Dimension(100, featureLabel.getPreferredSize().height));
appearanceCounterLabel.setPreferredSize(new Dimension(100, appearanceLabel.getPreferredSize().height));
textureCounterLabel.setPreferredSize(new Dimension(100, textureLabel.getPreferredSize().height));
progressBar = new JProgressBar();
setLayout(new GridBagLayout());
{
main = new JPanel();
add(main, GuiUtil.setConstraints(0,0,1.0,0.0,GridBagConstraints.BOTH,5,5,5,5));
main.setLayout(new GridBagLayout());
{
int gridY = 0;
main.add(fileName, GuiUtil.setConstraints(0,gridY++,0.0,0,GridBagConstraints.HORIZONTAL,5,5,5,5));
main.add(messageLabel, GuiUtil.setConstraints(0,gridY++,0.0,0,GridBagConstraints.HORIZONTAL,5,5,0,5));
main.add(progressBar, GuiUtil.setConstraints(0,gridY++,1.0,0.0,GridBagConstraints.HORIZONTAL,0,5,5,5));
details = new JLabel("Details");
main.add(details, GuiUtil.setConstraints(0,gridY++,1.0,0.0,GridBagConstraints.HORIZONTAL,5,5,0,5));
row = new JPanel();
row.setBackground(new Color(255, 255, 255));
row.setBorder(BorderFactory.createEtchedBorder());
main.add(row, GuiUtil.setConstraints(0,gridY++,1.0,0.0,GridBagConstraints.BOTH,0,5,5,5));
row.setLayout(new GridBagLayout());
{
row.add(featureLabel, GuiUtil.setConstraints(0,0,0.0,0.0,GridBagConstraints.HORIZONTAL,5,5,1,5));
row.add(featureCounterLabel, GuiUtil.setConstraints(1,0,1.0,0.0,GridBagConstraints.HORIZONTAL,5,5,1,5));
row.add(appearanceLabel, GuiUtil.setConstraints(0,1,0.0,0.0,GridBagConstraints.HORIZONTAL,1,5,1,5));
row.add(appearanceCounterLabel, GuiUtil.setConstraints(1,1,1.0,0.0,GridBagConstraints.HORIZONTAL,1,5,1,5));
row.add(textureLabel, GuiUtil.setConstraints(0,2,0.0,0.0,GridBagConstraints.HORIZONTAL,1,5,5,5));
row.add(textureCounterLabel, GuiUtil.setConstraints(1,2,1.0,0.0,GridBagConstraints.HORIZONTAL,1,5,5,5));
if (showTileCounter) {
tileLabel = new JLabel(Language.I18N.getString("common.status.dialog.tileCounter"));
tileCounterLabel = new JLabel("n/a", SwingConstants.TRAILING);
tileCounterLabel.setPreferredSize(new Dimension(100, tileCounterLabel.getPreferredSize().height));
row.add(tileLabel, GuiUtil.setConstraints(0,3,0.0,0.0,GridBagConstraints.HORIZONTAL,1,5,5,5));
row.add(tileCounterLabel, GuiUtil.setConstraints(1,3,1.0,0.0,GridBagConstraints.HORIZONTAL,1,5,5,5));
}
}
}
add(cancelButton, GuiUtil.setConstraints(0,1,0.0,0.5,GridBagConstraints.NONE,5,5,5,5));
}
pack();
progressBar.setIndeterminate(true);
addWindowListener(new WindowAdapter() {
public void windowClosed(WindowEvent e) {
eventDispatcher.removeEventHandler(ExportStatusDialog.this);
}
});
}