Actually, if you're using Java, I'd recommend this tutorial:
http://www.youtube.com/watch?v=NIUKHHVF9ek&feature=relmfu
This guy helped a lot with my own sidescroller that I'm working on. I'd assume a lot of the same scrolling implementations would be the same for a platformer, except you'd be able to visit past places on the map, collide with a platform image, etc.
As for your more specific question about collisions, Mr.JavaHelp does go over it in the tutorial, but not in great detail. Basically, you can just keep the actionListener in the Board (World) Class and have the key methods in the Player Class. Here's an example of the Player Class Key Events:
public void keyPressed(KeyEvent e)
{
int key = e.getKeyCode();
if(key == KeyEvent.VK_LEFT)
{
vx = -4;
}
if(key == KeyEvent.VK_RIGHT)
{
vx = 4;
}
if(key == KeyEvent.VK_UP)
{
vy = -4;
}
if(key == KeyEvent.VK_DOWN)
{
vy = 4;
}
if(key == KeyEvent.VK_SPACE)
{
fire();
}
}
And for a collision box, try some if statements in a checkCollision method such as (Rectangle1).intersects(Rectangle2){ };
Make a rectangle with the
Rectangle Rec1 = Player.getBounds();
method if you can.
I just learned this and it seems to be working quite well so far. Just trying to implement a Title Screen with a Start Button actually...