Home-Produkte-Testarea-Kontakt-Datenschutz-Aktualisiert: 31-Oct-2008
< Voriger Tag   Nächster Tag >

Freitag, 31. Oktober 2008

Groovy: Modell und GUI mit @Bindable verbinden ab Groovy 1.6

Ab Version 1.6 unterstützt die Programmiersprache Groovy (Java) die @Bindable-Annotation mit deren Hilfe sich leicht das Datenmodell an GUI-Elemente binden lässt.

import groovy.swing.SwingBuilder
import groovy.beans.Bindable

class PersonModel {
    @Bindable String name
}

def personModel = new PersonModel()

SwingBuilder.build {
    frame(title: '@Bindable PersonModel',
          show : true,
          size : [400, 60],
          locationRelativeTo   : null,
          defaultCloseOperation: javax.swing.WindowConstants.EXIT_ON_CLOSE) {
       
        gridLayout(cols: 1, rows: 2)

        textField(id: 'inputName')
        bind(source: inputName,   sourceProperty: 'text',
             target: personModel, targetProperty: 'name')

        label(text: bind{personModel.name})
    } // Frame
} // SwingBuilder

Das ganze basiert intern auf den PropertyChangeListener von Java. Eine Beschreibung der Funktionsweise gibt es von Danno Ferrin in "@Bindable - Observable Properties for Groovy". Eine Beschreibung der verschiedenen Binding-Modelle von Andres Almiray in "SwingBuilder's binding revisited" und "Taking SwingBuilder's binding for a spin".

[Direktlink]

< Voriger Tag   Nächster Tag >

  RSS V0.91

<Oktober 2008 >
  0102030405
06070809101112
13141516171819
20212223242526
2728293031  

Home-Produkte-Testarea-Kontakt-Datenschutz-Aktualisiert: 31-Oct-2008
(C) 2000-2018 by Sven Drieling