Welcome!

Welcome to the Official BlackBerry Support Community Forums. This is your resource to discuss support topics with your peers, and learn from each other. New to the forum? Please visit the ‘Getting Started’ link below.
inside custom component

Java Development

Reply
Developer
uttamtts
Posts: 141
Registered: ‎03-15-2011
My Carrier: Airtel
Accepted Solution

Button problem in Popup Screen

Hi all,

I made a Popup Screen in which there is two Buttons And one EditField. Now i am facing very wierd problem. First button which i am adding in my code doesnot seems working . It doesnot clicking and the second button working fine why is this so can any body help me out from this.

I am providing the code here :-

public class PinPopup extends PopupScreen{
public static  EditField texts;
static String _userName=null;

PinPopup()
	{
	super(new HorizontalFieldManager());
	Font f = Font.getDefault().derive(Font.BOLD, 16);
	setFont(f);
	texts=new EditField("","",200,Field.EDITABLE);
	
	ButtonField sendButton = new ButtonField(" Send  "){
		protected boolean navigationClick(int status, int time) {
		       Dialog.inform("Send");
		    return true;
		    }
	};
 
	ButtonField cancelButton = new ButtonField("Cancel"){
		 protected boolean navigationClick(int status, int time) {
		       Dialog.inform("Cancel");
		    return true;
		    }
	};

	VerticalFieldManager _fieldManagerContext = new VerticalFieldManager(VerticalFieldManager.USE_ALL_WIDTH | VerticalFieldManager.USE_ALL_HEIGHT)
		{
		
			public void sublayout(int width,int height) { 	              
				//super.sublayout(width, height);
				int xpos = 0; 
				int ypos = 0;
				Field field = getField(0);
				layoutChild(field, 280, 50);
				setPositionChild(field, xpos, ypos);
				Field field1 = getField(1);
				layoutChild(field1, 280, 50);
				setPositionChild(field1, xpos+20, ypos+80);
				Field field2 = getField(2);
				layoutChild(field2, 280, 50);
				setPositionChild(field2, xpos+145, ypos+80);
				setPosition(150, 220);
				setExtent(300, 220); 
                 
               }
				public void paint(Graphics graphics)
				{
					//graphics.setColor(Color.WHITE);   
					Font f = Font.getDefault().derive(Font.BOLD, 16);
					graphics.setFont(f);
					graphics.drawText("SEND PIN",90, 20,0,200);
					graphics.drawText( _userName,110,40,0,200);
					graphics.setColor(Color.WHITE); 
					super.paint(graphics);    	                
				}
      
        }; 

	          _fieldManagerContext.add(texts);
	          _fieldManagerContext.add(cancelButton);
	          _fieldManagerContext.add(sendButton);
	          add(_fieldManagerContext);
	          
	}
	

}

 hey please help me out from this 

thanks in advance

Please use plain text.
Developer
pradeep_ch
Posts: 540
Registered: ‎12-23-2010
My Carrier: Airtel

Re: Button problem in Popup Screen

why don't you use Horizontalfieldmanager for horizontal alignment.

 

this is the code and it works fine.

 

 

 

package com.winit.mobiads.ui.screens;

import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.Font;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.component.ButtonField;
import net.rim.device.api.ui.component.Dialog;
import net.rim.device.api.ui.component.EditField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.PopupScreen;

public class PinPopup extends PopupScreen{
    public static  EditField texts;
    static String _userName=null;

    PinPopup()
        {
        super(new HorizontalFieldManager());
        Font f = Font.getDefault().derive(Font.BOLD, 16);
        setFont(f);
        texts=new EditField("","",200,Field.EDITABLE);
       
        ButtonField sendButton = new ButtonField(" Send  "){
            protected boolean navigationClick(int status, int time) {
                   Dialog.inform("Send");
                return true;
                }
        };
     
        ButtonField cancelButton = new ButtonField("Cancel"){
             protected boolean navigationClick(int status, int time) {
                   Dialog.inform("Cancel");
                return true;
                }
        };

        HorizontalFieldManager _fieldManagerContext = new HorizontalFieldManager(USE_ALL_WIDTH)
            {
           
                public void sublayout(int width,int height) {                  
                    //super.sublayout(width, height);
                    int xpos = 0;
                    int ypos = 0;
                    Field field = getField(0);
                   
                    setPositionChild(field, xpos, ypos);
                    layoutChild(field, 280, 50);
                   
                    Field field1 = getField(1);
                   
                    setPositionChild(field1, xpos+20, ypos+80);
                    layoutChild(field1, 100, 50);

                    Field field2 = getField(2);
                   
                    setPositionChild(field2, xpos+145, ypos+80);
                    layoutChild(field2, 100, 50);
                   
                    setPosition(150, 220);
                    setExtent(width, height);
                    
                   }
                    public void paint(Graphics graphics)
                    {
                        //graphics.setColor(Color.WHITE);  
                        Font f = Font.getDefault().derive(Font.BOLD, 16);
                        graphics.setFont(f);
                        graphics.drawText("SEND PIN",90, 20,0,200);
                        graphics.drawText( _userName,110,40,0,200);
                        graphics.setColor(Color.WHITE);
                        super.paint(graphics);                       
                    }
         
            };

                  _fieldManagerContext.add(texts);
                  _fieldManagerContext.add(cancelButton);
                  _fieldManagerContext.add(sendButton);
                  add(_fieldManagerContext);
                 
        }
       

    }


Please use plain text.
Developer
uttamtts
Posts: 141
Registered: ‎03-15-2011
My Carrier: Airtel

Re: Button problem in Popup Screen

Hey Buddy thanks .....now its working like a charm .

:Clap:

Please use plain text.