Example usage for javax.swing ListSelectionModel addListSelectionListener

List of usage examples for javax.swing ListSelectionModel addListSelectionListener

Introduction

In this page you can find the example usage for javax.swing ListSelectionModel addListSelectionListener.

Prototype

void addListSelectionListener(ListSelectionListener x);

Source Link

Document

Add a listener to the list that's notified each time a change to the selection occurs.

Usage

From source file:org.fhcrc.cpl.viewer.quant.gui.ProteinQuantSummaryFrame.java

License:asdf

/**
 * Initialize the GUI components//from  ww  w. ja  va  2 s .c  o m
 */
protected void initGUI() {
    //Global stuff
    setSize(fullWidth, fullHeight);

    eventPropertiesTable = new QuantEvent.QuantEventPropertiesTable();
    eventPropertiesTable.setVisible(true);
    JScrollPane eventPropsScrollPane = new JScrollPane();
    eventPropsScrollPane.setViewportView(eventPropertiesTable);
    eventPropsScrollPane.setSize(propertiesWidth, propertiesHeight);
    eventPropertiesDialog = new JDialog(this, "Event Properties");
    eventPropertiesDialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
    eventPropertiesDialog.setSize(propertiesWidth, propertiesHeight);
    eventPropertiesDialog.setContentPane(eventPropsScrollPane);

    ListenerHelper helper = new ListenerHelper(this);
    setTitle("Protein Summary");
    setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);

    GridBagConstraints gbc = new GridBagConstraints();
    gbc.fill = GridBagConstraints.BOTH;
    gbc.anchor = GridBagConstraints.PAGE_START;
    gbc.gridwidth = GridBagConstraints.REMAINDER;
    gbc.insets = new Insets(5, 5, 5, 5);
    gbc.weighty = 1;
    gbc.weightx = 1;

    try {
        (getOwner()).setIconImage(ImageIO.read(WorkbenchFrame.class.getResourceAsStream("icon.gif")));
    } catch (Exception e) {
    }

    try {
        Localizer.renderSwixml("org/fhcrc/cpl/viewer/quant/gui/ProteinQuantSummaryFrame.xml", this);
        assert null != contentPanel;
        setContentPane(contentPanel);
    } catch (Exception x) {
        ApplicationContext.errorMessage("error creating dialog", x);
        throw new RuntimeException(x);
    }

    buttonSelectAllVisible.setEnabled(false);
    helper.addListener(buttonSelectAllVisible, "buttonSelectAllVisible_actionPerformed");
    buttonDeselectAll.setEnabled(false);
    helper.addListener(buttonDeselectAll, "buttonDeselectAll_actionPerformed");

    buildTurkHITsButton.setEnabled(false);
    helper.addListener(buildTurkHITsButton, "buttonBuildTurkHITs_actionPerformed");
    loadSelectedEventsButton.setEnabled(false);
    helper.addListener(loadSelectedEventsButton, "buttonLoadSelected_actionPerformed");
    autoAssessSelectedEventsButton.setEnabled(false);
    helper.addListener(autoAssessSelectedEventsButton, "buttonAutoAssess_actionPerformed");

    showPropertiesButton.setEnabled(false);
    helper.addListener(showPropertiesButton, "buttonShowProperties_actionPerformed");
    showProteinRatiosButton.setEnabled(false);
    helper.addListener(showProteinRatiosButton, "buttonShowProteinRatios_actionPerformed");

    //summary panel
    summaryPanel.setBorder(BorderFactory.createLineBorder(Color.gray));
    summaryPanel.setPreferredSize(new Dimension(fullWidth, summaryPanelHeight));
    summaryPanel.setMinimumSize(new Dimension(200, summaryPanelHeight));
    gbc.fill = GridBagConstraints.NONE;

    gbc.gridwidth = 1;
    summaryPanel.add(buttonSelectAllVisible, gbc);
    summaryPanel.add(buttonDeselectAll, gbc);
    gbc.gridwidth = GridBagConstraints.RELATIVE;
    summaryPanel.add(showPropertiesButton, gbc);
    gbc.gridwidth = GridBagConstraints.REMAINDER;
    summaryPanel.add(showProteinRatiosButton, gbc);

    gbc.gridwidth = 1;

    summaryPanel.add(loadSelectedEventsButton, gbc);
    gbc.gridwidth = GridBagConstraints.RELATIVE;
    summaryPanel.add(autoAssessSelectedEventsButton, gbc);
    gbc.gridwidth = GridBagConstraints.REMAINDER;
    summaryPanel.add(buildTurkHITsButton, gbc);

    gbc.fill = GridBagConstraints.BOTH;

    eventsScrollPane = new JScrollPane();
    eventsScrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
    eventsScrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);

    eventsPanel = new JPanel();
    eventsPanel.setLayout(new GridBagLayout());

    eventsTable = new QuantEventsSummaryTable();
    eventsTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    eventsTable.getSelectionModel().addListSelectionListener(new EventsTableListSelectionHandler());
    eventsScrollPane.setViewportView(eventsTable);
    eventsScrollPane.setMinimumSize(new Dimension(400, 400));

    gbc.insets = new Insets(0, 0, 0, 0);
    mainPanel.add(eventsScrollPane, gbc);

    logRatioHistogramPanel = new PanelWithLogRatioHistAndFields();
    logRatioHistogramPanel.setBorder(BorderFactory.createTitledBorder("Log Ratios"));
    logRatioHistogramPanel.setPreferredSize(new Dimension(width - 10, 300));
    gbc.fill = GridBagConstraints.BOTH;
    gbc.weighty = 100;
    gbc.gridwidth = GridBagConstraints.REMAINDER;
    add(logRatioHistogramPanel, gbc);

    //status message
    messageLabel = new JLabel();
    messageLabel.setBackground(Color.WHITE);
    messageLabel.setFont(Font.decode("verdana plain 12"));
    messageLabel.setText(" ");
    statusPanel = new JPanel();
    gbc.weighty = 1;
    statusPanel.setPreferredSize(new Dimension(width - 10, 50));
    statusPanel.add(messageLabel, gbc);
    add(statusPanel, gbc);

    //per-protein event summary table; disembodied
    //todo: move this into its own class? it's getting kind of complicated
    proteinRatiosTable = new JTable();
    proteinRatiosTable.setVisible(true);
    ListSelectionModel proteinTableSelectionModel = proteinRatiosTable.getSelectionModel();
    proteinTableSelectionModel.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    proteinTableSelectionModel.addListSelectionListener(new ProteinTableListSelectionHandler());
    JScrollPane proteinRatiosScrollPane = new JScrollPane();
    proteinRatiosScrollPane.setViewportView(proteinRatiosTable);
    proteinRatiosScrollPane.setPreferredSize(new Dimension(proteinDialogWidth,
            proteinDialogHeight - PROTEINTABLE_HISTPANEL_HEIGHT - PROTEINTABLE_SCATTERPLOTPANEL_HEIGHT - 70));
    proteinRatiosDialog = new JDialog(this, "Protein Ratios");
    proteinRatiosDialog.setDefaultCloseOperation(JDialog.HIDE_ON_CLOSE);
    proteinRatiosDialog.setSize(proteinDialogWidth, proteinDialogHeight);
    JPanel proteinRatiosContentPanel = new JPanel();
    gbc.gridwidth = GridBagConstraints.REMAINDER;
    gbc.fill = GridBagConstraints.BOTH;
    proteinRatiosContentPanel.add(proteinRatiosScrollPane, gbc);
    proteinRatiosDialog.setContentPane(proteinRatiosContentPanel);
    perProteinLogRatioHistogramPanel = new PanelWithLogRatioHistAndFields();
    perProteinLogRatioHistogramPanel.addRangeUpdateListener(new ProteinTableLogRatioHistogramListener());

    perProteinLogRatioHistogramPanel.setBorder(BorderFactory.createTitledBorder("Log Ratios"));
    perProteinLogRatioHistogramPanel
            .setPreferredSize(new Dimension(proteinDialogWidth - 10, PROTEINTABLE_HISTPANEL_HEIGHT));
    gbc.fill = GridBagConstraints.BOTH;
    gbc.gridwidth = GridBagConstraints.REMAINDER;
    proteinRatiosDialog.add(perProteinLogRatioHistogramPanel, gbc);

    perProteinPeptideLogRatioPanel = new JPanel();
    perProteinPeptideLogRatioPanel.setBorder(BorderFactory.createTitledBorder("By Peptide"));
    perProteinPeptideLogRatioPanel
            .setPreferredSize(new Dimension(proteinDialogWidth - 10, PROTEINTABLE_SCATTERPLOTPANEL_HEIGHT));
    proteinRatiosDialog.add(perProteinPeptideLogRatioPanel, gbc);
}

From source file:cs.cirg.cida.CIDAView.java

