Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import net.rim.device.api.system.Bitmap;
- import net.rim.device.api.ui.Color;
- import net.rim.device.api.ui.Field;
- import net.rim.device.api.ui.FieldChangeListener;
- import net.rim.device.api.ui.Graphics;
- import net.rim.device.api.ui.VirtualKeyboard;
- import net.rim.device.api.ui.XYRect;
- import net.rim.device.api.ui.component.ButtonField;
- import net.rim.device.api.ui.decor.Background;
- public class CustomButtonField extends Field{
- Bitmap focussedImg;
- Bitmap unfocussedImg;
- Bitmap butImg;
- int focusColor;
- private boolean isSelected;
- public CustomButtonField(Bitmap focussedImg,Bitmap unfocussedImg,boolean isSelected,long style){
- //super(Field.FOCUSABLE|Field.FIELD_HCENTER);
- super(style);
- this.focussedImg=focussedImg;
- this.unfocussedImg=unfocussedImg;
- butImg=unfocussedImg;
- //focusColor=Color.WHITESMOKE;
- this.isSelected=isSelected;
- }
- public CustomButtonField(Bitmap focussedImg,Bitmap unfocussedImg,long style){
- //super(Field.FOCUSABLE|Field.FIELD_HCENTER);
- super(style);
- this.focussedImg=focussedImg;
- this.unfocussedImg=unfocussedImg;
- butImg=unfocussedImg;
- //focusColor=Color.WHITESMOKE;
- }
- // public CustomButtonField(Bitmap focussedImg,Bitmap unfocussedImg){
- // super(Field.FOCUSABLE|Field.FIELD_HCENTER);
- // this.focussedImg=focussedImg;
- // this.unfocussedImg=unfocussedImg;
- // butImg=unfocussedImg;
- // //focusColor=Color.WHITESMOKE;
- // this.isSelected=isSelected;
- // }
- // public int getPreferredWidth() {
- // // TODO Auto-generated method stub
- // return focussedImg.getWidth();
- // }
- // public int getPreferredHeight() {
- // // TODO Auto-generated method stub
- // return focussedImg.getHeight();
- // }
- protected void layout(int width, int height) {
- // TODO Auto-generated method stub
- setExtent(butImg.getWidth(),butImg.getHeight());
- //setExtent(Math.min(width, getPreferredWidth()), Math.min(height,getPreferredHeight()));
- }
- protected void paint(Graphics graphics) {
- // TODO Auto-generated method stub
- // if(isSelected){
- // butImg=focussedImg;
- // }
- graphics.drawBitmap(0, 0, butImg.getWidth(),butImg.getHeight(), butImg,0,0);
- //graphics.setBackgroundColor(focusColor);
- /*butImg=focussedImg;
- XYRect focusRect = new XYRect();
- getFocusRect( focusRect );
- int yOffset = 0;
- if ( isSelecting() ){
- yOffset = focusRect.height >> 1;
- focusRect.height = yOffset;
- focusRect.y += yOffset;
- }
- graphics.pushRegion( focusRect.x, focusRect.y, focusRect.width, focusRect.height, -focusRect.x, -focusRect.y );
- graphics.setBackgroundColor(16777215);
- graphics.clear();
- this.paint( graphics );
- graphics.popContext();*/
- }
- //
- protected void drawFocus(Graphics graphics, boolean on) {
- // TODO Auto-generated method stub
- //pooo
- }
- protected void onFocus(int direction) {
- // TODO Auto-generated method stub
- butImg=focussedImg;
- super.onFocus(direction);
- invalidate();
- }
- protected void onUnfocus() {
- // TODO Auto-generated method stub
- butImg=unfocussedImg;
- super.onUnfocus();
- invalidate();
- }
- public int getwidth(){
- return focussedImg.getWidth();
- }
- public int getheight(){
- return focussedImg.getHeight();
- }
- protected boolean navigationClick(int status, int time) {
- fieldChangeNotify(1);
- return true;
- }
- protected void fieldChangeNotify(int context) {
- try {
- this.getChangeListener().fieldChanged(this, context);
- } catch (Exception e) {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement