You're actually trying to do it the hard way. You can monitor for the click, but you can't do it reliably. Your loop can execute multiple iterations if the user holds the button down for even 1 second. Since, from your first post, your reading the filepaths into a String array, just read them all in. You really shouldn't be holding open resources like your trying to do. It's very bad practice. Once you have all the filepaths in the array, you can setup a counter that points to the first index in the String array and you call a function to load and display the image it's pointing to. When the user clicks the button, you increment the counter, check to majke sure it hasn't overflowed, then call the function to load and display the image. Actually, it'd be easier to write a class to encompass this functionality. But that's an entirely different discussion... RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome