6

Guidance for application execution in windows

view full story
linux-howto

http://www.daniweb.com – Hi, I have used the following code (this is from HeadFirst Java Book) import java.awt.*; import javax.swing.*; import javax.sound.midi.*; import java.util.*; import java.awt.event.*; public class BeatBox        { JPanel mainPanel; ArrayList<JCheckBox> checkboxList; Sequence sequence; Sequencer sequencer; Track track; JFrame theFrame; String[] instrumentNames = {"Bass Drum", "Closed Hi-Hat", "Open Hi-Hat", "Acoustic Snare", "Crash Cymbal", "Hand Clap", "High Tom", "High Bongo", "Maracas", "Whistle", "Low Conga", "Cowbell", "Vibraslap", "Low-mid Tom", "High Agogo", "Open Hi Conga"}; int[] instruments={35,42,46,38,49,39,50,60,70,72,64,56,58,47,67,63}; public static void main (String[] args)        {                 new BeatBox().buildGUI(); } public void buildGUI()        {         theFrame = new JFrame("Cyber BeatBox");         theFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         BorderLayout layout = new BorderLayout();         JPanel background = new JPanel(layout);         background.setBorder(BorderFactory.createEmptyBorder(10,10,10,10));         checkboxList = new ArrayList<JCheckBox>();         Box buttonBox = new Box(BoxLayout.Y_AXIS);         JButton start = new JButton("Start");         start.addActionListener(new MyStartListener());         buttonBox.add(start);         JButton stop = new JButton("Stop");         start.addActionListener(new MyStopListener());         buttonBox.add(stop);         JButton upTempo = new JButton("Tempo Up");         start.addActionListener(new MyUpTempoListener());         buttonBox.add(upTempo);         JButton downTempo = new JButton("Tempo Down");         start.addActionListener(new MyDownTempoListener());         buttonBox.add(downTempo);         Box nameBox = new Box(BoxLayout.Y_AXIS);         for (int i=0; i<16; i++)        {         nameBox.add(new Label(instrumentNames[i]));         }         background.add(BorderLayout.EAST, buttonBox);         background.add(BorderLayout.WEST, nameBox);         theFrame.getContentPane().add(background);         GridLayout grid = new GridLayout(16,16);         grid.setVgap(1);         grid.setHgap(2);         mainPanel = new JPanel(grid);         background.add(BorderLayout.CENTER, mainPanel);         for (int i=0; i<256; i++)        {         JCheckBox c = new JCheckBox();         checkboxList.add(c);         mainPanel.add(c);         //end loop         }         setUpMidi();         theFrame.setBounds(50,50,300,300);         theFrame.pack();         theFrame.setVisible(true); //close method } public void setUpMidi()        { try        {                 sequencer= MidiSystem.getSequencer();                 sequencer.open();                 sequence = new Sequence(Sequence.PPQ,4);                 track = sequence.createTrack();                 sequencer.setTempoInBPM(120);         } catch(Exception e)         {                 e.printStackTrace();         } //close method } public void buildTrackAndStart()        {         int[] trackList = null;         sequence.deleteTrack(track);         track = sequence.createTrack();                 for (int i=0; i<16; i++)        {                 trackList = new int[16];                 int key = instruments[i];                 for (int j=0; j<16; j++)        {                         JCheckBox jc = (JCheckBox) checkboxList.get(j+(16*i));                         if (jc.isSelected())        {                                 trackList[j]=key;                                 }                         else        {                                 trackList[j]=0;                                 }                         } //close inner loop                                 makeTracks(trackList);                 track.add(makeEvent(176,1,127,0,16));                 } //close outer loop         track.add(makeEvent(192,9,1,0,15));         try        {                 sequencer.setSequence(sequence);                 sequencer.setLoopCount(sequencer.LOOP_CONTINUOUSLY);                 sequencer.start();                 sequencer.setTempoInBPM(120);                 }         catch(Exception e)                 {                 e.printStackTrace();                 } }//close buildTrackListAndStart method public class MyStartListener implements ActionListener        {                 public void actionPerformed(ActionEvent a)        {                         buildTrackAndStart();                 }         }//close inner class         public class MyStopListener implements ActionListener        {                 public void actionPerformed(ActionEvent a)        {                         sequencer.stop();                 }         }//close inner class public class MyUpTempoListener implements ActionListener        {                 public void actionPerformed(ActionEvent a)        {                         float tempoFactor = sequencer.getTempoFactor();                         sequencer.setTempoFactor((float)(tempoFactor*1.03));                 }         }//close inner class public class MyDownTempoListener implements ActionListener        {                 public void actionPerformed(ActionEvent a)        {                         float tempoFactor = sequencer.getTempoFactor();                         sequencer.setTempoFactor((float)(tempoFactor*.97));                 }         }//close inner class public void makeTracks(int[] list)        {                 for (int i=0; i<16; i++)        {                         int key=list[i];                         if (key!=0)        {                                 track.add(makeEvent(144,9,key,100,i));                                 track.add(makeEvent(128,9,key,100,i+1));                         }                 }         } public MidiEvent makeEvent(int comd, int chan, int one, int two, int tick)        {         MidiEvent event = null;         try        {                 ShortMessage a = new ShortMessage();                 a.setMessage(comd, chan, one, two);                 event = new MidiEvent(a, tick);                 }         catch(Exception e)                 {                 e.printStackTrace();                 }         return event;         } } I have compiled the application with no errors. I have made a jar with manifest file containing the following: Main-Class: BeatBox My code file is: E:\BeatBox\BeatBox.java and the class files are also in the same folder. When I try to execute the jar file, I get an error: Could not find the main class: BeatBox. Please guide me as to how I can get my app running. Thanks! (General)