[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [platform-swt-dev] cannot append text in infinite loop
|
Hi,
User questions should be asked at the eclipse.platform.swt newsgroup.
The problem you are most likely facing is that you need to sync-back all
UI-Calls from your Thread using Display#async/syncExec.
Tom
pravin.dhake schrieb:
> Hello,
>
> I am new to swt and have been working on application which gathers string
> from a jni call froma serial port and displays it on a text widget. the code
> is attached below
>
> Display display = new Display();
> final Shell shell = new Shell(display,SWT.RESIZE);
> shell.setSize(320, 240);
> shell.setLayout(null);
> Font font1 = new Font(display, "UTF-8", 5, SWT.NORMAL);
> final Text text = new Text(shell,SWT.MULTI|SWT.WRAP|SWT.V_SCROLL);
> text.setBounds(new Rectangle(3, 8, 308, 201));
> text.setEditable(false);
> text.setFont (font1);
> text.append ("tags \n");//the text widget is able to display this
>
>
>
> while (true) {
>
> wait();
> if (i==1) // the code waits in infinite loop polling for the flag to be set
> high
> {
>
> System.out.print(s);
> /*s is the string which gets updated . this command does print out the
> string on console every time without any problem*/
> System.out.println("\n");
> text.append(s + "\n");
> shell.pack();
> shell.open();
> shell.layout(true);
> i=0;
>
> }
>
> }
>
> The above code runs as a thread. The first time the flag is set i can see
> the string displayed on screen teh first time. but subsequent updates of the
> string fail. I am not sure if teh display hangs up after that. can anyone
> tell me where i am going wrong