/** This method is called from within the constructor to
 * initialize the form.//  w  w w.j a va 2s.  co m
 * WARNING: Do NOT modify this code. The content of this method is
 * always regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
private void initComponents() {

    mainPanel = new javax.swing.JPanel();
    testPanel = new javax.swing.JTabbedPane();
    homePanel = new javax.swing.JPanel();
    jScrollPane1 = new javax.swing.JScrollPane();
    synopsisTable = new javax.swing.JTable();
    experimentsLabel = new javax.swing.JLabel();
    loadExperimentButton = new javax.swing.JButton();
    experimentsComboBox = new javax.swing.JComboBox();
    editResultsNameCheckBox = new javax.swing.JCheckBox();
    addToTestButton = new javax.swing.JButton();
    variablesLabel = new javax.swing.JLabel();
    variablesComboBox = new javax.swing.JComboBox();
    addAllRowsCheckBox = new javax.swing.JCheckBox();
    exportTableButton = new javax.swing.JButton();
    addToAnalysisPanel = new javax.swing.JPanel();
    addOneVariableAnalysis = new javax.swing.JButton();
    addAllExperimentsAnalysis = new javax.swing.JButton();
    jLabel5 = new javax.swing.JLabel();
    addToAnalysisPanel1 = new javax.swing.JPanel();
    addAllVariablesAnalysis = new javax.swing.JButton();
    jLabel4 = new javax.swing.JLabel();
    jLabel3 = new javax.swing.JLabel();
    addToAnalysisPanel2 = new javax.swing.JPanel();
    addAllAnalysis = new javax.swing.JButton();
    jLabel6 = new javax.swing.JLabel();
    rawPanel = new javax.swing.JPanel();
    rawPanelToolbar = new javax.swing.JToolBar();
    exportDataButton = new javax.swing.JButton();
    rawScrollPane = new javax.swing.JScrollPane();
    rawTable = new javax.swing.JTable();
    analysisPanel = new javax.swing.JPanel();
    analysisToolbar = new javax.swing.JToolBar();
    plotButton = new javax.swing.JButton();
    clearAnalysisButton = new javax.swing.JButton();
    exportAnalysisButton = new javax.swing.JButton();
    analysisScrollPane = new javax.swing.JScrollPane();
    analysisTable = new javax.swing.JTable();
    chartHomePanel = new javax.swing.JPanel();
    chartToolbar = new javax.swing.JToolBar();
    toggleLineTicksButton = new javax.swing.JToggleButton();
    lineTickIntervalLabel = new javax.swing.JLabel();
    lineTickIntervalInput = new javax.swing.JTextField();
    lineSeriesComboBox = new javax.swing.JComboBox();
    seriesColorButton = new javax.swing.JButton();
    seriesNameButton = new javax.swing.JButton();
    exportPNGButton = new javax.swing.JButton();
    exportEPSButton = new javax.swing.JButton();
    chartScrollPane = new javax.swing.JScrollPane();
    chartPanel = new ChartPanel(null, true, true, false, true, true);
    jPanel1 = new javax.swing.JPanel();
    testToolbar = new javax.swing.JToolBar();
    jLabel1 = new javax.swing.JLabel();
    variablesTestComboBox = new javax.swing.JComboBox();
    jLabel2 = new javax.swing.JLabel();
    hypothesisComboBox = new javax.swing.JComboBox();
    mannWhitneyUTestButton = new javax.swing.JButton();
    testExperimentsScrollPane = new javax.swing.JScrollPane();
    testExperimentsTable = new javax.swing.JTable();
    testResultsScrollPane = new javax.swing.JScrollPane();
    testResultsTable = new javax.swing.JTable();
    menuBar = new javax.swing.JMenuBar();
    javax.swing.JMenu fileMenu = new javax.swing.JMenu();
    javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
    javax.swing.JMenu helpMenu = new javax.swing.JMenu();
    javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
    statusPanel = new javax.swing.JPanel();
    javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
    statusMessageLabel = new javax.swing.JLabel();
    statusAnimationLabel = new javax.swing.JLabel();
    progressBar = new javax.swing.JProgressBar();

    mainPanel.setName("mainPanel"); // NOI18N
    mainPanel.setPreferredSize(new java.awt.Dimension(1024, 768));

    testPanel.setAutoscrolls(true);
    testPanel.setName("testPanel"); // NOI18N
    testPanel.setPreferredSize(new java.awt.Dimension(1024, 768));

    homePanel.setAutoscrolls(true);
    homePanel.setName("homePanel"); // NOI18N

    jScrollPane1.setName("jScrollPane1"); // NOI18N

    synopsisTable.setAutoCreateRowSorter(true);
    synopsisTable.setModel(new SynopsisTableModel());
    synopsisTable.setColumnSelectionAllowed(true);
    synopsisTable.setName("synopsisTable"); // NOI18N
    jScrollPane1.setViewportView(synopsisTable);
    synopsisTable.getColumnModel().getSelectionModel()
            .setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    org.jdesktop.application.ResourceMap resourceMap = org.jdesktop.application.Application
            .getInstance(cs.cirg.cida.CIDAApplication.class).getContext().getResourceMap(CIDAView.class);
    experimentsLabel.setText(resourceMap.getString("experimentsLabel.text")); // NOI18N
    experimentsLabel.setName("experimentsLabel"); // NOI18N

    javax.swing.ActionMap actionMap = org.jdesktop.application.Application
            .getInstance(cs.cirg.cida.CIDAApplication.class).getContext().getActionMap(CIDAView.class, this);
    loadExperimentButton.setAction(actionMap.get("loadExperiment")); // NOI18N
    loadExperimentButton.setText(resourceMap.getString("loadExperimentButton.text")); // NOI18N
    loadExperimentButton.setMaximumSize(new java.awt.Dimension(110, 29));
    loadExperimentButton.setMinimumSize(new java.awt.Dimension(110, 29));
    loadExperimentButton.setName("loadExperimentButton"); // NOI18N
    loadExperimentButton.setPreferredSize(new java.awt.Dimension(110, 29));

    experimentsComboBox.setModel(new javax.swing.DefaultComboBoxModel());
    experimentsComboBox.setName("experimentsComboBox"); // NOI18N
    experimentsComboBox.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            experimentsComboBoxActionPerformed(evt);
        }
    });

    editResultsNameCheckBox.setSelected(true);
    editResultsNameCheckBox.setText(resourceMap.getString("editResultsNameCheckBox.text")); // NOI18N
    editResultsNameCheckBox.setName("editResultsNameCheckBox"); // NOI18N

    addToTestButton.setAction(actionMap.get("addExperimentToTest")); // NOI18N
    addToTestButton.setText(resourceMap.getString("addToTestButton.text")); // NOI18N
    addToTestButton.setMaximumSize(new java.awt.Dimension(110, 29));
    addToTestButton.setMinimumSize(new java.awt.Dimension(110, 29));
    addToTestButton.setName("addToTestButton"); // NOI18N
    addToTestButton.setPreferredSize(new java.awt.Dimension(110, 29));

    variablesLabel.setText(resourceMap.getString("variablesLabel.text")); // NOI18N
    variablesLabel.setName("variablesLabel"); // NOI18N

    variablesComboBox.setName("variablesComboBox"); // NOI18N

    addAllRowsCheckBox.setSelected(true);
    addAllRowsCheckBox.setText(resourceMap.getString("addAllRowsCheckBox.text")); // NOI18N
    addAllRowsCheckBox.setName("addAllRowsCheckBox"); // NOI18N

    exportTableButton.setAction(actionMap.get("exportSynopsisTable")); // NOI18N
    exportTableButton.setText(resourceMap.getString("exportTableButton.text")); // NOI18N
    exportTableButton.setName("exportTableButton"); // NOI18N

    addToAnalysisPanel.setName("addToAnalysisPanel"); // NOI18N

    addOneVariableAnalysis.setAction(actionMap.get("addVariableAnalysis")); // NOI18N
    addOneVariableAnalysis.setText(resourceMap.getString("addOneVariableAnalysis.text")); // NOI18N
    addOneVariableAnalysis.setName("addOneVariableAnalysis"); // NOI18N

    addAllExperimentsAnalysis.setAction(actionMap.get("addAllExperimentsAnalysis")); // NOI18N
    addAllExperimentsAnalysis.setText(resourceMap.getString("addAllExperimentsAnalysis.text")); // NOI18N
    addAllExperimentsAnalysis.setName("addAllExperimentsAnalysis"); // NOI18N

    jLabel5.setFont(resourceMap.getFont("jLabel5.font")); // NOI18N
    jLabel5.setText(resourceMap.getString("jLabel5.text")); // NOI18N
    jLabel5.setName("jLabel5"); // NOI18N

    org.jdesktop.layout.GroupLayout addToAnalysisPanelLayout = new org.jdesktop.layout.GroupLayout(
            addToAnalysisPanel);
    addToAnalysisPanel.setLayout(addToAnalysisPanelLayout);
    addToAnalysisPanelLayout
            .setHorizontalGroup(
                    addToAnalysisPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(addToAnalysisPanelLayout.createSequentialGroup().add(addToAnalysisPanelLayout
                                    .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                                    .add(addOneVariableAnalysis, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(jLabel5, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                    .add(addAllExperimentsAnalysis,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 113, Short.MAX_VALUE)
                                    .addContainerGap()));
    addToAnalysisPanelLayout.setVerticalGroup(addToAnalysisPanelLayout
            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(addToAnalysisPanelLayout.createSequentialGroup().add(jLabel5).add(8, 8, 8)
                    .add(addToAnalysisPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(addOneVariableAnalysis, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .add(addAllExperimentsAnalysis, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))));

    addToAnalysisPanel1.setName("addToAnalysisPanel1"); // NOI18N

    addAllVariablesAnalysis.setAction(actionMap.get("addAllVariablesAnalysis")); // NOI18N
    addAllVariablesAnalysis.setText(resourceMap.getString("addAllVariablesAnalysis.text")); // NOI18N
    addAllVariablesAnalysis.setName("addAllVariablesAnalysis"); // NOI18N

    jLabel4.setText(resourceMap.getString("jLabel4.text")); // NOI18N
    jLabel4.setName("jLabel4"); // NOI18N

    org.jdesktop.layout.GroupLayout addToAnalysisPanel1Layout = new org.jdesktop.layout.GroupLayout(
            addToAnalysisPanel1);
    addToAnalysisPanel1.setLayout(addToAnalysisPanel1Layout);
    addToAnalysisPanel1Layout.setHorizontalGroup(addToAnalysisPanel1Layout
            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(addToAnalysisPanel1Layout.createSequentialGroup().add(jLabel4)
                    .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .add(addAllVariablesAnalysis, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 205, Short.MAX_VALUE));
    addToAnalysisPanel1Layout.setVerticalGroup(
            addToAnalysisPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(addToAnalysisPanel1Layout.createSequentialGroup().add(jLabel4)
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                            .add(addAllVariablesAnalysis, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    jLabel3.setFont(resourceMap.getFont("jLabel3.font")); // NOI18N
    jLabel3.setText(resourceMap.getString("jLabel3.text")); // NOI18N
    jLabel3.setName("jLabel3"); // NOI18N

    addToAnalysisPanel2.setName("addToAnalysisPanel2"); // NOI18N

    addAllAnalysis.setAction(actionMap.get("addAllAnalysis")); // NOI18N
    addAllAnalysis.setText(resourceMap.getString("addAllAnalysis.text")); // NOI18N
    addAllAnalysis.setName("addAllAnalysis"); // NOI18N

    jLabel6.setText(resourceMap.getString("jLabel6.text")); // NOI18N
    jLabel6.setName("jLabel6"); // NOI18N

    org.jdesktop.layout.GroupLayout addToAnalysisPanel2Layout = new org.jdesktop.layout.GroupLayout(
            addToAnalysisPanel2);
    addToAnalysisPanel2.setLayout(addToAnalysisPanel2Layout);
    addToAnalysisPanel2Layout.setHorizontalGroup(
            addToAnalysisPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(addToAnalysisPanel2Layout.createSequentialGroup()
                            .add(addToAnalysisPanel2Layout
                                    .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING).add(jLabel6)
                                    .add(addAllAnalysis))
                            .addContainerGap(95, Short.MAX_VALUE)));
    addToAnalysisPanel2Layout.setVerticalGroup(
            addToAnalysisPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(addToAnalysisPanel2Layout.createSequentialGroup().add(jLabel6)
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(addAllAnalysis,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)));

    org.jdesktop.layout.GroupLayout homePanelLayout = new org.jdesktop.layout.GroupLayout(homePanel);
    homePanel.setLayout(homePanelLayout);
    homePanelLayout.setHorizontalGroup(homePanelLayout
            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(homePanelLayout.createSequentialGroup().addContainerGap().add(homePanelLayout
                    .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 976, Short.MAX_VALUE)
                    .add(homePanelLayout.createSequentialGroup().add(homePanelLayout
                            .createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                            .add(homePanelLayout.createSequentialGroup().add(variablesLabel)
                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(variablesComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 341,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(org.jdesktop.layout.GroupLayout.LEADING, homePanelLayout
                                    .createSequentialGroup()
                                    .add(experimentsComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                            348, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(homePanelLayout
                                            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                                            .add(homePanelLayout.createSequentialGroup().add(18, 18, 18).add(
                                                    addToTestButton,
                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                                            .add(homePanelLayout.createSequentialGroup()
                                                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                                                    .add(loadExperimentButton,
                                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                                            Short.MAX_VALUE)))))
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                            .add(homePanelLayout
                                    .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING, false)
                                    .add(editResultsNameCheckBox).add(jLabel3)
                                    .add(addToAnalysisPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(exportTableButton)
                                    .add(addToAnalysisPanel2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(addToAnalysisPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(addAllRowsCheckBox))
                    .add(experimentsLabel)).addContainerGap()));
    homePanelLayout.setVerticalGroup(homePanelLayout
            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(homePanelLayout.createSequentialGroup().addContainerGap().add(homePanelLayout
                    .createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(homePanelLayout.createSequentialGroup().add(experimentsLabel)
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                            .add(homePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                                    .add(editResultsNameCheckBox)
                                    .add(experimentsComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(loadExperimentButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                            .add(addToTestButton, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                            .add(homePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                                    .add(variablesComboBox, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                                    .add(variablesLabel).add(jLabel3))
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                            .add(addToAnalysisPanel, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(12, 12, 12))
                    .add(addAllRowsCheckBox)).addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(addToAnalysisPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
                    .add(addToAnalysisPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(18, 18, 18).add(exportTableButton).add(18, 18, 18)
                    .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE)
                    .addContainerGap()));

    testPanel.addTab(resourceMap.getString("homePanel.TabConstraints.tabTitle"), homePanel); // NOI18N

    rawPanel.setName("rawPanel"); // NOI18N

    rawPanelToolbar.setRollover(true);
    rawPanelToolbar.setName("rawPanelToolbar"); // NOI18N

    exportDataButton.setAction(actionMap.get("exportRaw")); // NOI18N
    exportDataButton.setText(resourceMap.getString("exportDataButton.text")); // NOI18N
    exportDataButton.setFocusable(false);
    exportDataButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    exportDataButton.setName("exportDataButton"); // NOI18N
    exportDataButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    rawPanelToolbar.add(exportDataButton);

    rawScrollPane.setName("rawScrollPane"); // NOI18N

    rawTable.setAutoCreateRowSorter(true);
    rawTable.setModel(new IOBridgeTableModel());
    rawTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
    rawTable.setColumnSelectionAllowed(true);
    rawTable.setName("rawTable"); // NOI18N
    rawScrollPane.setViewportView(rawTable);
    rawTable.getColumnModel().getSelectionModel()
            .setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    org.jdesktop.layout.GroupLayout rawPanelLayout = new org.jdesktop.layout.GroupLayout(rawPanel);
    rawPanel.setLayout(rawPanelLayout);
    rawPanelLayout
            .setHorizontalGroup(rawPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(rawPanelToolbar, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 1000, Short.MAX_VALUE)
                    .add(rawScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 1000, Short.MAX_VALUE));
    rawPanelLayout.setVerticalGroup(rawPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(rawPanelLayout.createSequentialGroup()
                    .add(rawPanelToolbar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 25,
                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(rawScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 670, Short.MAX_VALUE)
                    .addContainerGap()));

    testPanel.addTab(resourceMap.getString("rawPanel.TabConstraints.tabTitle"), rawPanel); // NOI18N

    analysisPanel.setName("analysisPanel"); // NOI18N

    analysisToolbar.setRollover(true);
    analysisToolbar.setName("analysisToolbar"); // NOI18N

    plotButton.setAction(actionMap.get("plotGraph")); // NOI18N
    plotButton.setText(resourceMap.getString("plotButton.text")); // NOI18N
    plotButton.setFocusable(false);
    plotButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    plotButton.setName("plotButton"); // NOI18N
    plotButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    analysisToolbar.add(plotButton);

    clearAnalysisButton.setAction(actionMap.get("clearAnalysisTable")); // NOI18N
    clearAnalysisButton.setText(resourceMap.getString("clearAnalysisButton.text")); // NOI18N
    clearAnalysisButton.setFocusable(false);
    clearAnalysisButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    clearAnalysisButton.setName("clearAnalysisButton"); // NOI18N
    clearAnalysisButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    analysisToolbar.add(clearAnalysisButton);

    exportAnalysisButton.setAction(actionMap.get("exportAnalysis")); // NOI18N
    exportAnalysisButton.setText(resourceMap.getString("exportAnalysisButton.text")); // NOI18N
    exportAnalysisButton.setFocusable(false);
    exportAnalysisButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    exportAnalysisButton.setName("exportAnalysisButton"); // NOI18N
    exportAnalysisButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    analysisToolbar.add(exportAnalysisButton);

    analysisScrollPane.setName("analysisScrollPane"); // NOI18N

    ListSelectionModel listSelectionModel = analysisTable.getSelectionModel();
    listSelectionModel.addListSelectionListener(new SelectionListener(userSelectedRows));
    analysisTable.setSelectionModel(listSelectionModel);
    analysisTable.setAutoCreateRowSorter(true);
    analysisTable.setModel(new IOBridgeTableModel());
    analysisTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
    analysisTable.setColumnSelectionAllowed(true);
    analysisTable.setName("analysisTable"); // NOI18N
    analysisScrollPane.setViewportView(analysisTable);
    analysisTable.getColumnModel().getSelectionModel()
            .setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    listSelectionModel = analysisTable.getColumnModel().getSelectionModel();
    listSelectionModel.addListSelectionListener(new SelectionListener(userSelectedColumns));
    analysisTable.getColumnModel().setSelectionModel(listSelectionModel);

    org.jdesktop.layout.GroupLayout analysisPanelLayout = new org.jdesktop.layout.GroupLayout(analysisPanel);
    analysisPanel.setLayout(analysisPanelLayout);
    analysisPanelLayout.setHorizontalGroup(analysisPanelLayout
            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, analysisPanelLayout.createSequentialGroup()
                    .add(analysisPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                            .add(org.jdesktop.layout.GroupLayout.LEADING, analysisScrollPane,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 988, Short.MAX_VALUE)
                            .add(analysisToolbar, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 988,
                                    Short.MAX_VALUE))
                    .addContainerGap()));
    analysisPanelLayout.setVerticalGroup(analysisPanelLayout
            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(analysisPanelLayout.createSequentialGroup()
                    .add(analysisToolbar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 25,
                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(analysisScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 670, Short.MAX_VALUE)
                    .addContainerGap()));

    testPanel.addTab(resourceMap.getString("analysisPanel.TabConstraints.tabTitle"), analysisPanel); // NOI18N

    chartHomePanel.setName("chartHomePanel"); // NOI18N

    chartToolbar.setRollover(true);
    chartToolbar.setName("chartToolbar"); // NOI18N

    toggleLineTicksButton.setAction(actionMap.get("toggleLineTicks")); // NOI18N
    toggleLineTicksButton.setText(resourceMap.getString("toggleLineTicksButton.text")); // NOI18N
    toggleLineTicksButton.setFocusable(false);
    toggleLineTicksButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    toggleLineTicksButton.setName("toggleLineTicksButton"); // NOI18N
    toggleLineTicksButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    chartToolbar.add(toggleLineTicksButton);

    lineTickIntervalLabel.setText(resourceMap.getString("lineTickIntervalLabel.text")); // NOI18N
    lineTickIntervalLabel.setName("lineTickIntervalLabel"); // NOI18N
    chartToolbar.add(lineTickIntervalLabel);

    lineTickIntervalInput.setText(resourceMap.getString("lineTickIntervalInput.text")); // NOI18N
    lineTickIntervalInput.setMinimumSize(new java.awt.Dimension(60, 27));
    lineTickIntervalInput.setName("lineTickIntervalInput"); // NOI18N
    lineTickIntervalInput.setPreferredSize(new java.awt.Dimension(60, 27));
    chartToolbar.add(lineTickIntervalInput);

    lineSeriesComboBox.setModel(new javax.swing.DefaultComboBoxModel());
    lineSeriesComboBox.setName("lineSeriesComboBox"); // NOI18N
    chartToolbar.add(lineSeriesComboBox);

    seriesColorButton.setAction(actionMap.get("changeSeriesColor")); // NOI18N
    seriesColorButton.setText(resourceMap.getString("seriesColorButton.text")); // NOI18N
    seriesColorButton.setFocusable(false);
    seriesColorButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    seriesColorButton.setName("seriesColorButton"); // NOI18N
    seriesColorButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    chartToolbar.add(seriesColorButton);

    seriesNameButton.setAction(actionMap.get("changeSeriesName")); // NOI18N
    seriesNameButton.setText(resourceMap.getString("seriesNameButton.text")); // NOI18N
    seriesNameButton.setFocusable(false);
    seriesNameButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    seriesNameButton.setName("seriesNameButton"); // NOI18N
    seriesNameButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    chartToolbar.add(seriesNameButton);

    exportPNGButton.setAction(actionMap.get("savePlotPNG")); // NOI18N
    exportPNGButton.setText(resourceMap.getString("exportPNGButton.text")); // NOI18N
    exportPNGButton.setFocusable(false);
    exportPNGButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    exportPNGButton.setName("exportPNGButton"); // NOI18N
    exportPNGButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    chartToolbar.add(exportPNGButton);

    exportEPSButton.setAction(actionMap.get("savePlotEPS")); // NOI18N
    exportEPSButton.setText(resourceMap.getString("exportEPSButton.text")); // NOI18N
    exportEPSButton.setFocusable(false);
    exportEPSButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    exportEPSButton.setName("exportEPSButton"); // NOI18N
    exportEPSButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    chartToolbar.add(exportEPSButton);

    chartScrollPane.setName("chartScrollPane"); // NOI18N

    chartPanel.setName("chartPanel"); // NOI18N

    org.jdesktop.layout.GroupLayout chartPanelLayout = new org.jdesktop.layout.GroupLayout(chartPanel);
    chartPanel.setLayout(chartPanelLayout);
    chartPanelLayout.setHorizontalGroup(chartPanelLayout
            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING).add(0, 2735, Short.MAX_VALUE));
    chartPanelLayout.setVerticalGroup(chartPanelLayout
            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING).add(0, 1168, Short.MAX_VALUE));

    chartScrollPane.setViewportView(chartPanel);

    org.jdesktop.layout.GroupLayout chartHomePanelLayout = new org.jdesktop.layout.GroupLayout(chartHomePanel);
    chartHomePanel.setLayout(chartHomePanelLayout);
    chartHomePanelLayout.setHorizontalGroup(
            chartHomePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(chartToolbar, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 1000, Short.MAX_VALUE)
                    .add(chartScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 1000, Short.MAX_VALUE));
    chartHomePanelLayout
            .setVerticalGroup(chartHomePanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(chartHomePanelLayout.createSequentialGroup()
                            .add(chartToolbar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 25,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(chartScrollPane,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 682, Short.MAX_VALUE)));

    testPanel.addTab(resourceMap.getString("chartHomePanel.TabConstraints.tabTitle"), chartHomePanel); // NOI18N

    jPanel1.setName("jPanel1"); // NOI18N

    testToolbar.setRollover(true);
    testToolbar.setName("testToolbar"); // NOI18N

    jLabel1.setText(resourceMap.getString("jLabel1.text")); // NOI18N
    jLabel1.setName("jLabel1"); // NOI18N
    testToolbar.add(jLabel1);

    variablesTestComboBox.setModel(new javax.swing.DefaultComboBoxModel());
    variablesTestComboBox.setName("variablesTestComboBox"); // NOI18N
    testToolbar.add(variablesTestComboBox);

    jLabel2.setText(resourceMap.getString("jLabel2.text")); // NOI18N
    jLabel2.setName("jLabel2"); // NOI18N
    testToolbar.add(jLabel2);

    hypothesisComboBox.setModel(
            new javax.swing.DefaultComboBoxModel(new String[] { "Not Equal", "Less Than", "Greater Than" }));
    hypothesisComboBox.setName("hypothesisComboBox"); // NOI18N
    testToolbar.add(hypothesisComboBox);

    mannWhitneyUTestButton.setAction(actionMap.get("runMannWhitneyUTest")); // NOI18N
    mannWhitneyUTestButton.setText(resourceMap.getString("mannWhitneyUTestButton.text")); // NOI18N
    mannWhitneyUTestButton.setFocusable(false);
    mannWhitneyUTestButton.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
    mannWhitneyUTestButton.setName("mannWhitneyUTestButton"); // NOI18N
    mannWhitneyUTestButton.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
    testToolbar.add(mannWhitneyUTestButton);

    testExperimentsScrollPane.setName("testExperimentsScrollPane"); // NOI18N

    testExperimentsTable.setAutoCreateRowSorter(true);
    testExperimentsTable.setModel(new SynopsisTableModel());
    testExperimentsTable.setColumnSelectionAllowed(true);
    testExperimentsTable.setName("testExperimentsTable"); // NOI18N
    testExperimentsScrollPane.setViewportView(testExperimentsTable);
    testExperimentsTable.getColumnModel().getSelectionModel()
            .setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    testResultsScrollPane.setName("testResultsScrollPane"); // NOI18N

    testResultsTable.setAutoCreateRowSorter(true);
    testResultsTable.setModel(new SynopsisTableModel());
    testResultsTable.setName("testResultsTable"); // NOI18N
    testResultsScrollPane.setViewportView(testResultsTable);
    testResultsTable.getColumnModel().getSelectionModel()
            .setSelectionMode(javax.swing.ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

    org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
    jPanel1.setLayout(jPanel1Layout);
    jPanel1Layout.setHorizontalGroup(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(testToolbar, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 1000, Short.MAX_VALUE)
            .add(testExperimentsScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 1000, Short.MAX_VALUE)
            .add(testResultsScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 1000, Short.MAX_VALUE));
    jPanel1Layout.setVerticalGroup(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1Layout.createSequentialGroup()
                    .add(testToolbar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 25,
                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                    .add(testExperimentsScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 277,
                            Short.MAX_VALUE)
                    .add(128, 128, 128).add(testResultsScrollPane, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                            277, Short.MAX_VALUE)));

    testPanel.addTab(resourceMap.getString("jPanel1.TabConstraints.tabTitle"), jPanel1); // NOI18N

    org.jdesktop.layout.GroupLayout mainPanelLayout = new org.jdesktop.layout.GroupLayout(mainPanel);
    mainPanel.setLayout(mainPanelLayout);
    mainPanelLayout
            .setHorizontalGroup(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(mainPanelLayout.createSequentialGroup()
                            .add(testPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 1012, Short.MAX_VALUE)
                            .addContainerGap()));
    mainPanelLayout
            .setVerticalGroup(mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(mainPanelLayout.createSequentialGroup()
                            .add(testPanel, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 756, Short.MAX_VALUE)
                            .addContainerGap()));

    menuBar.setName("menuBar"); // NOI18N

    fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
    fileMenu.setName("fileMenu"); // NOI18N

    exitMenuItem.setName("exitMenuItem"); // NOI18N
    fileMenu.add(exitMenuItem);

    menuBar.add(fileMenu);

    helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
    helpMenu.setName("helpMenu"); // NOI18N

    aboutMenuItem.setName("aboutMenuItem"); // NOI18N
    helpMenu.add(aboutMenuItem);

    menuBar.add(helpMenu);

    statusPanel.setName("statusPanel"); // NOI18N

    statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N

    statusMessageLabel.setName("statusMessageLabel"); // NOI18N

    statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
    statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N

    progressBar.setName("progressBar"); // NOI18N

    org.jdesktop.layout.GroupLayout statusPanelLayout = new org.jdesktop.layout.GroupLayout(statusPanel);
    statusPanel.setLayout(statusPanelLayout);
    statusPanelLayout.setHorizontalGroup(statusPanelLayout
            .createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(statusPanelSeparator, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 1446, Short.MAX_VALUE)
            .add(statusPanelLayout.createSequentialGroup().addContainerGap().add(statusMessageLabel)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 1262, Short.MAX_VALUE)
                    .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED).add(statusAnimationLabel)
                    .addContainerGap()));
    statusPanelLayout
            .setVerticalGroup(statusPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(statusPanelLayout.createSequentialGroup()
                            .add(statusPanelSeparator, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 2,
                                    org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED,
                                    org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .add(statusPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                                    .add(statusMessageLabel).add(statusAnimationLabel).add(progressBar,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                                            org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                                            org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                            .add(3, 3, 3)));

    setComponent(mainPanel);
}

From source file:search2go.UIFrame.java

public UIFrame() throws IOException, ParseException {
    topLevels = new TopLevelGTermSet[] { CCs, MFs, BPs };

    this.addWindowListener(new WindowAdapter() {
        @Override//from  w w w .  j av a2s  .  c  o  m
        public void windowClosing(WindowEvent et) {
            try {
                if (os.isWindows()) {
                    Runtime.getRuntime().exec("cmd /C TaskKill -IM blastx.exe -F");
                    Runtime.getRuntime().exec("cmd /C TaskKill -IM blastn.exe -F");
                    Runtime.getRuntime().exec("cmd /C TaskKill -IM blastp.exe -F");
                    Runtime.getRuntime().exec("cmd /C TaskKill -IM python.exe -F");
                } else {
                    Runtime.getRuntime().exec("killAll -KILL blastx");
                    Runtime.getRuntime().exec("killAll -KILL blastn");
                    Runtime.getRuntime().exec("killAll -KILL blastp");
                    Runtime.getRuntime().exec("killAll -KILL python");
                }
            } catch (IOException ex) {
                System.out.println("Error closing child processes");
            }
        }
    });

    initComponents();

    txtBlastOutput.getDocument().addDocumentListener(new BufferEnforcer(txtBlastOutput));
    txtFullOutput.getDocument().addDocumentListener(new BufferEnforcer(txtFullOutput));
    txtMapOutput.getDocument().addDocumentListener(new BufferEnforcer(txtMapOutput));

    ((DefaultCaret) txtBlastOutput.getCaret()).setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
    ((DefaultCaret) txtMapOutput.getCaret()).setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
    ((DefaultCaret) txtFullOutput.getCaret()).setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);

    webSaveMenu = new JPopupMenu();
    JMenuItem saveWeb = new JMenuItem();
    saveWeb.setText("Save");
    saveWeb.addActionListener(new ActionListener() {
        @Override
        public void actionPerformed(ActionEvent e) {
            webSaveDialogue.showSaveDialog(pnlChartHolder);
            File saveFile = webSaveDialogue.getSelectedFile();
            if (!saveFile.getPath().contains(".png"))
                saveFile = new File(saveFile.getPath() + ".png");
            try {
                BufferedImage webChartImage = new BufferedImage(pnlChartHolder.getWidth(),
                        pnlChartHolder.getHeight(), BufferedImage.TYPE_INT_RGB);
                pnlChartHolder.print(webChartImage.getGraphics());
                ImageIO.write(webChartImage, "png", saveFile);
            } catch (Exception ex) {
                javax.swing.JOptionPane.showMessageDialog(pnlChartHolder,
                        "Error saving chart. Please try again.");
            }
        }

    });
    webSaveMenu.add(saveWeb);
    pnlChartHolder.add(webSaveMenu);
    pnlChartHolder.setLayout(new java.awt.BorderLayout());

    try {
        currentProj = Workspace.open(new Path("Search2GO_Data"));
        chkDoCCs.setState(currentProj.willDoCC());
        chkDoBPs.setState(currentProj.willDoBP());
        chkDoMFs.setState(currentProj.willDoMF());
        txtQuery.setText(currentProj.getQueryPath());
        txtQueryFP.setText(currentProj.getQueryPath());
        txtDatabase.setText(currentProj.getPathToDB());
        txtDatabaseFP.setText(currentProj.getPathToDB());
        txtThreads.setValue(currentProj.getThreadNo());
        txtThreadsFP.setValue(currentProj.getThreadNo());
        cbxNXP.setSelectedIndex(currentProj.getBlastTypeIndex());
        cbxNXPFP.setSelectedIndex(currentProj.getBlastTypeIndex());
        cbxDBID.setSelectedIndex(currentProj.getSelectedDBIndex());
        cbxDBIDFP.setSelectedIndex(currentProj.getSelectedDBIndex());
        txtBitScore.setValue(currentProj.getBitScoreThreshold());
        txtBitScoreFP.setValue(currentProj.getBitScoreThreshold());
        txtBlastE.setValue(currentProj.getEThreshold());
        txtMapE.setValue(currentProj.getEThreshold());
        txtEFP.setValue(currentProj.getEThreshold());
    } catch (FileNotFoundException e) {
        currentProj = Workspace.create(new Path("Search2GO_Data"));
        chkDoCCs.setState(currentProj.willDoCC());
        chkDoBPs.setState(currentProj.willDoBP());
        chkDoMFs.setState(currentProj.willDoMF());
    }
    this.setTitle("Search2GO " + currentProj.getPath().toString());

    GTermTableModel = new DefaultTableModel();
    GTermTableModel.setColumnCount(2);
    GTermTableModel.setColumnIdentifiers(new String[] { "GO ID", "Frequency" });

    ListSelectionModel GTermSelector = tblGOFreq.getSelectionModel();
    GTermSelector.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting()) {
                if (tblGOFreq.getSelectedRow() > -1) {
                    DefaultListModel emptyModel = new DefaultListModel();
                    lstQueries.setModel(emptyModel);
                    txtTermInfo.setText("");
                    String selectedID = (String) tblGOFreq.getValueAt(tblGOFreq.getSelectedRow(), 0);
                    JTextArea tempHolderInfo = new JTextArea();
                    JTextArea tempHolderQueries = new JTextArea();

                    if (tblGOFreq.getSelectedRow() != -1) {
                        ResetGTermInfoGetter(tempHolderInfo, tempHolderQueries);
                        gTermInfoGetter.getProcess(0).addParameter("id",
                                selectedID.substring(0, selectedID.indexOf("[")));
                        gTermInfoGetter.getProcess(1).addParameter("id",
                                selectedID.substring(0, selectedID.indexOf("[")));
                        GTerm currentGTerm = gTerms.getGTerm(selectedID.substring(0, selectedID.indexOf("[")));
                        gTermInfoGetter.getProcess(1).addParameter("db", currentGTerm.getTopLevel().getCode());
                        gTermInfoGetter.setTail(new ProcessSequenceEnd() {
                            @Override
                            public void run() {
                                tempHolderInfo.setText("id: " + selectedID + "\n" + tempHolderInfo.getText());
                                txtTermInfo.setText(tempHolderInfo.getText());

                                DefaultListModel queryList = new DefaultListModel();
                                for (String str : tempHolderQueries.getText().split(";")) {
                                    queryList.addElement(str.replaceAll("Query: ", ""));
                                }

                                lstQueries.setModel(queryList);
                                prgIdentification.setIndeterminate(false);
                            }
                        });
                        try {
                            gTermInfoGetter.start();
                            prgIdentification.setIndeterminate(true);
                        } catch (IOException ex) {
                            Logger.getLogger(UIFrame.class.getName()).log(Level.SEVERE, null, ex);
                        }
                    }
                }
            }
        }
    });

    lstQueries.addListSelectionListener(new ListSelectionListener() {
        @Override
        public void valueChanged(ListSelectionEvent e) {
            if (!e.getValueIsAdjusting() && !e.toString().contains("invalid")
                    && lstQueries.getSelectedValue() != null) {
                JTextArea tempHolder = new JTextArea();

                ProcessSequence fetchLocusSequence = new ProcessSequence(new ProcessSequenceEnd() {
                    @Override
                    public void run() {
                        if (txtTermInfo.getText().contains("Score")) {
                            txtTermInfo.setText(
                                    txtTermInfo.getText().substring(0, txtTermInfo.getText().indexOf("Score")));
                        }
                        txtTermInfo.append(tempHolder.getText());
                        prgIdentification.setIndeterminate(false);
                    }
                });
                Path fetchLocusPath = new Path("Processes");
                fetchLocusPath.append("fetchLocus.py");
                Process fetchLocus = new Process(tempHolder);
                fetchLocus.setScriptCommand(fetchLocusPath.toEscString());
                fetchLocus.addParameter("dir", currentProj.getPath().toEscString());
                fetchLocus.addParameter("q",
                        new ParameterString(lstQueries.getSelectedValue().replace("\n", "")).toString());

                String selectedID = (String) tblGOFreq.getValueAt(tblGOFreq.getSelectedRow(), 0);
                GTerm currentGTerm = gTerms.getGTerm(selectedID.substring(0, selectedID.indexOf("[")));
                fetchLocus.addParameter("db", currentGTerm.getTopLevel().getCode());
                fetchLocus.addParameter("id", currentGTerm.getID());
                fetchLocusSequence.addProcess(fetchLocus);

                try {
                    fetchLocusSequence.start();
                    prgIdentification.setIndeterminate(true);
                } catch (IOException ex) {
                    Logger.getLogger(UIFrame.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }
    });

    DocumentListener filterListener = new DocumentListener() {
        private void anyUpdate() {
            gTerms.getFilter().setFilterString(txtSearchTerms.getText());
            if (!txtMinFreqFilter.getText().equals(""))
                gTerms.getFilter().setMinFreq(Integer.parseInt(txtMinFreqFilter.getText()));
            else
                gTerms.getFilter().setMinFreq(0);
            if (!txtMaxFreqFilter.getText().equals(""))
                gTerms.getFilter().setMaxFreq(Integer.parseInt(txtMaxFreqFilter.getText()));
            else
                gTerms.getFilter().setMaxFreq(-1);
            fillIdentTable(gTerms.stringFilter(), false);
        }

        @Override
        public void insertUpdate(DocumentEvent e) {
            anyUpdate();
        }

        @Override
        public void removeUpdate(DocumentEvent e) {
            anyUpdate();
        }

        @Override
        public void changedUpdate(DocumentEvent e) {
            anyUpdate();
        }
    };
    txtSearchTerms.getDocument().addDocumentListener(filterListener);
    txtMinFreqFilter.getDocument().addDocumentListener(filterListener);
    txtMaxFreqFilter.getDocument().addDocumentListener(filterListener);

    NumberFormat numberMask = NumberFormat.getIntegerInstance();
    numberMask.setGroupingUsed(false);
    NumberFormatter numberMasker = new NumberFormatter(numberMask);
    NumberFormatter numberMaskerAndBlank = new NumberFormatter(numberMask) {
        @Override
        public Object stringToValue(String s) throws ParseException {
            if (s == null || s.length() == 0)
                return null;
            return super.stringToValue(s);
        }
    };
    DefaultFormatterFactory numberMaskFactory = new DefaultFormatterFactory(numberMasker);
    DefaultFormatterFactory numberMaskAndBlankFactory = new DefaultFormatterFactory(numberMaskerAndBlank);

    txtThreads.setFormatterFactory(numberMaskFactory);
    txtThreadsFP.setFormatterFactory(numberMaskFactory);
    txtBitScore.setFormatterFactory(numberMaskAndBlankFactory);
    txtBitScoreFP.setFormatterFactory(numberMaskAndBlankFactory);
    txtMinFreqFilter.setFormatterFactory(numberMaskFactory);
    txtMaxFreqFilter.setFormatterFactory(numberMaskFactory);
    txtBlastE.setFormatterFactory(numberMaskAndBlankFactory);
    txtMapE.setFormatterFactory(numberMaskAndBlankFactory);
    txtEFP.setFormatterFactory(numberMaskAndBlankFactory);

    blastButton = new StopButton(btnBlast);
    mapButton = new StopButton(btnMapIDs);
    identButton = new StopButton(btnGTermIdent);
    fullButton = new StopButton(btnProcessFP);

    if (currentProj.getStage() >= 2)
        identify(false);
}

From source file:com.osparking.attendant.AttListForm.java

/**
 * Creates new form AttListForm/*from   w  w w. j  a v a  2s  . c  o m*/
 */
