/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package de.cismet.reconnector; import org.openide.util.NbBundle; import java.awt.BorderLayout; import java.awt.Component; import javax.swing.JLabel; /** * DOCUMENT ME! * * @author jruiz * @version $Revision$, $Date$ */ public class ReconnectorPanel extends javax.swing.JPanel implements ReconnectorListener { //~ Static fields/initializers --------------------------------------------- private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(ReconnectorPanel.class); private static final String CONNECTION_CANCELED = NbBundle.getMessage( ReconnectorPanel.class, "connection_canceled"); //~ Instance fields -------------------------------------------------------- private final Reconnector reconnector; private Component errorComponent; // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton btnCancel; private javax.swing.JButton btnExit; private javax.swing.JButton btnIgnore; private javax.swing.JButton btnRetry; private javax.swing.JPanel jPanel1; private javax.swing.JLabel labTryingToConnect; private javax.swing.JPanel panError; private javax.swing.JPanel panProgress; private javax.swing.JPanel panRetry; private javax.swing.JProgressBar pb; // End of variables declaration//GEN-END:variables //~ Constructors ----------------------------------------------------------- /** * Creates new form ReconnectorPanel. * * @param reconnector DOCUMENT ME! */ public ReconnectorPanel(final Reconnector reconnector) { this.reconnector = reconnector; initComponents(); setConnecting(false); } //~ Methods ---------------------------------------------------------------- /** * DOCUMENT ME! * * @param isConnecting DOCUMENT ME! */ private void setConnecting(final boolean isConnecting) { removeAll(); if (isConnecting) { add(panProgress, BorderLayout.CENTER); } else { add(panRetry, BorderLayout.CENTER); } revalidate(); validate(); repaint(); } /** * DOCUMENT ME! * * @param component DOCUMENT ME! */ private void showError(final Component component) { panError.add(component, BorderLayout.CENTER); reconnector.pack(); setConnecting(false); } /** * DOCUMENT ME! */ private void showConnecting() { panError.removeAll(); setConnecting(true); } /** * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this code. The * content of this method is always regenerated by the Form Editor. */ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; panProgress = new javax.swing.JPanel(); pb = new javax.swing.JProgressBar(); btnCancel = new javax.swing.JButton(); labTryingToConnect = new javax.swing.JLabel(); panRetry = new javax.swing.JPanel(); panError = new javax.swing.JPanel(); jPanel1 = new javax.swing.JPanel(); btnExit = new javax.swing.JButton(); btnIgnore = new javax.swing.JButton(); btnRetry = new javax.swing.JButton(); panProgress.setMinimumSize(new java.awt.Dimension(200, 88)); panProgress.setLayout(new java.awt.GridBagLayout()); pb.setBorderPainted(false); pb.setIndeterminate(true); pb.setPreferredSize(new java.awt.Dimension(200, 18)); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.insets = new java.awt.Insets(0, 6, 0, 6); panProgress.add(pb, gridBagConstraints); btnCancel.setText(org.openide.util.NbBundle.getMessage(ReconnectorPanel.class, "cancel")); // NOI18N btnCancel.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(final java.awt.event.ActionEvent evt) { btnCancelActionPerformed(evt); } }); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 2; gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTH; gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); panProgress.add(btnCancel, gridBagConstraints); labTryingToConnect.setText(org.openide.util.NbBundle.getMessage(ReconnectorPanel.class, "trying_to_connect")); // NOI18N gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; gridBagConstraints.insets = new java.awt.Insets(6, 6, 6, 6); panProgress.add(labTryingToConnect, gridBagConstraints); panRetry.setMinimumSize(new java.awt.Dimension(200, 53)); panRetry.setLayout(new java.awt.BorderLayout()); panError.setLayout(new java.awt.BorderLayout()); panRetry.add(panError, java.awt.BorderLayout.CENTER); btnExit.setText(org.openide.util.NbBundle.getMessage(ReconnectorPanel.class, "stop")); // NOI18N btnExit.setPreferredSize(new java.awt.Dimension(125, 29)); btnExit.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(final java.awt.event.ActionEvent evt) { btnExitActionPerformed(evt); } }); jPanel1.add(btnExit); btnIgnore.setText(org.openide.util.NbBundle.getMessage(ReconnectorPanel.class, "ignore")); // NOI18N btnIgnore.setPreferredSize(new java.awt.Dimension(125, 29)); btnIgnore.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(final java.awt.event.ActionEvent evt) { btnIgnoreActionPerformed(evt); } }); jPanel1.add(btnIgnore); btnRetry.setText(org.openide.util.NbBundle.getMessage(ReconnectorPanel.class, "retry")); // NOI18N btnRetry.setPreferredSize(new java.awt.Dimension(125, 29)); btnRetry.addActionListener(new java.awt.event.ActionListener() { @Override public void actionPerformed(final java.awt.event.ActionEvent evt) { btnRetryActionPerformed(evt); } }); jPanel1.add(btnRetry); panRetry.add(jPanel1, java.awt.BorderLayout.SOUTH); setLayout(new java.awt.BorderLayout()); } // </editor-fold>//GEN-END:initComponents /** * DOCUMENT ME! * * @param evt DOCUMENT ME! */ private void btnCancelActionPerformed(final java.awt.event.ActionEvent evt) { //GEN-FIRST:event_btnCancelActionPerformed reconnector.doCancel(); } //GEN-LAST:event_btnCancelActionPerformed /** * DOCUMENT ME! * * @param evt DOCUMENT ME! */ private void btnRetryActionPerformed(final java.awt.event.ActionEvent evt) { //GEN-FIRST:event_btnRetryActionPerformed if (errorComponent instanceof ReconnectorErrorPanelWithApply) { ((ReconnectorErrorPanelWithApply)errorComponent).apply(); } reconnector.doReconnect(); } //GEN-LAST:event_btnRetryActionPerformed /** * DOCUMENT ME! * * @param evt DOCUMENT ME! */ private void btnExitActionPerformed(final java.awt.event.ActionEvent evt) { //GEN-FIRST:event_btnExitActionPerformed System.exit(1); } //GEN-LAST:event_btnExitActionPerformed /** * DOCUMENT ME! * * @param evt DOCUMENT ME! */ private void btnIgnoreActionPerformed(final java.awt.event.ActionEvent evt) { //GEN-FIRST:event_btnIgnoreActionPerformed reconnector.doAbort(); } //GEN-LAST:event_btnIgnoreActionPerformed @Override public void connecting() { showConnecting(); } @Override public void connectionFailed(final ReconnectorEvent event) { errorComponent = event.getComponent(); showError(errorComponent); } @Override public void connectionCanceled() { errorComponent = null; showError(new JLabel(CONNECTION_CANCELED)); } @Override public void connectionCompleted() { errorComponent = null; } }