Hallo
Ich möchte Euch die 2 folgenden useCases mal demonstrieren:
Fall 1 : ListItem ist ausgewählt, dann wird Enter gedrückt.
- Das Textfeld enthält wie erwartet den in der Liste ausgewählten Text
- Das ListItem wird wie erwartet deselectiert.
Fall 2(PROBLEMFALL) : ListItem ist ausgewählt(0-tes Item), dann wird die "Pfeiltaste nach oben" gedrückt.
- Das Textfeld enthält wie erwartet den in der Liste ausgewählten Text
- Das ListItem wird NICHT! wie erwartet deselectiert. <--- PROBLEM
--> Wo könnte hier das Problem liegen?
Bin schon Tage lage damit beschäftigt und kommt irgendwie nicht weiter.
Bis für jeden Tipp dankbar
Gruß
	
	
	
	
	
		
	
			
			Ich möchte Euch die 2 folgenden useCases mal demonstrieren:
Fall 1 : ListItem ist ausgewählt, dann wird Enter gedrückt.
- Das Textfeld enthält wie erwartet den in der Liste ausgewählten Text
- Das ListItem wird wie erwartet deselectiert.
Fall 2(PROBLEMFALL) : ListItem ist ausgewählt(0-tes Item), dann wird die "Pfeiltaste nach oben" gedrückt.
- Das Textfeld enthält wie erwartet den in der Liste ausgewählten Text
- Das ListItem wird NICHT! wie erwartet deselectiert. <--- PROBLEM
--> Wo könnte hier das Problem liegen?
Bin schon Tage lage damit beschäftigt und kommt irgendwie nicht weiter.
Bis für jeden Tipp dankbar
Gruß
		Java:
	
	import org.eclipse.swt.SWT;
import org.eclipse.swt.events.KeyEvent;
import org.eclipse.swt.events.KeyListener;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
public class TestList {
    private Shell myShell = null;
    private List myList = null;
    private Text myText = null;
    private Button myButton = null;
    public static void main(String[] args) {
        Display display = Display.getDefault();
        TestList thisClass = new TestList();
        thisClass.createSShell();
        thisClass.myShell.open();
        while (!thisClass.myShell.isDisposed()) {
            if (!display.readAndDispatch()) {
                display.sleep();
            } // end if
        } // end while
        display.dispose();
    } // end main()
    private void createSShell() {
        myShell = new Shell();
        myShell.setText("Shell");
        myShell.setSize(new Point(263, 193));
        myList = new List(myShell, SWT.NONE);
        myList.setSize(new Point(190, 82));
        myList.setLocation(new Point(5, 31));
        String[] myStrings = new String[5];
        for (int i = 0; i < myStrings.length; i++) {
            myStrings[i] = "hallo " + i;
        } // end for
        myList.setItems(myStrings);
        myList.addKeyListener(new KeyListener() {
                @Override
                public void keyReleased(KeyEvent arg0) {
                } // end keyReleased()
                @Override
                public void keyPressed(KeyEvent keyEvent) {
                    if (keyEvent.keyCode == SWT.CR) {
                        if (myList.getSelectionIndex() > -1) {
                            myText.setText(myList.getItem(myList.getSelectionIndex()));
                            myList.deselectAll();
                            myText.setFocus();
                        } // end if
                    } // end if
                    if (keyEvent.keyCode == SWT.ARROW_UP) {
                        if (myList.getSelectionIndex() == 0) {
                            myText.setText(myList.getItem(0));
                            myList.deselectAll();
                            myText.setFocus();
                        } // end if
                    } // end if
                } // end keyPressed()
            } // end new
        );
        myText = new Text(myShell, SWT.BORDER);
        myText.setBounds(new Rectangle(6, 7, 190, 19));
        myButton = new Button(myShell, SWT.NONE);
        myButton.setBounds(new Rectangle(78, 122, 115, 23));
        myButton.setText("drück mich");
    } // end createSShell()
} // end TestList