Package com.valhalla.gui

Source Code of com.valhalla.gui.WaitDialog

/*
Copyright (C) 2003 Adam Olsen

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 1, 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, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/

package com.valhalla.gui;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dialog;
import java.awt.Dimension;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JProgressBar;

/**
* WaitDialog This is just a frame with a JLabel in it and no buttons used for
* displaying "Please wait..." dialogs and the like
*
* @author Adam Olsen
* @version 1.0
*
*/

public class WaitDialog extends JDialog {
    private Container parent;

    private String title;

    private JButton cancel = new JButton("Cancel");

    private WaitDialogListener listener = null;

    /**
     * Default constructor
     *
     * @param title
     *            the message to be displayed in the window's titlebar
     * @param string
     *            the message to be displayed in the main window
     */
    public WaitDialog(Frame parent, WaitDialogListener listener, String title) {
        super(parent, title);
        this.parent = parent;
        this.listener = listener;
        this.title = title;
        initComponents();
    }

    public WaitDialog(Dialog parent, WaitDialogListener listener, String title) {
        super(parent, title);
        this.parent = parent;
        this.listener = listener;
        this.title = title;
        initComponents();
    }

    public WaitDialog(String title){
        setTitle(title);
        this.title = title;
        initComponents();
    }

    public void setWaitListener( WaitDialogListener listener )
    {
        this.listener = listener;
        if(listener != null) cancel.setEnabled(true);
    }

    private void initComponents() {
        JPanel panel = (JPanel) getContentPane();
        panel.setLayout(new BorderLayout(5, 5));
        panel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));

        JProgressBar bar = new JProgressBar();
        bar.setPreferredSize(new Dimension(200, 20));
        bar.setIndeterminate(true);
        bar.setStringPainted(true);
        bar.setString(title);

        if (listener == null)
            cancel.setEnabled(false);

        panel.add(bar, BorderLayout.NORTH);

        JPanel buttons = new JPanel();
        buttons.setLayout(new BoxLayout(buttons, BoxLayout.X_AXIS));
        buttons.add(Box.createHorizontalGlue());
        buttons.add(cancel);
        buttons.add(Box.createHorizontalGlue());
        panel.add(buttons, BorderLayout.SOUTH);
        cancel.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                listener.cancel();
                dispose();
            }
        });

        pack();
        setLocationRelativeTo(parent);

        setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    }
}
TOP

Related Classes of com.valhalla.gui.WaitDialog

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.