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

BlackBerry® World™ Development

Reply
Contributor
masterabhishek
Posts: 35
Registered: ‎04-14-2010
My Device: 8900
My Carrier: Mobile Application Developer

class calling problem?

How to call this class in my hello world programme...

 

 

package test_tic;

import java.util.Timer;
import java.util.TimerTask;

//import net.rim.device.api.system.Display;
//import net.rim.device.api.ui.DrawStyle;
//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.Manager;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.ActiveRichTextField;
//import net.rim.device.api.ui.component.LabelField;
import net.rim.device.api.ui.container.VerticalFieldManager;

public class TickerScreen extends VerticalFieldManager
{
    private int managerWidth;
    private int managerHeight;
    private static ActiveRichTextField editField;
    private Timer _scrollTimer;
    private TimerTask _scrollTimerTask;
    private int scrollPos;
    private VerticalFieldManager vfm;

    public TickerScreen(int width, int height, long style)
    {
        
        super(Manager.NO_VERTICAL_SCROLL | style);
        managerWidth = width;
        managerHeight = height;
        scrollPos = 0;
         vfm = new VerticalFieldManager(Manager.VERTICAL_SCROLL) ;

        editField = new ActiveRichTextField("dhajksdhakd")
        {
            public void paint(Graphics g)
            {
                getManager().invalidate();
                super.paint(g);
            }
        };
        editField.setEditable(false);
        vfm.add(editField);
        add(vfm);
    }
    protected void onFocus(int direction) {
        stopScroll();
    }
    protected void onDisplay() {
        startScroll();
    }

    protected void onUnfocus() {
        startScroll();
    }
    
    private void startScroll() {
        // Start scrolling
        final int scrollPos = getManager().getVerticalScroll();
        if (_scrollTimer == null) {
            _scrollTimer = new Timer();
            _scrollTimerTask = new TimerTask()
            {
                public void run()
                {
                    setScrollPos(getScrollPos() + 10);
                    
                    int vertH = 0;
                    synchronized (UiApplication.getEventLock())
                    {
                        vertH = vfm.getVirtualHeight();
                    }
                    if (getScrollPos() > vertH -getVirtualHeight())
                    {
                        setScrollPos(0);
                    }
                    UiApplication.getUiApplication().invokeLater(new Runnable()
                    {

                        public void run()
                        {
                            try {
                                vfm.setVerticalScroll(getScrollPos());
                            }
                            catch (Exception e)
                            {
                                e.printStackTrace();
                            }
                                
                        }
                    });
                }
            };
            _scrollTimer.scheduleAtFixedRate(_scrollTimerTask, 500, 500);
        }
    }

    private synchronized int getScrollPos() {
        return scrollPos;
    }

    private synchronized void setScrollPos(int scrollPos) {
        this.scrollPos = scrollPos;
    }

    private void stopScroll() {
        if (_scrollTimer != null) {
            _scrollTimerTask.cancel();
            _scrollTimer.cancel();
            _scrollTimer = null;
            _scrollTimerTask = null;
        }
    }

    public void paint(Graphics g) {
        super.paint(g);
    }

    public void sublayout(int width, int height) {
        if (managerWidth == 0) {
            managerWidth = width;
        }
        if (managerHeight == 0) {
            managerHeight = height;
        }
        super.sublayout(managerWidth, managerHeight);
        setExtent(managerWidth, managerHeight);
    }

    public synchronized void setText(String text, int[] offsets,
            byte[] attributes, Font[] fonts, int[] foregroundColors,
            int[] backgroundColors) {
            editField.setText(text, offsets, attributes, fonts, foregroundColors,
                backgroundColors);
    }

}

Ma$TeR
Please use plain text.
Contributor
sprintagal
Posts: 30
Registered: ‎02-16-2010
My Device: 9630
My Carrier: Me

Re: class calling problem?

The file selector popupscreen article provided by blackberry will help familiarize you....

 

http://supportforums.blackberry.com/t5/Java-Development/Create-a-file-selection-popup-screen/ta-p/44...

Please use plain text.