Probleme mit einem Textfeld...Wert übernehmen

Trash

Erfahrenes Mitglied
Hallo,
ich habe folgenden Programmcode. Auf der linken Seite befindet sich ein TreeViewer, welcher nach Eingabe in ein Textfeld und nach dem drücken auf den Button aktualisiert werden soll. Das funktioniert auch soweit, jedoch übernimmt er nie den Text, den ich eingebe..sondern erzeugt leere elemente. Was mache ich falsch ?

Code:
	public static Tree single;
	public static String inhalt;

  // Runs the application

  public void run() {
    Display display = new Display();
    Shell shell = new Shell(display);
    shell.setText("ToDo List");
    createContents(shell);
    shell.open();

    while (!shell.isDisposed()) {
      if (!display.readAndDispatch()) {
        display.sleep();
      }
    }
    display.dispose();
  }



  private void createContents(Composite composite) {

    composite.setLayout(new GridLayout(1, true));
    Composite top = new Composite(composite, SWT.NONE);
    GridData data = new GridData(GridData.FILL_BOTH);
    top.setLayoutData(data);
    
    top.setLayout(new GridLayout(2, true));
    single = new Tree(top, SWT.SINGLE | SWT.BORDER);
    Text text = new Text(top, SWT.SINGLE);
    Button save = new Button(top,SWT.PUSH);
    save.setText("Speichern");

    inhalt = text.getText();

    save.addSelectionListener(new SelectionAdapter() {
		public void widgetSelected(SelectionEvent e) {
		addToTree(single, inhalt);
		}
    });

    data = new GridData(GridData.FILL_BOTH);
    single.setLayoutData(data);

  }

 
  public void addToTree(Tree tree, String inhalt){
	  tree.setRedraw(false);
	  TreeItem item = new TreeItem(tree, SWT.NONE);
	  item.setText(inhalt);
	  tree.setRedraw(true);
	  
  }
 
Das Feld inhalt wird nur einmal gesetzt und zwar bei der Initialisierung wenn text noch gar nichts enthält. Mache doch text zu einem Feld und lies immer in widgetSelected mit text.getText() den Inhalt aus und erstelle dann das TreeItem damit. Du hast bisher immer einen leeren Text übergeben.

Mit Debugging kommt man da ganz schnell drauf ;)
 
Zurück