Java tutorial
/* * Maui, Maltcms User Interface. * Copyright (C) 2008-2014, The authors of Maui. All rights reserved. * * Project website: http://maltcms.sf.net * * Maui may be used under the terms of either the * * GNU Lesser General Public License (LGPL) * http://www.gnu.org/licenses/lgpl.html * * or the * * Eclipse Public License (EPL) * http://www.eclipse.org/org/documents/epl-v10.php * * As a user/recipient of Maui, you may choose which license to receive the code * under. Certain files or entire directories may not be covered by this * dual license, but are subject to licenses compatible to both LGPL and EPL. * License exceptions are explicitly declared in all relevant files or in a * LICENSE file in the relevant directories. * * Maui is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. Please consult the relevant license documentation * for details. */ package net.sf.maltcms.chromaui.ui; import net.sf.maltcms.chromaui.charts.renderer.XYPlotRendererListCellRenderer; import net.sf.maltcms.chromaui.charts.renderer.XYPlotRendererModel; import org.jfree.chart.renderer.xy.XYItemRenderer; /** * TODO finish integration of time range setting * * @author nilshoffmann */ public class SettingsPanel extends javax.swing.JPanel { private XYPlotRendererModel xyprm = new XYPlotRendererModel(); /** * Creates new form SettingsPanel */ public SettingsPanel() { initComponents(); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents private void initComponents() { jLabel1 = new javax.swing.JLabel(); massResolution = new javax.swing.JTextField(); jLabel2 = new javax.swing.JLabel(); jLabel3 = new javax.swing.JLabel(); jComboBox1 = new javax.swing.JComboBox(); massesToDisplay = new javax.swing.JTextField(); jSeparator1 = new javax.swing.JSeparator(); jLabel4 = new javax.swing.JLabel(); jComboBox2 = new javax.swing.JComboBox(); jLabel5 = new javax.swing.JLabel(); plotType = new javax.swing.JComboBox(); jComboBox3 = new javax.swing.JComboBox(); jSeparator2 = new javax.swing.JSeparator(); jLabel6 = new javax.swing.JLabel(); jLabel1.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabel1.text")); // NOI18N massResolution.setText( org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.massResolution.text")); // NOI18N massResolution.setEnabled(false); massResolution.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { massResolutionActionPerformed(evt); } }); jLabel2.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabel2.text")); // NOI18N jLabel3.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabel3.text")); // NOI18N jComboBox1.setModel(new javax.swing.DefaultComboBoxModel( new String[] { "Seconds", "Minutes", "Hours", "Milliseconds" })); jComboBox1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jComboBox1ActionPerformed(evt); } }); massesToDisplay.setText( org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.massesToDisplay.text")); // NOI18N massesToDisplay.setToolTipText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.massesToDisplay.toolTipText")); // NOI18N massesToDisplay.setEnabled(false); massesToDisplay.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { massesToDisplayActionPerformed(evt); } }); jLabel4.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabel4.text")); // NOI18N jComboBox2.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "TIC", "EIC-SUM", "EIC-COPLOT" })); jComboBox2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jComboBox2ActionPerformed(evt); } }); jLabel5.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabel5.text")); // NOI18N plotType.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Side", "Top" })); plotType.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { plotTypeActionPerformed(evt); } }); jComboBox3.setModel(xyprm); jComboBox3.setRenderer(new XYPlotRendererListCellRenderer()); jComboBox3.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { jComboBox3ActionPerformed(evt); } }); jLabel6.setText(org.openide.util.NbBundle.getMessage(SettingsPanel.class, "SettingsPanel.jLabel6.text")); // NOI18N javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING).addGroup( javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup().addContainerGap().addGroup(layout .createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jSeparator2, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE) .addComponent(jSeparator1, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE) .addGroup(layout.createSequentialGroup() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jLabel6, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel5, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel3, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel2, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel1, javax.swing.GroupLayout.Alignment.TRAILING) .addComponent(jLabel4, javax.swing.GroupLayout.Alignment.TRAILING)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, 252, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(massesToDisplay, javax.swing.GroupLayout.DEFAULT_SIZE, 272, Short.MAX_VALUE) .addComponent(massResolution, javax.swing.GroupLayout.DEFAULT_SIZE, 272, Short.MAX_VALUE) .addComponent(jComboBox1, 0, 272, Short.MAX_VALUE) .addComponent(plotType, 0, 272, Short.MAX_VALUE) .addComponent(jComboBox3, 0, 272, Short.MAX_VALUE)))) .addContainerGap())); layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] { jComboBox1, jComboBox2, jComboBox3, massResolution, massesToDisplay, plotType }); layout.setVerticalGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup().addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel4)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(massesToDisplay, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 16, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(massResolution, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel2)) .addGap(4, 4, 4) .addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel3).addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addGap(6, 6, 6) .addComponent(jSeparator2, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jLabel5).addComponent(plotType, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 8, Short.MAX_VALUE) .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(jComboBox3, javax.swing.GroupLayout.PREFERRED_SIZE, 27, javax.swing.GroupLayout.PREFERRED_SIZE) .addComponent(jLabel6)) .addGap(24, 24, 24))); }// </editor-fold>//GEN-END:initComponents private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox1ActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jComboBox1ActionPerformed private void massesToDisplayActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_massesToDisplayActionPerformed // TODO add your handling code here: }//GEN-LAST:event_massesToDisplayActionPerformed private void jComboBox2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox2ActionPerformed String value = (String) jComboBox2.getSelectedItem(); if (null != value) switch (value) { case "TIC": massesToDisplay.setEnabled(false); massResolution.setEnabled(false); break; case "EIC-SUM": massesToDisplay.setEnabled(true); massResolution.setEnabled(true); break; case "EIC-COPLOT": massesToDisplay.setEnabled(true); massResolution.setEnabled(true); break; } }//GEN-LAST:event_jComboBox2ActionPerformed private void massResolutionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_massResolutionActionPerformed // TODO add your handling code here: }//GEN-LAST:event_massResolutionActionPerformed private void plotTypeActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_plotTypeActionPerformed // TODO add your handling code here: }//GEN-LAST:event_plotTypeActionPerformed private void jComboBox3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jComboBox3ActionPerformed // TODO add your handling code here: }//GEN-LAST:event_jComboBox3ActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JComboBox jComboBox1; private javax.swing.JComboBox jComboBox2; private javax.swing.JComboBox jComboBox3; private javax.swing.JLabel jLabel1; private javax.swing.JLabel jLabel2; private javax.swing.JLabel jLabel3; private javax.swing.JLabel jLabel4; private javax.swing.JLabel jLabel5; private javax.swing.JLabel jLabel6; private javax.swing.JSeparator jSeparator1; private javax.swing.JSeparator jSeparator2; private javax.swing.JTextField massResolution; private javax.swing.JTextField massesToDisplay; private javax.swing.JComboBox plotType; // End of variables declaration//GEN-END:variables /** * * @return */ public String getSelectedMasses() { String massesToDisplayString = massesToDisplay.getText(); return massesToDisplayString; } /** * * @return */ public XYItemRenderer getRenderer() { return (XYItemRenderer) jComboBox3.getSelectedItem(); } /** * * @return Double.NaN if massResolution is disabled, otherwise double value */ public String getMassResolution() { if (!massResolution.isEnabled()) { return "" + Double.NaN; } return massResolution.getText(); } /** * * @return */ public String getPlotMode() { return (String) jComboBox2.getSelectedItem(); } /** * * @return */ public String getRTAxisTimeUnit() { return ((String) jComboBox1.getSelectedItem()).toUpperCase(); } /** * * @return */ public String getPlotType() { return ((String) plotType.getSelectedItem()).toUpperCase(); } }