summaryrefslogtreecommitdiff
path: root/scripting/examples/java/Newsgroup/StatusWindow.java
diff options
context:
space:
mode:
Diffstat (limited to 'scripting/examples/java/Newsgroup/StatusWindow.java')
-rw-r--r--scripting/examples/java/Newsgroup/StatusWindow.java138
1 files changed, 138 insertions, 0 deletions
diff --git a/scripting/examples/java/Newsgroup/StatusWindow.java b/scripting/examples/java/Newsgroup/StatusWindow.java
new file mode 100644
index 000000000000..2fcffaeb6ca6
--- /dev/null
+++ b/scripting/examples/java/Newsgroup/StatusWindow.java
@@ -0,0 +1,138 @@
+import java.awt.*;
+import java.awt.event.*;
+import javax.swing.*;
+import javax.swing.border.*;
+
+public class StatusWindow extends JFrame
+{
+
+ private JProgressBar progressBar = null;
+ private JTextField statusLabel = null;
+ private JButton cancelButton = null;
+ private JFrame statusWindow = null;
+ private PostNewsgroup mainWindow = null;
+
+ private final int MAXPROGRESS = 13;
+ private final int MINPROGRESS = 0;
+
+
+ public StatusWindow( PostNewsgroup mw, String title, int parentX, int parentY )
+ {
+ this.setTitle( title );
+ this.setLocation( parentX + 100, parentY + 100 );
+ statusWindow = this;
+ mainWindow = mw;
+
+ mainWindow.enableButtons( false );
+
+ statusWindow.addWindowListener( new WindowAdapter()
+ {
+ public void windowClosing( WindowEvent event ) {
+ mainWindow.enableButtons( true );
+ }
+ });
+
+ progressBar = new JProgressBar();
+ progressBar.setStringPainted( true );
+ progressBar.setMaximum( MAXPROGRESS );
+ progressBar.setMinimum( MINPROGRESS );
+ progressBar.setSize( 30, 400 );
+
+ JLabel progLabel = new JLabel( "Progress:" );
+
+ JPanel progressPanel = new JPanel();
+ progressPanel.setLayout( new BorderLayout( 10, 0 ) );
+ progressPanel.add( progLabel, "West" );
+ progressPanel.add( progressBar, "East" );
+
+ statusLabel = new JTextField();
+ statusLabel.setColumns( 25 );
+ statusLabel.setEditable( false );
+ statusLabel.setBorder( null );
+ //statusLabel.setBorder( LineBorder.createGrayLineBorder() );
+ JPanel statusPanel = new JPanel();
+ //statusPanel.setBorder( LineBorder.createBlackLineBorder() );
+ statusPanel.setLayout( new BorderLayout() );
+ statusPanel.add( statusLabel, "West" );
+
+ cancelButton = new JButton( "Cancel" );
+ cancelButton.setSize( 30, 100 );
+ cancelButton.setEnabled( false );
+ cancelButton.addActionListener( new ActionListener()
+ {
+ public void actionPerformed( ActionEvent event ) {
+ // cancelling actions
+ mainWindow.enableButtons( true );
+ statusWindow.dispose();
+ }
+ });
+
+ JPanel buttonPanel = new JPanel();
+ buttonPanel.setLayout( new BorderLayout( 0, 5 ) );
+ buttonPanel.add( cancelButton, "East" );
+ buttonPanel.add( new JSeparator( SwingConstants.HORIZONTAL ), "North" );
+
+ Container container = getContentPane();
+ container.setLayout( new GridBagLayout() );
+ GridBagConstraints constraints = new GridBagConstraints();
+ constraints.fill = GridBagConstraints.BOTH;
+
+ constraints.gridx = 0;
+ constraints.gridy = 0;
+ constraints.gridwidth = 1;
+ constraints.gridheight = 1;
+ constraints.insets = new Insets( 15, 15, 10, 15 );
+ container.add( progressPanel, constraints );
+
+ constraints.gridx = 0;
+ constraints.gridy = 1;
+ constraints.gridwidth = 1;
+ constraints.gridheight = 1;
+ constraints.insets = new Insets( 10, 15, 10, 15 );
+ container.add( statusPanel, constraints );
+
+ constraints.gridx = 0;
+ constraints.gridy = 2;
+ constraints.gridwidth = 1;
+ constraints.gridheight = 1;
+ constraints.insets = new Insets( 10, 15, 5, 15 );
+ container.add( buttonPanel, constraints );
+
+ this.pack();
+ this.setResizable( false );
+ //this.setVisible( true );
+
+ }
+
+
+ public void setStatus( int progress, String status )
+ {
+ progressBar.setValue( progress );
+ statusLabel.setText( status );
+ statusLabel.setToolTipText( status );
+ if( progress == MAXPROGRESS )
+ {
+ cancelButton.setEnabled( true );
+ cancelButton.setText( "Close" );
+ }
+ update( getGraphics() );
+ mainWindow.update( mainWindow.getGraphics() );
+ }
+
+
+ public void enableCancelButton( boolean enable )
+ {
+ if( enable )
+ {
+ cancelButton.setEnabled( true );
+ cancelButton.setText( "Finish" );
+ }
+ else
+ {
+ cancelButton.setEnabled( false );
+ cancelButton.setText( "Cancel" );
+ }
+
+ }
+
+}