public AttListForm(IMainGUI mainGUI, String loginID, String loginPW, boolean isManager) {
    // Mark the first row as selected in default
    this.mainGUI = mainGUI;

    try {
        initComponents();
        setLocation(0, 0);
        setIconImages(OSPiconList);

        // Reset search column combobox items
        searchCriteriaComboBox.removeAllItems();
        searchCriteriaComboBox.addItem(new ConvComboBoxItem(LOGIN_ID_LABEL, LOGIN_ID_LABEL.getContent()));
        searchCriteriaComboBox.addItem(new ConvComboBoxItem(NAME_LABEL, NAME_LABEL.getContent()));

        // Make last 8 digits of the user ID visible on the user password label.
        String id = loginID;
        if (loginID.length() > 8) {
            id = ".." + loginID.substring(loginID.length() - 8);
        }
        userPWLabel.setText(id + " " + MY_PW_LABEL.getContent());

        this.loginID = loginID;
        this.loginPW = loginPW;
        this.isManager = isManager;
        initComponentsUser();

        // limit maximun allowed length of user IDa
        userIDText.setDocument(new JTextFieldLimit(20));

        ListSelectionModel model = usersTable.getSelectionModel();
        model.addListSelectionListener(new AttendantRowSelectionListener());

        setFormMode(FormMode.NormalMode);
        loadAttendantTable("");

        int selectIndex = searchRow(loginID);

        if (rowHidden(usersTable, selectIndex)) {
            usersTable.changeSelection(selectIndex, 0, false, false);
        } else {
            usersTable.setRowSelectionInterval(selectIndex, selectIndex);
        }

        usersTable.requestFocus();
        usersTable.getRowSorter().addRowSorterListener(new RowSorterListener() {
            @Override
            public void sorterChanged(final RowSorterEvent e) {
                SwingUtilities.invokeLater(new Runnable() {
                    public void run() {
                        if (e.getType() == RowSorterEvent.Type.SORTED) {
                            if (usersTable.getSelectedRow() != -1) {
                                usersTable.scrollRectToVisible(
                                        usersTable.getCellRect(usersTable.getSelectedRow(), 0, false));
                            }
                        }
                    }
                });
            }
        });
    } catch (Exception ex) {
        logParkingException(Level.SEVERE, ex, "(AttListForm Constructor ID: " + loginID + ")");
    }

    JComponent pane = (JComponent) this.getContentPane();
    pane.getInputMap().put(null, MUTEX_DEBUG_SEQ_VALUE);

    addWindowListener(new WindowAdapter() {
        public void windowOpened(WindowEvent e) {
            searchText.requestFocus();
        }
    });
    attachEnterHandler(searchText);
    adminAuth2CheckBox.setSelected(isManager);

    KeyStroke controlF = KeyStroke.getKeyStroke("control F");
    JRootPane rootPane = getRootPane();
    rootPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(controlF, "myAction");
    rootPane.getActionMap().put("myAction", new Ctrl_F_Action(searchText));
}

