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.

inside custom component

Java Development

Reply
Trusted Contributor
Posts: 242
Registered: ‎03-16-2010
My Device: 9530

Make a Dark Rounded Rectangle

 

Hello,

 

   I have extended VerticalFieldManager and set me backgound and fields in it. I want to make a Rounded Rectangle with thick border.

        public void paint(Graphics g) {
            g.setColor(Color.DARKGRAY);
            g.drawRect(15, 15, width - 20, 100);
            super.paint(g);
        }
        
        protected void paintBackground(Graphics graphics) {
            paintBackgroundBitmap(graphics);
            super.paintBackground(graphics);
        }

        private void paintBackgroundBitmap(Graphics graphics) {
            if (null != mBgBitmap) {
            graphics.drawBitmap(mBgX, mBgY, mBgWidth, mBgHeight, mBgBitmap, 0, 0);
            }
        }

 

The code I have written just gives me a rectangle at desired location. I want to make it rounded and also think. can we add border with such parametters and add. But setPositionChild() accepts only Field, then how can add such a thing. How to achieve the goal?

 

Also via the above code, I add a bitmap as my background of the screen. But, as the virtual keyboard comes so, my screen size comes to half only. How to add it in the full page. Thisis how I add it -

 

In main screen constructor, 

        EncodedImage img = EncodedImage.getEncodedImageResource("Background.png");
        img = sizeImage(img, Display.getWidth(), Display.getHeight());
        Bitmap background = img.getBitmap();    // Bitmap.getBitmapResource("Trupti_Icon.png");
        PersonFieldManager manager =  new PersonFieldManager(background);


...........
   class PersonFieldManager extends VerticalFieldManager {
        public PersonFieldManager(Bitmap background) {
            super(USE_ALL_WIDTH | USE_ALL_HEIGHT | VERTICAL_SCROLLBAR | VERTICAL_SCROLL);
            mBgBitmap = background;
            mBgWidth = mBgBitmap.getWidth();
            mBgHeight = mBgBitmap.getHeight();
            mBgX = (Display.getWidth() - mBgWidth) >> 1;
            mBgY = (Display.getHeight() - mBgHeight) >> 1;
        }
....................
............
     }

 

Any help is highly appreciated.


--------------------------------------------------------------------------------
For any helpful answers give kudo's (star) to the helper.