Question of the screen of the user interface

Hello guys '

I draw the screen for my application. This screen has LabelField, BasicEditField and RichEditField.

You can see on the image which screen I want to draw.

Constant stable position in these fields. I don't know how to scroll through RichTextField.

If you have an idea, please help me.

Good day. TNX all

Take a look at the BlackBerry Developer journal article below.  It shows how to create a custom behavior field you are looking for.

http://NA.BlackBerry.com/eng/developers/resources/journals/jul_2005/creating_textbox_field.jsp

Tags: BlackBerry Developers

Similar Questions

  • question about the user interface for toolbar in 5.0.0

    We use the BlackBerry JDE 5.0.0 to develop an app for the storm.  There are a bunch of net.rim.api.device.ui.toolbar, but is not part of the documentation of the api.  Anyone know if it is officially available for development?  We noticed a problem with that because some methods require a StringProvider class that doesn't seem to be available.

    Thank you.

    It was not officially released. I wish it was but the biggest way they prevent you from using it is to ask you to use the StringProvider class. I messed around with it for awhile, but as it is not official functionality may vary.

  • How to upgrade to the user interface of a screen that is extracted from the stack?

    Hello

    I am currently having a problem in the UI update.

    I have two screens called 'OverviewScreen' & 'DetailScreen' and in the upper part of the two screens, I have three buttons

    (i) back

    (II) next

    (III) charging

    In the entry of the app normally I posted the 'OverviewScreen' and in this screen, back, next buttons are inactive positions (just to have two sets of images, one active and one for idle) and if the user clicks on an item that is displayed in the cell, then I'll navigate the user to the "DetailScreen".

    Now the stack should have two screens,

    at the bottom - "OverviewScreen".

    at the top - "DetailScreen".

    and in the "DetailScreen" - I showed the image is active for the "back" button (because the screen is lower in the stack) and for the next inactive button image.

    Now if the user clicks the back button I navigates to the "OverviewScreen" which is called the UiApplication.getUiApplication (.getActiveScreen) (m:System.NET.Sockets.Socket.close ()); in the case of touch

    Now the "OverviewScreen" located in the bottom of the stack to the front UI (basically when I built it for the first time, it contains inactive images next and back) - what I want here is I need to show the following active image therefore needs to update the user interface of the screen that displays battery

    Because,

    OverviewScreen (back, next inactive images)--> DetailScreen (back - active, next - inactive)--> new OverviewScreen (should show the back - off, next - active)

    For this, I tried with what follows, but none works,

    If (event.getEvent () == TouchEvent.CLICK) {}
    UiApplication.getUiApplication () .getActiveScreen () .getScreenBelow () .updateDisplay ();
    UiApplication.getUiApplication () .getActiveScreen () m:System.NET.Sockets.Socket.close ();
    Returns true;
    }

    I even tried with invalidate() and dopaint() but none works

    However, I realized the functionality if I press the off button in the "OverviewScreen" he navigated me to the "DetailScreen", juice wants to show the icon active next button?

    What should I do to repaint or update the user interface of the screen here?

    Thanks in advance,

    Kitty.

    Found a solution

    Override the method which is found in the net.rim.device.api.ui.container.MainScreen and in this method, I have changed the image for the button and this method is called in the current active screen using getActiveScreen () .getScreenBelow)

  • Background image on the User Interface

    I'm trying to place a background behind my screen of the application image. So instead of the usual white, there would be a "background.png". I am following this thread with the blackberry API set

    http://supportforums.BlackBerry.com/T5/Java-development/drawing-bitmap-in-mainScreen-background/m-p/...

    So far, I tried to apply it within my own application, with the code to start as follows:

    final class UserInterfaceScreen extends MainScreen {
        HorizontalFieldManager _fieldManagerTop;
        VerticalFieldManager _fieldManagerMiddle;
        HorizontalFieldManager _fieldManagerBottom;
        BitmapField _bitmap;
        Bitmap _canadaImage, _ukImage, _usImage, _backgroundBitmap, _fieldBitmap;
        LabelField _label;
        BasicEditField _input;
        String _canadaCapital, _ukCapital, _usCapital, _capital;
        int displayed = 0;
    
        public UserInterfaceScreen() {
            super();
            LabelField title = new LabelField("User Interface Sample",
                    LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH);
            setTitle(title);
    
            HorizontalFieldManager _horizontalFieldManager = new HorizontalFieldManager(HorizontalFieldManager.USE_ALL_WIDTH | HorizontalFieldManager.USE_ALL_HEIGHT){
    
                //Override the paint method to draw the background image.
                public void paint(Graphics graphics)
                {
                    //Draw the background image and then call paint.
                    graphics.drawBitmap(0, 0, 640, 900, _backgroundBitmap, 0, 0); //240
                    super.paint(graphics);
                }            
    
            };
            _backgroundBitmap = Bitmap.getBitmapResource("background.png");
            _fieldManagerTop = new HorizontalFieldManager();
            _fieldManagerMiddle = new VerticalFieldManager();
            _fieldManagerBottom = new HorizontalFieldManager();
    
                add(_horizontalFieldManager);
                add(_fieldManagerTop);
                add(new SeparatorField());
                add(_fieldManagerMiddle);
                add(new SeparatorField());
                add(_fieldManagerBottom);
    

    Basically, I'm trying to combine the thread above with the user interface tutorial.

    http://supportforums.BlackBerry.com/T5/Java-development/user-interface/Ta-p/442781

    The question is when I run the code, I just get the background image, none of the other content is displayed in the foreground. I am this approach correctly?

    I'm not sure the solution you received one will work - it may well do, but the approach is different from what I do.  I based my image of background processing around comments in this article:

    http://supportforums.BlackBerry.com/T5/Java-development/MainScreen-explained/Ta-p/606644

    But if you look at what you said your screen, you will see why you don't see all your real fields.

    The first thing that you add to your screen is as follows:

    HorizontalFieldManager _horizontalFieldManager = HorizontalFieldManager(HorizontalFieldManager.USE_ALL_WIDTH | nouveau HorizontalFieldManager.USE_ALL_HEIGHT) {}

    You said this Manager to use the full height and width.  Then what place is left for any other Manager/field.

    You only add this option to provide abackground.  So actually, to do this, you must you add all your fields and managers in this HFM.  Otherwise that will expose after this one (which, as noted way they have no space to display in). I think you'll see something, if you replace this:

    Add (_horizontalFieldManager);
    Add (_fieldManagerTop);
    Add (new SeparatorField());
    Add (_fieldManagerMiddle);
    Add (new SeparatorField());
    Add (_fieldManagerBottom);

    with

    Add (_horizontalFieldManager);
    _horizontalFieldManager.Add (_fieldManagerTop);
    _horizontalFieldManager.Add (new SeparatorField());
    _horizontalFieldManager.Add (_fieldManagerMiddle);
    _horizontalFieldManager.Add (new SeparatorField());
    _horizontalFieldManager.Add (_fieldManagerBottom);

    But it probably won't be good, so you should follow the advice given in the previous Post or see the KB article.

  • to access the QML attached objects in C++ and best practices for the handling of the user interface in classes

    Hello

    I have in fact 2 queries

    (1) how can we access attachedobjects defined in QML in C++?

    (2) I'm loving development on Blackberry 10 C++ is one of my favorites. But I'm a bit lost when it comes to managing the user interface in classes. For example when we create the project through momentics we have a class called ApplicationUI. It manages all the (default) user interface commands, we in C++. as for example creating the document qml and setting as root user interface, etc. I am now working on an app that have NavigationPane as root, and then I continue to push pages (like the screens). But now the code for all pages is inside my ApplicationUI. What is the best practice to keep the UI for each page logic in a separte C++ class?

    I also develop for Android that a separate class for each activity, this code does not mingle for each activity. Please guide me how can I keep logic of user interface of each Page into a separate class of C++?

    regarding your second question:
    I think this is the simplest approach to keep all things in the UI in QML. You can easily put things into separate files.

    If you want to use c ++ to the user interface: can be done, too. just put it in separate classes and include those in your application class.

  • Is it possible to resize the text and icons in the user interface?

    I'm on a Windows 10, 15.6 screen laptop "4 k. The menu bar along the top is sized very well, most of the time. However, all the icons and the text to actually work on fuse are too small for me to look at and click on without having a fight.

    Are there ways to manipulate the proportions of the UI? Thank you!

    Hi Brandon!  Great question!  Unfortunately for the insight we have not a scalable user interface, but it's certainly something that we will keep in mind for future releases.  Now this is resolution dependent so you need reduce the resolution setting (we've only really tested until about 2 k ~ monitors).  The user interface is pretty basic at the moment, but there are a few changes, you can do it.  Here is a link to the user guide on the user interface customizations for details - but you can change the position of the toolbars by clicking the separation Strip and you can change the width of the canvas/editor fracture by dragging on the edge of the editor Panel.

  • Change the colors of the images between monitors while the user interface remains the same

    Hey! Im having a problem where photoshop change colors when I move the window between my monitors, see here: http://sta.sh/04y5s60vf3j is not due to the monitors themselves being different, it does actually change after a few seconds to move inbetween the monitors. The left was callibrated with an elite group of spyder 3 I do not have access to. I applied the file with windows instead of the utility of spyder color management. The second is new, and it is not callibrated by what that is, but instead was done by hand with integrated RGB brightness/contrast/custom settings. Two of them are very close to eachother, so enough for my taste. but when photoshop changes which looks like the image, it is causing problems. Curiously, when I disable calibration of the screen on the left, the image doesn't change color between monitors, but instead always appears as it does on the right. but then they do not match to the top and all the screen looked washed out because it's uncallibrated, so that won't do me any good. Something else interesting to report, is when this image is saved as a. JPG and read with firefox, the image appears exactly as the monitor on the LEFT (which is my primary monitor) despite the monitor left which is the force has changed. does anyone have any suggestions? It also appears that photoviewer windows behaves in the same way, although firefox does not work. Meaning when I open an image in all 3 on the left monitor, they look alike, but when opened on the right monitor, windows photo viewer and photoshop both display the image such as the brighter and redder that firefox works. It's frustrating, because it seems that photoshop changes the image with my measured on my monitor left to match what it looks like on the web, it does. but it does not for the monitor right, or the left is uncallibrated. Another question, I can see with this is even if the user interface is the same shade of gray, the images are different between the monitors because of this change. Does anyone have suggestions?

    -BD

    What you need to understand, is that Photoshop converts the image data, the document profile for the display profile, independently for each display. It is a managed pipeline standard color display. Windows Photo Viewer does the same thing (but do not have a lot of other applications).

    When you move a picture on the screens, it snaps when you drop; as the new display profile is picked up.

    Calibration is only partly about changing the monitor's response. The second part a profile, which is a complete description of the screen in its calibrated State. Then a conversion of standard profile is performed as he goes to the screen. The profile has a much higher level of accuracy than the single calibration.

    ---

    If the image on the web has the stripped document profile, Firefox with default settings does not have this conversion and sends just the unchanged data to display. In other words, it is not color managed. This behavior can be changed, but get your first straight base display profiles. Unless you get a new calibrator it is no that you can do to match these two views.

  • Offset of the user interface after update of El Capitan

    Hello. Since I upgraded my Macbook Pro late 2013 to El Capitan retina, I've known GAL of the user in function, mainly opening animation of safari and switching between desktop computers. These issues are only to make my user base, I created a test user and concluded that the test user was not the offset of the user interface. I have reinstalled the operating system, as well as talked to apple. Apple had me reset the Pram so that delete files, including:

    / Library/LaunchAgents

    ~/Library/LibraryAgents

    / Library/LaunchDaemons

    / Library/Caches

    ~/Library/caches

    and many other files like these.

    None of that helped, my UI lag is still there and fine. Also, I'm not sure if this is relevant; However, my recovery HD (available from start by pressing the alt/option key) is not an option. I'm not sure if the files I deleted with apple support caused it or reinstalling the operating system has done this. IM thinking delete files because I reinstalled the operating system using the HD recovery.

    Does anyone know how to fix the lag in the UI? I know other people have this problem, google search and this forum but no clear answer has not developed.

    Thank you

    Caulin Bloom

    Please launch the Console application in one of the following ways:

    ☞ Enter the first letters of his name in a Spotlight search. Select from the results (it should be at the top).

    ☞ In the Finder, select go utilities ▹ of menu bar or press the combination of keys shift-command-U. The application is in the folder that opens.

    ☞ Open LaunchPad and start typing the name.

    The title of the Console window should be all Messages. If it isn't, select

    SYSTEM LOG QUERIES ▹ all Messages

    in the list of logs on the left. If you don't see this list, select

    List of newspapers seen ▹ display

    in the menu at the top of the screen bar.

    Click on the clear view icon in the toolbar. Then take an action that does not work the way you expect. Select all of the lines that appear in the Console window. Copy to the Clipboard by pressing Control-C key combination. Paste into a reply to this message by pressing command + V.

    The journal contains a large amount of information, almost everything that is not relevant to solve a particular problem. When you post a journal excerpt, be selective. A few dozen lines are almost always more than enough.

    Please don't dump blindly thousands of lines in the journal in this discussion.

    Please do not post screenshots of log messages - text poster.

    Some private information, such as your name or e-mail address, can appear in the log. Anonymize before posting.

    When you post the journal excerpt, an error message may appear on the web page: "you include content in your post that is not allowed", or "the message contains invalid characters." It's a bug in the forum software. Thanks for posting the text on Pastebin, then post here a link to the page you created.

    If you have an account on Pastebin, please do not select private in exposure menu to paste on the page, because no one else that you will be able to see it.

  • WIN8 registers touch but no reaction from the user interface?

    Anyone having problems with Win8 button when your fingers are clearly registered (Windows gives this feedback from the spherical ripple effect) but the user interface under your finger does nothing? No not the button and so on.

    I live it with some Chrome for example, with the small button tab when it is near the top edge of the screen.

    If I drag the window to the center of the screen, I have no problem with getting keys recorded. Hit the button new little tab gives no trouble.

    When user interface elements are close to the edge, no reaction, even if the wave indicator appears.

    Cannot know if it is a driver or a HW problem. I use X220T.

    Example screenshot

    May be a problem with Chrome, in fact. Tried with Firefox and the new tab button is a lot easier to hit. ---> will give Chrome devs a hint

    EDIT: what you know! The new beta version has already dealt with this issue:

    https://www.Google.com/chrome/browser/beta.html

  • Slow response from the user interface with acquisition of data of type long time

    Hi all

    I have a question to ask more out of curiosity than necessity right now. I've built a program that acquires data from the accelerometer and the Treaty in a number of ways: filtering, FFT, FRFS, things like that, but the answer of the UI is still slow, because I need a resolution of frequency of 0.2 Hz for my data domain, which means that the sample acquisition time is 5s and all this awaits before execution.

    My question is this: is there a way to completely isolate the user interface of data acquisition so that it responds immediately?

    I tried a design model of producer consumer with queues, but found everything to be always waiting for samples to be taken. Maybe it was exactly as I did.

    Thank you

    Phil

    If you need to sample for 5 seconds in order to have enough data to analyze, so unless you can "predict the future" and "knowing" the five seconds of data, simply wait for the data that arrives.  Using parallel loops of producer-consumer will allow data acquisition to proceed (for the next 5 seconds of data) while you do the analysis, but you still have to wait for the data to be analyzed.

    Note that the previous paragraph assumes you are collecting data in 5 seconds 'chunks' and analyze each "chunk" (independent) on arrival.  You could also do something like having a "second 5 sliding window" which moves, say, a second at a time, giving your FFT a finer resolution of 'time' (at the expense of their independence).  This would be a (slight) change in your loop of producer (you want to taste in 1 second pieces, accumulate 5 these pieces) and the consumption loop (start analyzing, spewing a FFT every second, while replacing the older "chunk" with the most recent - a queue with loss can do for you).

    Bob Schor

  • Generation of the user interface of function error

    Hello

    just one tiny problem: on a Panel, I have a progress bar. Now, if I go to the user interface to use in the user interface editor, the UI must be saved, compiled and linked and results in some errors, see below. Not a real question that I can test all events/ToolTips in the user interface editor, but mistakes are always a little unnerving .

    Hi Wolfgang,.

    This is a bug confirmed in 2013: #424745.

    It is expected that the code for the custom control must be compiled and linked (unregistered, however). However, the link must succeed, and you should be able to interact with the custom controls everything in operation. This was the behavior in 2012. Certainly, it is not a good way to interact with a progress bar in the user interface editor. But for other custom controls (control password, for example) it makes more sense.

  • Speech recognition does not match the language of the User Interface in Windows 8.1

    How can I update my speech reconition language that matches my user interface language? Thank you

    Hello

    Thanks for posting your question on the Microsoft Community.

    I apologize for the inconvenience caused to you.

    I understand that the problem with speech recognition does not correspond with the user interface in Windows 8.1

    This issue would have occurred due to some damaged system registry entries.

    Please provide me with the following information to better understand the issue.

    1. What language is speech recognition uses in the system?

    2. What is the base language that is installed in the system?

    Note: Speech recognition is available in the following languages: English (United States & United Kingdom), French, German, Japanese, Mandarin (Chinese simplified and Chinese traditional) and Spanish.

    You can also check out the link below.

    How to use speech recognition

    http://Windows.Microsoft.com/en-us/Windows-8/using-speech-recognition

    Please provide the information above to help you best.

    Thank you.

  • The user interface of logon C:\windwos\system32\msgina.dll DLL could not load or restart the original DLL. Restart

    I created a ghost of a 32-bit 2003 server image and tried to restore the image on the same server of model\type. I got an error message with the following.

    The user interface of logon C:\windwos\system32\msgina.dll DLL could not load or restart the original DLL. Turn it back on.

    Tried to fix the server with the operating system and can not find the disk driver. I found the driver load it on a floppy disk, f6 entry, insert the diskette. I have a message with the following text.

    Type EXIT to exit the consul of recovery and restart the computer.

    1 C:\Windows

    which windows installation would you like to log on

    (to cancel, press enter)?

    Hi MichelZelensky,

    The question you posted would be better suited in the Windows Server Forums. I would recommend posting your query in the TechNet Forums (Windows Server).

    TechNet Forum

    http://social.technet.Microsoft.com/forums/en-us/category/WindowsServer

    I hope this helps.

  • Feedback from the user interface

    In the Simulator (090), when the user selects the gear (top right) to display a list of parameters to select, the bar of the background and button scrolls down.  However, it is not intuitive how to return to the "main" screen  Still, the down arrow in the main screen button bar pointing downwards and is grayed out.  There seems to be a second "up" button placed in the Center, but it is masked by the "Media" button  Suggest that it is more obvious to select and restore.  Suggest you hide the button bar, make the less gray background and make the arrow more obvious upward so that the user knows that they can select the area to restore.

    Don't forget, this is still in phase beta/Simulator, I am sure that the final design of the user interface will be better/more intuitive.

  • finish by updating the user interface...

    IM create screen with pagination... Load button to add more data, it is normal on os 6 and 7 os... but in the os 5 process completed... I haved create to update the user interface of the thread to invoke later...
    This is my code to call later:

    UiApplication.getUiApplication().invokeLater(
                                    new Runnable() {
                                        public void run() {
                                            // delete(hfmLoad);
                                            for (int i = 0; i < comp.length(); i++) {
                                                lowerScreen.add(list[i]);
                                                HorizontalFieldManager hfmBut = new HorizontalFieldManager(
                                                        Field.FIELD_RIGHT);
                                                hfmBut.setMargin(0, 5, 0, 0);
    
                                                hfmBut.add(but1[i]);
                                                lowerScreen.add(hfmBut);
    
                                                spasi = new SeparatorField() {
                                                    protected void paint(Graphics g) {
                                                        g.setColor(Color.GRAY);
                                                        int currentStipple = g
                                                                .getStipple();
    
                                                        try {
                                                            g
                                                                    .setStipple(0xAAAAAAAA); // Dotted
    
                                                            super.paint(g);
    
                                                        } finally {
    
                                                            g
                                                                    .setStipple(currentStipple);
                                                        }
                                                    }
                                                };
                                                spasi.setMargin(0, 5, 5, 5);
                                                lowerScreen.add(spasi);
                                                invalidate();
                                                //lowerScreen.add(new LabelField("Semangat",Field.FOCUSABLE));
                                            }
    
                                            hfmLoad
                                            .replace(_ourAnimation2, loadBut);
                                            invalidate();
    
                                        }
    

    any solution?

    None of the invalidate() method calls are needed in this code.

    For efficiency rather than to add the field individually, I recommend that you use the addAll method.  In your loop, create an array of fields to add, and then use addAll to add table.

    If you do these two things I think that your problem will be solved.

    But if not, can you please tell us exactly what are the messages you see when the process is complete.

  • Need help with this code to update the user interface example

    I'm triying to understand the differences between the three methods to manage UI interactions.
    I'm really confused with these three terms when triying them figure out in a real case.
    Basically, I know that I should use invokeLater, invokeAndWat, or getEventLock() to avoid
    This exception: java.lang.illegalStateException: engine access UI without holding the lock on the event

    The code below illustrates the function of the invokeAndWait method, but if I replace it with
    invokeLater or getEventLock() the program will work exactly the same way.
    Could you please change the code to show the differences between the three
    methods of updating the user interface?

    / public final class HelloWorldMainScreen extends form {}

    private LabelField labelField;
    public HelloWorldMainScreen() {}
    labelField = new LabelField ("Hello World");
    Add (labelField);
    Thread MainScreenUpdaterThread = new MainScreenUpdaterThread (this);
    thread. Start();
    }

    {} public void appendLabelText (String text)
    labelField.setText(labelField.getText()+"\n"+text);
    }

    }

    SerializableAttribute public class MainScreenUpdaterThread extends Thread {}
    HelloWorldMainScreen screen;

    public MainScreenUpdaterThread (screen HelloWorldMainScreen) {}
    this.mainScreen = screen;
    }

    public void run() {}
    for (int i = 0; i)< 10;="" i++)="">
    try {}
    Thread.Sleep (5000);
    } catch (InterruptedException ex) {};
    UiApplication.getUiApplication () .invokeAndWait (new Runnable() {}
    public void run() {}
    mainScreen.appendLabelText ("Update");
    }
    });

    }
    }
    }

    These three concepts are very confusing for a lot from people so all explanatory source code
    describing their functions will be highly useful for everyone, I think.

    Thanks in advance!

    With respect to the effect, there is no difference between methods.  The difference is the way in which the result is achieved.  So we can't change the code to show you the difference.

    As we are unable to demonstrate the difference, you have to do with an explanation.  To understand the explanation, you'll need to understand the thread of events, so if you have not already, please consider this:

    http://supportforums.BlackBerry.com/T5/Java-development/what-is-the-event-thread/Ta-p/446865

    If the three options are differentiated by the processing order:

    (a) invokeLater executes the update on the thread of events.  The transformation takes place at a later stage and the code which is in order after the invokeLater will actually run before the code within the invokeLater.

    (b) invokeAndWait also manages the update on the thread of events, which means that all other events that await on the thread of events will be run before this code.  But any code after the invokeAndWait will not be executed.

    (c) the synchronized option, like invokeAndWait, runs the update of the UI before moving on to the following code.  The difference is that the code to run on the event Thread is not executed before code in the synchronized block.

    If this is meaningless, so that probably does not matter too much.  in general, you should use invokeLater, except if you need to update the user interface occur in the order with your background processing.  If so, use invokeAndWait. It has synced are very few occasions where you must use the block, and it should be very small updates to the user interface and you should understand the implications this could have on the wire events.

Maybe you are looking for