From source file:jp.massbank.spectrumsearch.SearchPage.java

/**
 * ?//  ww w  .j a  v a  2 s  .  c  om
 */
private void createWindow() {

    // ??
    ToolTipManager ttm = ToolTipManager.sharedInstance();
    ttm.setInitialDelay(50);
    ttm.setDismissDelay(8000);

    // Search?
    JPanel mainPanel = new JPanel();
    mainPanel.setLayout(new BorderLayout());
    Border border = BorderFactory.createCompoundBorder(BorderFactory.createEtchedBorder(),
            new EmptyBorder(1, 1, 1, 1));
    mainPanel.setBorder(border);

    // *********************************************************************
    // User File Query
    // *********************************************************************
    DefaultTableModel fileDm = new DefaultTableModel();
    fileSorter = new TableSorter(fileDm, TABLE_QUERY_FILE);
    queryFileTable = new JTable(fileSorter) {
        @Override
        public boolean isCellEditable(int row, int column) {
            //            super.isCellEditable(row, column);
            // ??????
            return false;
        }
    };
    queryFileTable.addMouseListener(new TblMouseListener());
    fileSorter.setTableHeader(queryFileTable.getTableHeader());
    queryFileTable.setRowSelectionAllowed(true);
    queryFileTable.setColumnSelectionAllowed(false);
    queryFileTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

    String[] col = { COL_LABEL_NO, COL_LABEL_NAME, COL_LABEL_ID };
    ((DefaultTableModel) fileSorter.getTableModel()).setColumnIdentifiers(col);
    (queryFileTable.getColumn(queryFileTable.getColumnName(0))).setPreferredWidth(44);
    (queryFileTable.getColumn(queryFileTable.getColumnName(1))).setPreferredWidth(LEFT_PANEL_WIDTH - 44);
    (queryFileTable.getColumn(queryFileTable.getColumnName(2))).setPreferredWidth(70);

    ListSelectionModel lm = queryFileTable.getSelectionModel();
    lm.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    lm.addListSelectionListener(new LmFileListener());
    queryFilePane = new JScrollPane(queryFileTable);
    queryFilePane.addMouseListener(new PaneMouseListener());
    queryFilePane.setPreferredSize(new Dimension(300, 300));

    // *********************************************************************
    // Result
    // *********************************************************************
    DefaultTableModel resultDm = new DefaultTableModel();
    resultSorter = new TableSorter(resultDm, TABLE_RESULT);
    resultTable = new JTable(resultSorter) {
        @Override
        public String getToolTipText(MouseEvent me) {
            //            super.getToolTipText(me);
            // ?????
            Point pt = me.getPoint();
            int row = rowAtPoint(pt);
            if (row < 0) {
                return null;
            } else {
                int nameCol = getColumnModel().getColumnIndex(COL_LABEL_NAME);
                return " " + getValueAt(row, nameCol) + " ";
            }
        }

        @Override
        public boolean isCellEditable(int row, int column) {
            //            super.isCellEditable(row, column);
            // ??????
            return false;
        }
    };
    resultTable.addMouseListener(new TblMouseListener());
    resultSorter.setTableHeader(resultTable.getTableHeader());

    JPanel dbPanel = new JPanel();
    dbPanel.setLayout(new BorderLayout());
    resultPane = new JScrollPane(resultTable);
    resultPane.addMouseListener(new PaneMouseListener());

    resultTable.setRowSelectionAllowed(true);
    resultTable.setColumnSelectionAllowed(false);
    resultTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

    String[] col2 = { COL_LABEL_NAME, COL_LABEL_SCORE, COL_LABEL_HIT, COL_LABEL_ID, COL_LABEL_ION,
            COL_LABEL_CONTRIBUTOR, COL_LABEL_NO };

    resultDm.setColumnIdentifiers(col2);
    (resultTable.getColumn(resultTable.getColumnName(0))).setPreferredWidth(LEFT_PANEL_WIDTH - 180);
    (resultTable.getColumn(resultTable.getColumnName(1))).setPreferredWidth(70);
    (resultTable.getColumn(resultTable.getColumnName(2))).setPreferredWidth(20);
    (resultTable.getColumn(resultTable.getColumnName(3))).setPreferredWidth(70);
    (resultTable.getColumn(resultTable.getColumnName(4))).setPreferredWidth(20);
    (resultTable.getColumn(resultTable.getColumnName(5))).setPreferredWidth(70);
    (resultTable.getColumn(resultTable.getColumnName(6))).setPreferredWidth(50);

    ListSelectionModel lm2 = resultTable.getSelectionModel();
    lm2.addListSelectionListener(new LmResultListener());

    resultPane.setPreferredSize(new Dimension(LEFT_PANEL_WIDTH, 200));
    dbPanel.add(resultPane, BorderLayout.CENTER);

    // *********************************************************************
    // DB Query
    // *********************************************************************
    DefaultTableModel dbDm = new DefaultTableModel();
    querySorter = new TableSorter(dbDm, TABLE_QUERY_DB);
    queryDbTable = new JTable(querySorter) {
        @Override
        public boolean isCellEditable(int row, int column) {
            //            super.isCellEditable(row, column);
            // ??????
            return false;
        }
    };
    queryDbTable.addMouseListener(new TblMouseListener());
    querySorter.setTableHeader(queryDbTable.getTableHeader());
    queryDbPane = new JScrollPane(queryDbTable);
    queryDbPane.addMouseListener(new PaneMouseListener());

    int h = (int) Toolkit.getDefaultToolkit().getScreenSize().getHeight();
    queryDbPane.setPreferredSize(new Dimension(LEFT_PANEL_WIDTH, h));
    queryDbTable.setRowSelectionAllowed(true);
    queryDbTable.setColumnSelectionAllowed(false);
    queryDbTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);

    String[] col3 = { COL_LABEL_ID, COL_LABEL_NAME, COL_LABEL_CONTRIBUTOR, COL_LABEL_NO };
    DefaultTableModel model = (DefaultTableModel) querySorter.getTableModel();
    model.setColumnIdentifiers(col3);

    // 
    queryDbTable.getColumn(queryDbTable.getColumnName(0)).setPreferredWidth(70);
    queryDbTable.getColumn(queryDbTable.getColumnName(1)).setPreferredWidth(LEFT_PANEL_WIDTH - 70);
    queryDbTable.getColumn(queryDbTable.getColumnName(2)).setPreferredWidth(70);
    queryDbTable.getColumn(queryDbTable.getColumnName(3)).setPreferredWidth(50);

    ListSelectionModel lm3 = queryDbTable.getSelectionModel();
    lm3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    lm3.addListSelectionListener(new LmQueryDbListener());

    // ?
    JPanel btnPanel = new JPanel();
    btnName.addActionListener(new BtnSearchNameListener());
    btnAll.addActionListener(new BtnAllListener());
    btnPanel.add(btnName);
    btnPanel.add(btnAll);

    parentPanel2 = new JPanel();
    parentPanel2.setLayout(new BoxLayout(parentPanel2, BoxLayout.PAGE_AXIS));
    parentPanel2.add(btnPanel);
    parentPanel2.add(queryDbPane);

    // ?
    JPanel dispModePanel = new JPanel();
    isDispSelected = dispSelected.isSelected();
    isDispRelated = dispRelated.isSelected();
    if (isDispSelected) {
        resultTable.getSelectionModel().setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
    } else if (isDispRelated) {
        resultTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    }
    Object[] retRadio = new Object[] { dispSelected, dispRelated };
    for (int i = 0; i < retRadio.length; i++) {
        ((JRadioButton) retRadio[i]).addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent arg0) {
                if (isDispSelected != dispSelected.isSelected() || isDispRelated != dispRelated.isSelected()) {

                    isDispSelected = dispSelected.isSelected();
                    isDispRelated = dispRelated.isSelected();

                    // ??
                    resultTable.clearSelection();
                    resultPlot.clear();
                    compPlot.setPeaks(null, 1);
                    resultPlot.setPeaks(null, 0);
                    setAllPlotAreaRange();
                    pkgView.initResultRecInfo();

                    if (isDispSelected) {
                        resultTable.getSelectionModel()
                                .setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
                    } else if (isDispRelated) {
                        resultTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
                    }
                }
            }
        });
    }
    ButtonGroup disGroup = new ButtonGroup();
    disGroup.add(dispSelected);
    disGroup.add(dispRelated);
    dispModePanel.add(lbl2);
    dispModePanel.add(dispSelected);
    dispModePanel.add(dispRelated);

    JPanel paramPanel = new JPanel();
    paramPanel.add(etcPropertyButton);
    etcPropertyButton.setMargin(new Insets(0, 10, 0, 10));
    etcPropertyButton.addActionListener(new ActionListener() {
        private ParameterSetWindow ps = null;

        public void actionPerformed(ActionEvent e) {
            // ??????????
            if (!isSubWindow) {
                ps = new ParameterSetWindow(getParentFrame());
            } else {
                ps.requestFocus();
            }
        }
    });

    JPanel optionPanel = new JPanel();
    optionPanel.setLayout(new BoxLayout(optionPanel, BoxLayout.Y_AXIS));
    optionPanel.add(dispModePanel);
    optionPanel.add(paramPanel);

    // PackageView?????
    pkgView = new PackageViewPanel();
    pkgView.initAllRecInfo();

    queryTabPane.addTab("DB", parentPanel2);
    queryTabPane.setToolTipTextAt(TAB_ORDER_DB, "Query from DB.");
    queryTabPane.addTab("File", queryFilePane);
    queryTabPane.setToolTipTextAt(TAB_ORDER_FILE, "Query from user file.");
    queryTabPane.setSelectedIndex(TAB_ORDER_DB);
    queryTabPane.setFocusable(false);
    queryTabPane.addChangeListener(new ChangeListener() {
        public void stateChanged(ChangeEvent e) {

            // ?
            queryPlot.clear();
            compPlot.clear();
            resultPlot.clear();
            queryPlot.setPeaks(null, 0);
            compPlot.setPeaks(null, 1);
            resultPlot.setPeaks(null, 0);

            // PackageView?
            pkgView.initAllRecInfo();

            // DB Hit?
            if (resultTabPane.getTabCount() > 0) {
                resultTabPane.setSelectedIndex(0);
            }
            DefaultTableModel dataModel = (DefaultTableModel) resultSorter.getTableModel();
            dataModel.setRowCount(0);
            hitLabel.setText(" ");

            // DB?User File??????
            queryTabPane.update(queryTabPane.getGraphics());
            if (queryTabPane.getSelectedIndex() == TAB_ORDER_DB) {
                parentPanel2.update(parentPanel2.getGraphics());
                updateSelectQueryTable(queryDbTable);
            } else if (queryTabPane.getSelectedIndex() == TAB_ORDER_FILE) {
                queryFilePane.update(queryFilePane.getGraphics());
                updateSelectQueryTable(queryFileTable);
            }
        }
    });

    //       
    JPanel queryPanel = new JPanel();
    queryPanel.setLayout(new BorderLayout());
    queryPanel.add(queryTabPane, BorderLayout.CENTER);
    queryPanel.add(optionPanel, BorderLayout.SOUTH);
    queryPanel.setMinimumSize(new Dimension(0, 170));

    JPanel jtp2Panel = new JPanel();
    jtp2Panel.setLayout(new BorderLayout());
    jtp2Panel.add(dbPanel, BorderLayout.CENTER);
    jtp2Panel.add(hitLabel, BorderLayout.SOUTH);
    jtp2Panel.setMinimumSize(new Dimension(0, 70));
    Color colorGreen = new Color(0, 128, 0);
    hitLabel.setForeground(colorGreen);

    resultTabPane.addTab("Result", jtp2Panel);
    resultTabPane.setToolTipTextAt(TAB_RESULT_DB, "Result of DB hit.");
    resultTabPane.setFocusable(false);

    queryPlot.setMinimumSize(new Dimension(0, 100));
    compPlot.setMinimumSize(new Dimension(0, 120));
    resultPlot.setMinimumSize(new Dimension(0, 100));
    int height = initAppletHight / 3;
    JSplitPane jsp_cmp2db = new JSplitPane(JSplitPane.VERTICAL_SPLIT, compPlot, resultPlot);
    JSplitPane jsp_qry2cmp = new JSplitPane(JSplitPane.VERTICAL_SPLIT, queryPlot, jsp_cmp2db);
    jsp_cmp2db.setDividerLocation(height);
    jsp_qry2cmp.setDividerLocation(height - 25);
    jsp_qry2cmp.setMinimumSize(new Dimension(190, 0));

    viewTabPane.addTab("Compare View", jsp_qry2cmp);
    viewTabPane.addTab("Package View", pkgView);
    viewTabPane.setToolTipTextAt(TAB_VIEW_COMPARE, "Comparison of query and result spectrum.");
    viewTabPane.setToolTipTextAt(TAB_VIEW_PACKAGE, "Package comparison of query and result spectrum.");
    viewTabPane.setSelectedIndex(TAB_VIEW_COMPARE);
    viewTabPane.setFocusable(false);

    JSplitPane jsp = new JSplitPane(JSplitPane.VERTICAL_SPLIT, queryPanel, resultTabPane);
    jsp.setDividerLocation(310);
    jsp.setMinimumSize(new Dimension(180, 0));
    jsp.setOneTouchExpandable(true);

    JSplitPane jsp2 = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, jsp, viewTabPane);
    int divideSize = (int) (initAppletWidth * 0.4);
    divideSize = (divideSize >= 180) ? divideSize : 180;
    jsp2.setDividerLocation(divideSize);
    jsp2.setOneTouchExpandable(true);

    mainPanel.add(jsp2, BorderLayout.CENTER);
    add(mainPanel);

    queryPlot.setSearchPage(this);
    compPlot.setSearchPage(this);
    resultPlot.setSearchPage(this);

    setJMenuBar(MenuBarGenerator.generateMenuBar(this));
}

