HOWTO: Enabling Hot-Tracking in an AFC UIPushButton

ID: Q179852


The information in this article applies to:


SUMMARY

The Microsoft Application Foundation Classes (AFC) includes the ability to enable hot-tracking by overriding the setHot() method.


MORE INFORMATION

The sample code below demonstrates overriding the "setHot(boolean hot)" method, changing the color of the component inside a UIPushButton when the cursor is over the button.

Sample Code


import com.ms.ui.*;
import com.ms.fx.*;

public class HotTrackDemo {
  public static void main(String args[])
  {
    UIFrame frame = new UIFrame("HotPushButton Example");
    frame.setLayout(new UIGridLayout(3,0));
    frame.setSize(320,200);
    frame.setVisible(true);
    HotPushButton btn1=new HotPushButton("BUTTON1");
    HotPushButton btn2=new HotPushButton("BUTTON2");
    btn2.setColors(FxColor.green,FxColor.lightGray);
    frame.add(btn1);
    frame.add(btn2);
  }
}

class HotPushButton extends UIPushButton {
  java.awt.Color colorNorm=java.awt.Color.black;
  java.awt.Color colorHot=java.awt.Color.red;
  public HotPushButton(String value) {
    super(value);
  }
  public HotPushButton(IUIComponent comp) {
    super(comp);
  }
  public void setColors(java.awt.Color hot,java.awt.Color norm) {
    colorHot=hot;
    colorNorm=norm;
    setHot(isHot());
  }
  public void setHot(boolean hot) {
    super.setHot(hot);
    setForeground(hot?colorHot:colorNorm);  // Change color of component
    invalidateAll();
  }
} 


REFERENCES

For more information please see the Microsoft SDK for Java 2.0x documentation, available at http://www.microsoft.com/java/sdk/.
For the latest Knowledge Base articles and other support information on Visual J++ and the SDK for Java, please see the following pages on the Microsoft Technical Support site:

http://support.microsoft.com/support/visualj/

http://support.microsoft.com/support/java/

Additional query words: hot tracking afc uipushbutton


Keywords          : kbJAFC kbSDKJava300 kbSDKJava310 AWTPkg kbSDKJava320 
Version           : WINDOWS:2.0,2.01,2.02,3.0,3.1
Platform          : WINDOWS 
Issue type        : kbhowto 

Last Reviewed: July 14, 1999