Link to home
Start Free TrialLog in
Avatar of Drop_of_Rain
Drop_of_Rain

asked on

Help with a If statement

I need to have a If statement that does some comparisons. I will have some names of ojbects dm1-dm50. There will be a tining cycle being used in the workout. But if certain dm's are in the workout there will need to be a different timing cycle used. So I need a If statement to check throught the process to replace the timing cycle.  This will happen when the 2 lists used with the wrapper will be making one list to make the single audiofile out of the many. Below is the listener fot the buttons and details classes below.


public class MyListener implements ActionListener {

    private List theList = new ArrayList();

    public MyListener() {
    }

    public void addButton(JButton theButtonToAdd) {
       theButtonToAdd.addActionListener(this);  // Listen for the button to be pressed
    }

    public void actionPerformed(ActionEvent e) {
       JButton button = (JButton)e.getSource();
       String command = button.getActionCommand();
       AudioDetails details = new AudioDetails(command, timing);
       if (thList.contains(details))
       {
          theList.remove(details);
       }
       else
       {
          theList.add(details);
       }
    }




    public List getList() { return theList; }

}


public class AudioDetails
{
   private String AudioFile;
   private String Timing;
   // could add other fields as needed

   public AudioDetails(String file, String timing)
   {
      AudioFile = file;
      Timing = timing;
   }

   public String getAudioFile()
   {
      return AudioFile;
   }

   public String getTiming()
   {
      return Timing;
   }
}
Avatar of Mick Barry
Mick Barry
Flag of Australia image

so what is the logic you need to achieve exactly?
Avatar of Drop_of_Rain
Drop_of_Rain

ASKER

I can change the details in the statements later

 If  (dm6, dm8, dm21, dm22, dm26)  are being used, then 2 seconds more then the timing cycle being used needs to be used instead.

If (dm9, dm11, dm28, dm31, dm35)  are being used, then 3 seconds more then the timing cycle being used needs to be used instead.

Otherwise the regular timing cycle
What is the flag that will indicate a dm1...dm50 object is used?
Ok I need to go into more detail here. There will be many different ActionCommands coming from many different buttons all going into the MyListener class and then AudioDetails class making up the final list. That list will then become starems and go into the class that makes the single audio file out of that list.
I am not really clear on the logic behind your program. . .

but for the if statement, how about using a bit vector and using bitwise and's and or's to see which dms are on/off?

dtan
<I am not really clear on the logic behind your program. . .>

I wrote this to objects because he was the one helping me with the question and has been helping me with my program a lot already.

Ok I will explain it a little better for you.

The program will create a single audiofile out of many small audiofiles. There are many buttons that have there ActionCommands set as audiofiles. The user will be able to create any custom workout they want by choosing what they want in the workout by presseing those buttons. There will be a timing cycle automaticly placed between each option. The user can see what they have selected and remove anyone they want removed. This is handled by MyListener it removes the timing cylcle as well. Details create one list out of two in a way. This If statement will be used in other places as well, I will just make slight changes to it.

This needs to happen when the list is being created.
do you actually need to maintain this information while the user is selecting the buttons, or could you instead determine the relevant timings at the point when you assemble the single audio.
Yes it wouldn't matter when it happens really.
Any how for every action, you will attach an AudioDetails.  That itself will have the timings.  Then what exactly are  you looking for.


Regards,
Muruga
<Then what exactly are  you looking for>


There will be a tining cycle being used in the workout. But if certain dm's are in the workout there will need to be a different timing cycle used because it takes longer to do.
SOLUTION
Avatar of Mick Barry
Mick Barry
Flag of Australia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
That is what I am about to ask... post your code which assembles the final audio
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for all the support,
Christopher
that's great... thanx.. :-)