From source file:com.cch.aj.entryrecorder.frame.SettingsJFrame.java

private void init() {
    this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    //load Machine
    this.cbMachine.setRenderer(new ComboBoxRender());
    UpdateTabMachine(0);//from www. ja va 2  s.c om
    //load Polymer
    this.cbPolymer.setRenderer(new ComboBoxRender());
    UpdateTabPolymer(0);
    //load Additive
    this.cbAdditive.setRenderer(new ComboBoxRender());
    UpdateTabAdditive(0);
    //load Mould
    this.cbMould.setRenderer(new ComboBoxRender());
    UpdateTabMould(0);
    //load Product
    this.cbProduct.setRenderer(new ComboBoxRender());
    this.cbProductMould.setRenderer(new ComboBoxRender());
    this.cbProductPolymer.setRenderer(new ComboBoxRender());
    this.cbProductAdditive1.setRenderer(new ComboBoxRender());
    this.cbProductAdditive2.setRenderer(new ComboBoxRender());
    this.cbProductAdditive3.setRenderer(new ComboBoxRender());
    this.cbProductInsert.setRenderer(new ComboBoxRender());
    this.cbProductEmbossing.setRenderer(new ComboBoxRender());

    UpdateTabProduct(0);
    ListSelectionModel model = tblCheck.getSelectionModel();
    model.addListSelectionListener(this);

    this.tblCheck.getColumnModel().getColumn(0).setMaxWidth(40);
    //load staff
    this.cbStaff.setRenderer(new ComboBoxRender());
    UpdateTabStaff(0);
    //load embossing
    this.cbEmbossing.setRenderer(new ComboBoxRender());
    UpdateTabEmbossing(0);
}

