ReverseLabels.java Inherits from CloseableFrame.java and uses ReversibleLabel.java.

ReverseLabels.java Inherits from CloseableFrame.java and uses ReversibleLabel.java. 
**********************
ReverseLabels.java 
**********************
import java.awt.*;

******************

public class ReverseLabels extends CloseableFrame {
  public static void main(String[] args) {
    new ReverseLabels();
  }

  public ReverseLabels() {
    super("Reversible Labels");
    setLayout(new FlowLayout());
    setBackground(Color.lightGray);
    setFont(new Font("Serif", Font.BOLD, 18));
    ReversibleLabel label1 =
      new ReversibleLabel("Black on White",
                          Color.white, Color.black);
    add(label1);
    ReversibleLabel label2 =
      new ReversibleLabel("White on Black",
                          Color.black, Color.white);
    add(label2);
    pack();
    setVisible(true);
  }
}
/./././././././././.
CloseableFrame.java 
&&&&&&&&&&&&&&&&&&&
import java.awt.*;
import java.awt.event.*;

/** A Frame that you can actually quit. Used as the starting 
 *  point for most Java 1.1 graphical applications.
 *
 *******************
 */

public class CloseableFrame extends Frame {
  public CloseableFrame(String title) {
    super(title);
    enableEvents(AWTEvent.WINDOW_EVENT_MASK);
  }

  /** Since we are doing something permanent, we need
   *  to call super.processWindowEvent first.
   */
  
  public void processWindowEvent(WindowEvent event) {
    super.processWindowEvent(event); // Handle listeners.
    if (event.getID() == WindowEvent.WINDOW_CLOSING) {
      // If the frame is used in an applet, use dispose().
      System.exit(0);
    }
  }
}
&&&&&&&&&&&&&&&&&&&&
ReversibleLabel.java. 
&&&&&&&&&&&&&&&&&&&&
import java.awt.*;
import java.awt.event.*;

/** A Label that reverses its background and
 *  foreground colors when the mouse is over it.
 *
 **********************
 
public class ReversibleLabel extends Label {
  public ReversibleLabel(String text,
                         Color bgColor, Color fgColor) {
    super(text);
    MouseAdapter reverser = new MouseAdapter() {
      public void mouseEntered(MouseEvent event) {
        reverseColors();
      }

      public void mouseExited(MouseEvent event) {
        reverseColors(); // or mouseEntered(event);
      }
    };
    addMouseListener(reverser);
    setText(text);
    setBackground(bgColor);
    setForeground(fgColor);
  }

  protected void reverseColors() {
    Color fg = getForeground();
    Color bg = getBackground();
    setForeground(bg);
    setBackground(fg);
  }
}
#############################

Permanent link to this article: http://bangla.sitestree.com/reverselabels-java-inherits-from-closeableframe-java-and-uses-reversiblelabel-java/

Leave a Reply