Mouse input help

Hi all, im new to java programming and creating 2d games.
i am currently trying to make a space invaders game, i have it working as i intended it to.
Only prob i have now is how do i use the mouse in the game.

i want to have the mouse cursor as my aim/cross hair but i have no idea how i would do this.
my plan is to have the users use the mouse to target their enemies and then click to fire at the enemy.

i have searched for 2 days now trying to look for simple examples that explain how i could implement this in my game but i have had no luck so far. If this has been discussed already i am really sorry, i did search on the forum several times and cant find anything that helps me.

Thank you in advance for any help or advice you may have to assist me

Bongklerz

One method (possibly not the best) would be to enable mouse events in your contructor

		enableEvents(AWTEvent.MOUSE_EVENT_MASK);
		enableEvents(AWTEvent.MOUSE_MOTION_EVENT_MASK);

And then override the processEvent method. My method is geared towards a tile-based board game, but it should give you a place to start.

	protected void processEvent(AWTEvent evt) {
		MouseEvent mevt = (MouseEvent)evt;
		int y = mevt.getY();
		int x = mevt.getX();
		if (x < leftBorder || y < topBorder || x >= rightBorder || y >= bottomBorder) {
			return;
		}
		switch (evt.getID()) {
			case MouseEvent.MOUSE_PRESSED:
				pressedX = x;
				pressedY = y;
				break;
			case MouseEvent.MOUSE_RELEASED:
				if (pressedX == x && pressedY == y) {
					if (splash) {
					} else {
						if (board[x][y].owner() == Tile.EMPTY) {
							placeTile(x,y);
							repaint();
						}
					}
				}
				break;
			case MouseEvent.MOUSE_CLICKED:
				if (splash) {
				} else {
					if (board[x][y].owner() == Tile.EMPTY) {
						placeTile(x,y);
						repaint();
					}
				}
				break;
			case MouseEvent.MOUSE_MOVED:
			case MouseEvent.MOUSE_DRAGGED:
				if (mevt.getX() <= leftBorder || x >= rightBorder) {
					x = -1;
				}
				if (mevt.getY() <= topBorder || y >= bottomBorder) {
					y = -1;
				}
				if (x != highlightX || y != highlightY) {
					highlightX = x;
					highlightY = y;
					repaint();
				}
				break;
			default:
				super.processEvent(evt);
		}
	}

I wouldn’t recommend doing that except for 4k competitions. The “correct” way to do it is to add a MouseListener and a MouseMotionListener to the relevant component. This is covered in Sun’s Java Tutorial as part of the section on event listeners in Swing:
http://java.sun.com/docs/books/tutorial/uiswing/events/index.html
http://java.sun.com/docs/books/tutorial/uiswing/events/mouselistener.html
http://java.sun.com/docs/books/tutorial/uiswing/events/mousemotionlistener.html