From source file:nz.govt.natlib.ndha.manualdeposit.bulkupload.BulkUploadPresenter.java

public void addJobListTableModelAndHandlers(final JTable jobListTable, final JLabel lblNoOfFiles) {
    theJobListTable = jobListTable;// w w w  .j  a  v  a2 s.c  o m
    noOfFilesLabel = lblNoOfFiles;
    final BulkUploadTableModel resultsTableModel = new BulkUploadTableModel();
    theJobListTable.setModel(resultsTableModel);
    theJobListTable.setSurrendersFocusOnKeystroke(true);
    theJobListTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
    theJobListTable.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
    theJobListTable.setColumnSelectionAllowed(false);
    theJobListTable.setRowSelectionAllowed(true);
    setupColumns();
    final ListSelectionModel listSelectionModel = theJobListTable.getSelectionModel();
    listSelectionModel.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(final ListSelectionEvent e) {
            tableRowSelected(e);
        }
    });
    theJobListTable.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(final java.awt.event.MouseEvent evt) {
            tableMouseClicked(evt);
        }

        public void mouseReleased(final java.awt.event.MouseEvent evt) {
            tblJobListMouseReleased(evt);
        }
    });
    try {
        bulkUploadManager = BulkUploadQueueManagement.create(theAppProperties, theJobListTable, uploadFrame,
                manualDepositParent, this);
    } catch (Exception ex) {
        uploadFrame.showError("Error creating bulk upload manager",
                " An error occurred while creating the bulk upload manager", ex);
    }
}

