Please take time to read the code disclaimer.

<--Go back to Kent's Projects

<--Go back to project post

/**
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * LanguageDetailsDialog.java
 *
 * Created on Nov 21, 2011, 7:16:31 AM
 */
package encodergui;

import broadscope.StaticClass;
import encodequerygenerator.*;
import java.awt.*;

/**
 *
 * @author Kent
 */
public class LanguageDetailsDialog extends javax.swing.JDialog {

  private LanguageDetailsTableModel languageDetailsTableModel = null;
  private LanguageType languageType;

  /** Creates new form LanguageDetailsDialog
   * @param parent
   * @param modal
   * @param languageType  
   */
  public LanguageDetailsDialog(java.awt.Dialog parent, boolean modal, LanguageType languageType) {
    super(parent, modal);
    this.languageType = languageType;
    languageDetailsTableModel = new LanguageDetailsTableModel(languageType);
    initComponents();
    myInitComponents();
  }

  /** 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.
   */
  @SuppressWarnings("unchecked")
    // //GEN-BEGIN:initComponents
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        batchEditPanel = new javax.swing.JPanel();
        ignoreCheckBox = new javax.swing.JCheckBox();
        editLanguageToggleButton = new javax.swing.JToggleButton();
        languageNameTextField = new javax.swing.JTextField();
        goBackButton = new javax.swing.JButton();
        languageInstancesScrollPane = new javax.swing.JScrollPane();
        languageInstancesTable = new javax.swing.JTable();
        viewButton = new javax.swing.JButton();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle(windowName());
        getContentPane().setLayout(new java.awt.GridBagLayout());

        batchEditPanel.setLayout(new java.awt.GridBagLayout());

        ignoreCheckBox.setText("Ignore All?");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        batchEditPanel.add(ignoreCheckBox, gridBagConstraints);

        editLanguageToggleButton.setText("Edit Language");
        editLanguageToggleButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                editLanguageToggleButtonActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        batchEditPanel.add(editLanguageToggleButton, gridBagConstraints);

        languageNameTextField.setText("Language Name");
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 0;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.ipadx = 40;
        gridBagConstraints.insets = new java.awt.Insets(5, 5, 5, 5);
        batchEditPanel.add(languageNameTextField, gridBagConstraints);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridwidth = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.FIRST_LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
        getContentPane().add(batchEditPanel, gridBagConstraints);

        goBackButton.setText("<- Go Back");
        goBackButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                goBackButtonActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.FIRST_LINE_START;
        gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
        getContentPane().add(goBackButton, gridBagConstraints);

        languageInstancesTable.setModel(languageDetailsTableModel);
        languageInstancesTable.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                languageInstancesTableMouseClicked(evt);
            }
        });
        languageInstancesScrollPane.setViewportView(languageInstancesTable);

        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.gridy = 1;
        gridBagConstraints.gridwidth = 2;
        gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
        getContentPane().add(languageInstancesScrollPane, gridBagConstraints);

        viewButton.setText("View");
        viewButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                viewButtonActionPerformed(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.gridy = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.FIRST_LINE_END;
        gridBagConstraints.insets = new java.awt.Insets(10, 10, 10, 10);
        getContentPane().add(viewButton, gridBagConstraints);

        pack();
    }// //GEN-END:initComponents

  private void viewButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_viewButtonActionPerformed
    LanguageDialog ld = new LanguageDialog(this, true, languageType.getLanguageList().get(languageInstancesTable.getSelectedRow()));
    ld.setVisible(true);
  }//GEN-LAST:event_viewButtonActionPerformed

  private void languageInstancesTableMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_languageInstancesTableMouseClicked
    if (evt.getClickCount() == 2) {
      LanguageDialog ld = new LanguageDialog(this, true, languageType.getLanguageList().get(languageInstancesTable.getSelectedRow()));
      ld.setVisible(true);
    }
  }//GEN-LAST:event_languageInstancesTableMouseClicked

  private void editLanguageToggleButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_editLanguageToggleButtonActionPerformed
    if (editLanguageToggleButton.isSelected()) {
      editLanguageToggleButton.setText("Submit Changes");
      languageNameTextField.setEnabled(true);
      ignoreCheckBox.setEnabled(true);
    } else {
      editLanguageToggleButton.setText("Edit Language");
      languageNameTextField.setEnabled(false);
      ignoreCheckBox.setEnabled(false);
      languageType.renameLanguage(languageNameTextField.getText());
      languageType.resetIgnoreStatus(ignoreCheckBox.isSelected());
    }
  }//GEN-LAST:event_editLanguageToggleButtonActionPerformed

  private void goBackButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_goBackButtonActionPerformed
    this.dispose();
  }//GEN-LAST:event_goBackButtonActionPerformed

  /**
   * This method initiates the components I want
   */
  private void myInitComponents() {
    languageNameTextField.setText(languageType.getName());
    ignoreCheckBox.setSelected(languageType.isMostIgnored());
    languageNameTextField.setEnabled(false);
    ignoreCheckBox.setEnabled(false);
    int rowHeight = languageInstancesTable.getRowHeight();
    int tableHeight = rowHeight * languageType.getLanguageList().size();
    int scrollPaneHeight = tableHeight + 28;
    if (tableHeight > 400) {
      scrollPaneHeight = 400;
    }
    languageInstancesScrollPane.setPreferredSize(new Dimension(450, scrollPaneHeight));
    languageInstancesTable.setPreferredSize(new Dimension(450, tableHeight));
    StaticClass.addPartLogo(getContentPane(), getClass(), true, 50, java.awt.GridBagConstraints.SOUTHEAST, true);
    StaticClass.centerAndPack(this);
    StaticClass.setUnifiedColor(rootPane, java.awt.Color.white);
  }

  /**
   * This will set the name of the window
   * @return 
   */
  public String windowName() {
    return languageType.getName() + " details";
  }
  
  /**
   * @param args the command line arguments
   */
  public static void main(String args[]) {
    /** Set the Nimbus look and feel */
    //
        /** If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */
    try {
      for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
        if ("Nimbus".equals(info.getName())) {
          javax.swing.UIManager.setLookAndFeel(info.getClassName());
          break;
        }
      }
    } catch (ClassNotFoundException ex) {
      java.util.logging.Logger.getLogger(LanguageDetailsDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
      java.util.logging.Logger.getLogger(LanguageDetailsDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
      java.util.logging.Logger.getLogger(LanguageDetailsDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
      java.util.logging.Logger.getLogger(LanguageDetailsDialog.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //

    /** Create and display the dialog */
    java.awt.EventQueue.invokeLater(new Runnable() {

      public void run() {
        LanguageDetailsDialog dialog = new LanguageDetailsDialog(new javax.swing.JDialog(), true, new LanguageType(new Language(new Title(new DVD(new Series(new DVDScanner(new EncodeFrame()), "No Series!"), "No DVD!")))));
        dialog.addWindowListener(new java.awt.event.WindowAdapter() {

          @Override
          public void windowClosing(java.awt.event.WindowEvent e) {
            System.exit(0);
          }
        });
        dialog.setVisible(true);
      }
    });
  }
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JPanel batchEditPanel;
    private javax.swing.JToggleButton editLanguageToggleButton;
    private javax.swing.JButton goBackButton;
    private javax.swing.JCheckBox ignoreCheckBox;
    private javax.swing.JScrollPane languageInstancesScrollPane;
    private javax.swing.JTable languageInstancesTable;
    private javax.swing.JTextField languageNameTextField;
    private javax.swing.JButton viewButton;
    // End of variables declaration//GEN-END:variables
}