/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.das2.graph; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import org.das2.datum.Datum; /** * * @author jbf */ public class AuralizorControlPanel extends javax.swing.JPanel { Auralizor auralizor; /** * Creates new form AuralizorControlPanel */ public AuralizorControlPanel() { initComponents(); } public void setAuralizor( Auralizor a ) { this.auralizor= a; this.auralizor.addPropertyChangeListener( Auralizor.PROP_POSITION, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { Datum newPosition= (Datum) evt.getNewValue(); positionLabel.setText( newPosition.toString() ); } }); } /** * This method is called from within the constructor to initialize the form. WARNING: Do NOT modify this * code. The content of this method is always regenerated by the Form Editor. */ @SuppressWarnings("unchecked") // //GEN-BEGIN:initComponents private void initComponents() { playButton = new javax.swing.JButton(); resetButton = new javax.swing.JButton(); positionLabel = new javax.swing.JLabel(); playButton.setText("Play Sound"); playButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { playButtonActionPerformed(evt); } }); resetButton.setText("Reset"); resetButton.setEnabled(false); resetButton.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent evt) { resetButtonActionPerformed(evt); } }); positionLabel.setText("(position)"); javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this); this.setLayout(layout); layout.setHorizontalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false) .addComponent(playButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) .addComponent(resetButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(positionLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 283, Short.MAX_VALUE) .addContainerGap()) ); layout.setVerticalGroup( layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(layout.createSequentialGroup() .addContainerGap() .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE) .addComponent(playButton) .addComponent(positionLabel)) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED) .addComponent(resetButton) .addContainerGap(228, Short.MAX_VALUE)) ); }// //GEN-END:initComponents private void playButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_playButtonActionPerformed Runnable run= new Runnable() { public void run() { auralizor.playSound(); playButton.setEnabled(true); } }; new Thread(run,"auralizeData").start(); playButton.setEnabled(false); resetButton.setEnabled(true); }//GEN-LAST:event_playButtonActionPerformed private void resetButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_resetButtonActionPerformed auralizor.reset(); resetButton.setEnabled(false); }//GEN-LAST:event_resetButtonActionPerformed // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JButton playButton; private javax.swing.JLabel positionLabel; private javax.swing.JButton resetButton; // End of variables declaration//GEN-END:variables }