From source file:nz.govt.natlib.ndha.manualdeposit.CMSSearchResultsPresenter.java

public void addResultsTableModelAndHandlers(final JTable theTable) {
    theResultsTable = theTable;/*from  w w w . j ava  2s.c  o  m*/
    if (theSearchType.equals(ILSQueryType.eServerType.CMS2)) {
        theResultsTableModel = new ResultsTableModel(CMS_2_RESULTS_COLUMN_NAMES, theSearchType);
    } else {
        theResultsTableModel = new ResultsTableModel(CMS_1_RESULTS_COLUMN_NAMES, theSearchType);
    }
    theResultsTable.setModel(theResultsTableModel);
    theResultsTable.setSurrendersFocusOnKeystroke(true);
    theResultsTable.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
    theResultsTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    theResultsTable.setColumnSelectionAllowed(false);
    theResultsTable.setRowSelectionAllowed(true);
    final ListSelectionModel theListSelectionModel = theResultsTable.getSelectionModel();
    theListSelectionModel.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(final ListSelectionEvent e) {
            tableRowSelected(e);
        }
    });
    theResultsTable.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(final java.awt.event.MouseEvent evt) {
            tableMouseClicked(evt);
        }
    });
}

From source file:ome.formats.importer.gui.HistoryTable.java

/**
 * Create history table//from  www. j a  v  a2 s .  com
 * 
 * @param viewer- GuiImporter parent
 */
HistoryTable(GuiImporter viewer) {
    this.viewer = viewer;
    try {
        historyTaskBar.addPropertyChangeListener(this);
    } catch (Exception ex) {
        log.error("Exception adding property change listener.", ex);
    }

    HistoryTableStore db = null;
    //HistoryDB db = null;
    try {
        db = new HistoryTableStore();
        db.addObserver(this);
    } catch (Exception e) {
        db = null;
        log.error("Could not start history DB.", e);
        if (HistoryDB.alertOnce == false) {
            JOptionPane.showMessageDialog(null,
                    "We were not able to connect to the history DB.\n"
                            + "In the meantime, you will still be able to use \n"
                            + "the importer, but the history feature will be disable.",
                    "Warning", JOptionPane.ERROR_MESSAGE);
            HistoryDB.alertOnce = true;
        }
    }

    this.db = db;

    // set to layout that will maximize on resizing
    setLayout(new BoxLayout(this, BoxLayout.LINE_AXIS));
    this.setOpaque(false);

    // Main Panel containing all elements  
    // Set up the main panel layout
    /* Disabled till #2308 fixed
    double mainTable[][] =
        {{170, 10, TableLayout.FILL, 80}, // columns
        { 5, 30, 35, 40, TableLayout.FILL, 35, 5}}; // rows
        */
    double mainTable[][] = { { 170, 10, TableLayout.FILL, 90 }, // columns
            { 5, 30, 35, 70, TableLayout.FILL, 35, 5 } }; // rows

    mainPanel = GuiCommonElements.addMainPanel(this, mainTable, 0, 0, 0, 0, debug);

    // *****Side Panel****
    double topSideTable[][] = { { TableLayout.FILL }, // columns
            { 20, 20, 20, 20, 35 } }; // rows      

    topSidePanel = GuiCommonElements.addBorderedPanel(mainPanel, topSideTable, " Date Filter ", debug);

    String[] dateFormats = new String[1];
    dateFormats[0] = DATE_FORMAT;

    fromDate = new JXDatePicker();
    fromDate.setToolTipText("Pick a from date.");
    //fromDate.getEditor().setEditable(false);
    //fromDate.setEditable(false);
    fromDate.setFormats(dateFormats);

    toDate = new JXDatePicker();
    toDate.setToolTipText("Pick a to date.");
    //toDate.getEditor().setEditable(false);
    //toDate.setEditable(false);
    toDate.setFormats(dateFormats);

    fromLabel = new JLabel("From (yy/mm/dd):");

    topSidePanel.add(fromLabel, "0,0");
    topSidePanel.add(fromDate, "0,1");

    toLabel = new JLabel("To (yy/mm/dd):");

    topSidePanel.add(toLabel, "0,2");
    topSidePanel.add(toDate, "0,3");

    double bottomSideTable[][] = { { TableLayout.FILL }, // columns
            { TableLayout.FILL } }; // rows 

    historyTaskBar.addTaskPane("Today", historyTaskBar.getList(todayList));
    historyTaskBar.addTaskPane("Yesterday", historyTaskBar.getList(yesterdayList));
    historyTaskBar.addTaskPane("This Week", historyTaskBar.getList(thisWeekList));
    historyTaskBar.addTaskPane("Last Week", historyTaskBar.getList(lastWeekList));
    historyTaskBar.addTaskPane("This Month", historyTaskBar.getList(thisMonthList));

    bottomSidePanel = GuiCommonElements.addBorderedPanel(mainPanel, bottomSideTable, " Quick Date ", debug);

    /*
    JPanel taskPanel = new JPanel( new BorderLayout() );
    JScrollPane taskScrollPane = new JScrollPane();
    taskScrollPane.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
    taskScrollPane.getViewport().add(historyTaskBar);
    taskPanel.add(taskScrollPane);
            
    bottomSidePanel.add(taskPanel, "f,f");
    taskPanel.validate();
    */

    bottomSidePanel.add(historyTaskBar, "0,0");

    clearBtn = GuiCommonElements.addIconButton(mainPanel, "Wipe History", clearIcon, 130, 32, (int) 'S',
            "Click here to clear your history log.", "0,5,C,C", debug);

    clearBtn.setActionCommand(HistoryHandler.CLEARHISTORY);
    clearBtn.addActionListener(this);

    // *****Top right most row containing search field and buttons*****
    /*// Disabled till #2308 fixed
    searchField = GuiCommonElements.addTextField(mainPanel, "Name Filter: ", "*.*", 'N', 
        "Type in a file name to search for here.", "", 
        TableLayout.PREFERRED, "2,1, 0, 0", debug);
    */

    searchField = new JTextField("*.*");
    searchField.setVisible(false);

    searchBtn = GuiCommonElements.addButton(topSidePanel, "Search", 'S', "Click here to search", "0,4,C,C",
            debug);

    searchBtn.setActionCommand(HistoryHandler.HISTORYSEARCH);
    searchBtn.addActionListener(this);

    // *****Middle right row containing the filter options*****
    // Since this panel has a different layout, use a new panel for it

    /* Disabled till #2308 fixed
    // Set up the filterTable layout
    double filterTable[][] =
        {{100, 80, 80, 80, 90, TableLayout.FILL}, // columns
        { 30 }}; // rows
            
    filterPanel = GuiCommonElements.addPlanePanel(mainPanel, filterTable, debug);     
    filterLabel = GuiCommonElements.addTextPane(filterPanel, "Status Filters: ", "0,0,r,c", debug);
            
    doneCheckBox = GuiCommonElements.addCheckBox(filterPanel, "Done", "1,0,L,C", debug);
    failedCheckBox = GuiCommonElements.addCheckBox(filterPanel, "Failed", "2,0,L,C", debug);
    invalidCheckBox = GuiCommonElements.addCheckBox(filterPanel, "Invalid", "3,0,L,C", debug);
    pendingCheckBox = GuiCommonElements.addCheckBox(filterPanel, "Pending", "4,0,L,C", debug);
            
    // Default filters to 'on'
    doneCheckBox.setSelected(true);
    failedCheckBox.setSelected(true);
    invalidCheckBox.setSelected(true);
    pendingCheckBox.setSelected(true);
            
    doneCheckBox.addActionListener(this);
    failedCheckBox.addActionListener(this);
    invalidCheckBox.addActionListener(this);
    pendingCheckBox.addActionListener(this);
    filterPanel.setVisible(false);
    */

    // *****Bottom right most row containing the history table*****
    TableColumnModel cModel = eTable.getColumnModel();

    // *** remove last 4 rows from display ***
    TableColumn hiddenColumn = cModel.getColumn(6);
    cModel.removeColumn(hiddenColumn);
    hiddenColumn = cModel.getColumn(5);
    cModel.removeColumn(hiddenColumn);
    hiddenColumn = cModel.getColumn(4);
    cModel.removeColumn(hiddenColumn);

    MyTableHeaderRenderer myHeader = new MyTableHeaderRenderer();

    // Create a custom header for the table
    cModel.getColumn(0).setHeaderRenderer(myHeader);
    cModel.getColumn(1).setHeaderRenderer(myHeader);
    cModel.getColumn(2).setHeaderRenderer(myHeader);
    cModel.getColumn(3).setHeaderRenderer(myHeader);

    cModel.getColumn(0).setCellRenderer(new LeftDotRenderer());
    cModel.getColumn(1).setCellRenderer(new TextCellCenter());
    cModel.getColumn(2).setCellRenderer(new TextCellCenter());
    cModel.getColumn(3).setCellRenderer(new TextCellCenter());

    // Set the width of the status column
    TableColumn statusColumn = eTable.getColumnModel().getColumn(3);
    statusColumn.setPreferredWidth(statusWidth);
    statusColumn.setMaxWidth(statusWidth);
    statusColumn.setMinWidth(statusWidth);

    // Set the width of the status column
    TableColumn dateColumn = eTable.getColumnModel().getColumn(2);
    dateColumn.setPreferredWidth(dateWidth);
    dateColumn.setMaxWidth(dateWidth);
    dateColumn.setMinWidth(dateWidth);

    // Add the table to the scollpane
    JScrollPane scrollPane = new JScrollPane(eTable);

    // disabled till #2308 fixed
    //reimportBtn = GuiCommonElements.addButton(filterPanel, "Reimport", 'R', "Click here to reimport selected images", "5,0,R,C", debug);
    reimportBtn = GuiCommonElements.addButton(mainPanel, "Reimport", 'R',
            "Click here to reimport selected images", "3,5,C,C", debug);
    reimportBtn.setEnabled(false);

    reimportBtn.setActionCommand(HistoryHandler.HISTORYREIMPORT);
    reimportBtn.addActionListener(this);

    // Handle the listener
    ListSelectionModel selectionModel = this.eTable.getSelectionModel();
    selectionModel.addListSelectionListener(this);

    //mainPanel.add(scrollPane, "2,3,3,5"); Disabled till #2308 fixed
    mainPanel.add(scrollPane, "2,1,3,4");
    mainPanel.add(bottomSidePanel, "0,4,0,0");
    mainPanel.add(topSidePanel, "0,0,0,3");
    //mainPanel.add(filterPanel, "2,2,3,1");

    this.add(mainPanel);
}

From source file:org.freeplane.view.swing.features.time.mindmapmode.nodelist.NodeList.java

