change color on mouse click
Someone please help. I need to write a program that sets the background of a panel as black when the mouse is clicked and white when the mouse is released. I have a TrackMouse program but it just tells if it's in the panel or outside and if it's pressed or dragged and the coordinates. I'm not sure what parts to take out and I think I need a few if statments. I don't think it's complicated just not sure where to begin.
Here's my code
import java.awt.*;
import java.awt.event.*;
// Java extension packages
import javax.swing.*;
public class TrackMouse extends JFrame
implements MouseListener, MouseMotionListener {
private JLabel statusBar;
// set up GUI and register mouse event handlers
public TrackMouse()
{
super( "Demonstrating Mouse Events" );
statusBar = new JLabel();
getContentPane().add( statusBar, BorderLayout.SOUTH );
// application listens to its own mouse events
addMouseListener( this );
addMouseMotionListener( this );
setSize( 275, 100 );
setVisible( true );
}
// MouseListener event handlers
// handle event when mouse released immediately after press
public void mouseClicked( MouseEvent event )
{
statusBar.setText( "Clicked at [" + event.getX() +
", " + event.getY() + "]" );
}
// handle event when mouse pressed
public void mousePressed( MouseEvent event )
{
statusBar.setText( "Pressed at [" + event.getX() +
", " + event.getY() + "]" );
}
// handle event when mouse released after dragging
public void mouseReleased( MouseEvent event )
{
statusBar.setText( "Released at [" + event.getX() +
", " + event.getY() + "]" );
}
// handle event when mouse enters area
public void mouseEntered( MouseEvent event )
{
statusBar.setText( "Mouse inside window" );
}
// handle event when mouse exits area
public void mouseExited( MouseEvent event )
{
statusBar.setText( "Mouse outside window" );
}
// MouseMotionListener event handlers
// handle event when user drags mouse with button pressed
public void mouseDragged( MouseEvent event )
{
statusBar.setText( "Dragged at [" + event.getX() +
", " + event.getY() + "]" );
}
// handle event when user moves mouse
public void mouseMoved( MouseEvent event )
{
statusBar.setText( "Moved at [" + event.getX() +
", " + event.getY() + "]" );
}
// execute application
public static void main( String args[] )
{
TrackMouse application = new TrackMouse();
application.setDefaultCloseOperation(JFrame.EXIT_O N_CLOSE );
}
}