public void startup() {
    if (dialog != null) {
        dialog.toFront();/* www  .  ja v a 2s .  c  o  m*/
        return;
    }
    NodeList.COLUMN_MODIFIED = TextUtils.getText(PLUGINS_TIME_LIST_XML_MODIFIED);
    NodeList.COLUMN_CREATED = TextUtils.getText(PLUGINS_TIME_LIST_XML_CREATED);
    NodeList.COLUMN_ICONS = TextUtils.getText(PLUGINS_TIME_LIST_XML_ICONS);
    NodeList.COLUMN_TEXT = TextUtils.getText(PLUGINS_TIME_LIST_XML_TEXT);
    NodeList.COLUMN_DETAILS = TextUtils.getText(PLUGINS_TIME_LIST_XML_DETAILS);
    NodeList.COLUMN_DATE = TextUtils.getText(PLUGINS_TIME_LIST_XML_DATE);
    NodeList.COLUMN_NOTES = TextUtils.getText(PLUGINS_TIME_LIST_XML_NOTES);
    dialog = new JDialog(Controller.getCurrentController().getViewController().getFrame(), modal /* modal */);
    String windowTitle;
    if (showAllNodes) {
        windowTitle = PLUGINS_TIME_MANAGEMENT_XML_WINDOW_TITLE_ALL_NODES;
    } else {
        windowTitle = PLUGINS_TIME_MANAGEMENT_XML_WINDOW_TITLE;
    }
    dialog.setTitle(TextUtils.getText(windowTitle));
    dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
    final WindowAdapter windowListener = new WindowAdapter() {

        @Override
        public void windowGainedFocus(WindowEvent e) {
            mFilterTextSearchField.getEditor().selectAll();
        }

        @Override
        public void windowClosing(final WindowEvent event) {
            disposeDialog();
        }
    };
    dialog.addWindowListener(windowListener);
    dialog.addWindowFocusListener(windowListener);
    UITools.addEscapeActionToDialog(dialog, new AbstractAction() {
        /**
         *
         */
        private static final long serialVersionUID = 1L;

        public void actionPerformed(final ActionEvent arg0) {
            disposeDialog();
        }
    });
    final Container contentPane = dialog.getContentPane();
    final GridBagLayout gbl = new GridBagLayout();
    contentPane.setLayout(gbl);
    final GridBagConstraints layoutConstraints = new GridBagConstraints();
    layoutConstraints.gridx = 0;
    layoutConstraints.gridy = 0;
    layoutConstraints.gridwidth = 1;
    layoutConstraints.gridheight = 1;
    layoutConstraints.weightx = 0.0;
    layoutConstraints.weighty = 0.0;
    layoutConstraints.anchor = GridBagConstraints.WEST;
    layoutConstraints.fill = GridBagConstraints.HORIZONTAL;
    contentPane.add(new JLabel(TextUtils.getText(PLUGINS_TIME_MANAGEMENT_XML_FIND)), layoutConstraints);
    layoutConstraints.gridwidth = 1;
    layoutConstraints.gridx++;
    contentPane.add(Box.createHorizontalStrut(40), layoutConstraints);
    layoutConstraints.gridx++;
    contentPane.add(new JLabel(TextUtils.getText("filter_match_case")), layoutConstraints);
    layoutConstraints.gridx++;
    contentPane.add(matchCase, layoutConstraints);
    layoutConstraints.gridx++;
    contentPane.add(Box.createHorizontalStrut(40), layoutConstraints);
    layoutConstraints.gridx++;
    contentPane.add(new JLabel(TextUtils.getText("regular_expressions")), layoutConstraints);
    layoutConstraints.gridx++;
    contentPane.add(useRegexInFind, layoutConstraints);
    layoutConstraints.gridx = 0;
    layoutConstraints.weightx = 1.0;
    layoutConstraints.gridwidth = GridBagConstraints.REMAINDER;
    layoutConstraints.gridy++;
    contentPane.add(/* new JScrollPane */(mFilterTextSearchField), layoutConstraints);
    layoutConstraints.gridy++;
    layoutConstraints.weightx = 0.0;
    layoutConstraints.gridwidth = 1;
    contentPane.add(new JLabel(TextUtils.getText(PLUGINS_TIME_MANAGEMENT_XML_REPLACE)), layoutConstraints);
    layoutConstraints.gridx = 5;
    contentPane.add(new JLabel(TextUtils.getText("regular_expressions")), layoutConstraints);
    layoutConstraints.gridx++;
    contentPane.add(useRegexInReplace, layoutConstraints);
    layoutConstraints.gridx = 0;
    layoutConstraints.weightx = 1.0;
    layoutConstraints.gridwidth = GridBagConstraints.REMAINDER;
    layoutConstraints.gridy++;
    contentPane.add(/* new JScrollPane */(mFilterTextReplaceField), layoutConstraints);
    dateRenderer = new DateRenderer();
    textRenderer = new TextRenderer();
    iconsRenderer = new IconsRenderer();
    tableView = new FlatNodeTable();
    tableView.addKeyListener(new FlatNodeTableKeyListener());
    tableView.addMouseListener(new FlatNodeTableMouseAdapter());
    tableView.getTableHeader().setReorderingAllowed(false);
    tableModel = updateModel();
    mFlatNodeTableFilterModel = new FlatNodeTableFilterModel(tableModel,
            new int[] { NodeList.NODE_TEXT_COLUMN, NodeList.NODE_DETAILS_COLUMN, NodeList.NODE_NOTES_COLUMN });
    sorter = new TableSorter(mFlatNodeTableFilterModel);
    tableView.setModel(sorter);
    sorter.setTableHeader(tableView.getTableHeader());
    sorter.setColumnComparator(Date.class, TableSorter.COMPARABLE_COMPARATOR);
    sorter.setColumnComparator(NodeModel.class, TableSorter.LEXICAL_COMPARATOR);
    sorter.setColumnComparator(IconsHolder.class, TableSorter.COMPARABLE_COMPARATOR);
    sorter.setSortingStatus(NodeList.DATE_COLUMN, TableSorter.ASCENDING);
    final JScrollPane pane = new JScrollPane(tableView);
    UITools.setScrollbarIncrement(pane);
    layoutConstraints.gridy++;
    GridBagConstraints tableConstraints = (GridBagConstraints) layoutConstraints.clone();
    tableConstraints.weightx = 1;
    tableConstraints.weighty = 10;
    tableConstraints.fill = GridBagConstraints.BOTH;
    contentPane.add(pane, tableConstraints);
    mTreeLabel = new JLabel();
    layoutConstraints.gridy++;
    GridBagConstraints treeConstraints = (GridBagConstraints) layoutConstraints.clone();
    treeConstraints.fill = GridBagConstraints.BOTH;
    @SuppressWarnings("serial")
    JScrollPane scrollPane = new JScrollPane(mTreeLabel) {
        @Override
        public boolean isValidateRoot() {
            return false;
        }
    };
    contentPane.add(scrollPane, treeConstraints);
    final AbstractAction exportAction = new AbstractAction(
            TextUtils.getText("plugins/TimeManagement.xml_Export")) {
        /**
             *
             */
        private static final long serialVersionUID = 1L;

        public void actionPerformed(final ActionEvent arg0) {
            exportSelectedRowsAndClose();
        }
    };
    final JButton exportButton = new JButton(exportAction);
    final AbstractAction replaceAllAction = new AbstractAction(
            TextUtils.getText("plugins/TimeManagement.xml_Replace_All")) {
        /**
             *
             */
        private static final long serialVersionUID = 1L;

        public void actionPerformed(final ActionEvent arg0) {
            replace(new HolderAccessor(false));
        }
    };
    final JButton replaceAllButton = new JButton(replaceAllAction);
    final AbstractAction replaceSelectedAction = new AbstractAction(
            TextUtils.getText("plugins/TimeManagement.xml_Replace_Selected")) {
        /**
             *
             */
        private static final long serialVersionUID = 1L;

        public void actionPerformed(final ActionEvent arg0) {
            replace(new HolderAccessor(true));
        }
    };
    final JButton replaceSelectedButton = new JButton(replaceSelectedAction);
    final AbstractAction gotoAction = new AbstractAction(TextUtils.getText("plugins/TimeManagement.xml_Goto")) {
        /**
             *
             */
        private static final long serialVersionUID = 1L;

        public void actionPerformed(final ActionEvent arg0) {
            selectSelectedRows();
        }
    };
    final JButton gotoButton = new JButton(gotoAction);
    final AbstractAction disposeAction = new AbstractAction(
            TextUtils.getText(PLUGINS_TIME_MANAGEMENT_XML_CLOSE)) {
        /**
             *
             */
        private static final long serialVersionUID = 1L;

        public void actionPerformed(final ActionEvent arg0) {
            disposeDialog();
        }
    };
    final JButton cancelButton = new JButton(disposeAction);
    /* Initial State */
    gotoAction.setEnabled(false);
    exportAction.setEnabled(false);
    replaceSelectedAction.setEnabled(false);
    final Box bar = Box.createHorizontalBox();
    bar.add(Box.createHorizontalGlue());
    bar.add(cancelButton);
    bar.add(exportButton);
    bar.add(replaceAllButton);
    bar.add(replaceSelectedButton);
    bar.add(gotoButton);
    bar.add(Box.createHorizontalGlue());
    layoutConstraints.gridy++;
    contentPane.add(/* new JScrollPane */(bar), layoutConstraints);
    final JMenuBar menuBar = new JMenuBar();
    final JMenu menu = new JMenu(TextUtils.getText("plugins/TimeManagement.xml_menu_actions"));
    final AbstractAction[] actionList = new AbstractAction[] { gotoAction, replaceSelectedAction,
            replaceAllAction, exportAction, disposeAction };
    for (int i = 0; i < actionList.length; i++) {
        final AbstractAction action = actionList[i];
        final JMenuItem item = menu.add(action);
        item.setIcon(new BlindIcon(UIBuilder.ICON_SIZE));
    }
    menuBar.add(menu);
    dialog.setJMenuBar(menuBar);
    final ListSelectionModel rowSM = tableView.getSelectionModel();
    rowSM.addListSelectionListener(new ListSelectionListener() {
        public void valueChanged(final ListSelectionEvent e) {
            if (e.getValueIsAdjusting()) {
                return;
            }
            final ListSelectionModel lsm = (ListSelectionModel) e.getSource();
            final boolean enable = !(lsm.isSelectionEmpty());
            replaceSelectedAction.setEnabled(enable);
            gotoAction.setEnabled(enable);
            exportAction.setEnabled(enable);
        }
    });
    rowSM.addListSelectionListener(new ListSelectionListener() {
        String getNodeText(final NodeModel node) {
            return TextController.getController().getShortText(node)
                    + ((node.isRoot()) ? "" : (" <- " + getNodeText(node.getParentNode())));
        }

        public void valueChanged(final ListSelectionEvent e) {
            if (e.getValueIsAdjusting()) {
                return;
            }
            final ListSelectionModel lsm = (ListSelectionModel) e.getSource();
            if (lsm.isSelectionEmpty()) {
                mTreeLabel.setText("");
                return;
            }
            final int selectedRow = lsm.getLeadSelectionIndex();
            final NodeModel mindMapNode = getMindMapNode(selectedRow);
            mTreeLabel.setText(getNodeText(mindMapNode));
        }
    });
    final String marshalled = ResourceController.getResourceController()
            .getProperty(NodeList.WINDOW_PREFERENCE_STORAGE_PROPERTY);
    final WindowConfigurationStorage result = TimeWindowConfigurationStorage.decorateDialog(marshalled, dialog);
    final WindowConfigurationStorage storage = result;
    if (storage != null) {
        tableView.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
        int column = 0;
        for (final TimeWindowColumnSetting setting : ((TimeWindowConfigurationStorage) storage)
                .getListTimeWindowColumnSettingList()) {
            tableView.getColumnModel().getColumn(column).setPreferredWidth(setting.getColumnWidth());
            sorter.setSortingStatus(column, setting.getColumnSorting());
            column++;
        }
    }
    mFlatNodeTableFilterModel.setFilter((String) mFilterTextSearchField.getSelectedItem(),
            matchCase.isSelected(), useRegexInFind.isSelected());
    dialog.setVisible(true);
}