Swing Data Bindings

Landei

Top Contributor
Was gibt es bei Swing für Alternativen für Data Binding? Ich möchte eine kleine, unabhängige Bibliothek basierend auf Annotations (also nicht, dass ich JBoss oder so mitschleppen muss). Das Ding soll einfach gestrickt sein, also eine normale Swing-GUI, in die sich der Rest irgendwie "einklinken" kann, etwa so:

Java:
public class TestGUI {
    
    public JFrame frame;
    public JButton button = new JButton("Test!");
    public JTextField textField = new JTextField(20);
    
    public TestGUI() {
        frame = new JFrame("TestGUI");
        frame.setSize(100,100);
        frame.add(button);
        frame.add(textField, java.awt.BorderLayout.NORTH);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }
}


public class TestClient {
    
   @Binding(gui = TestGUI.class, field="button")
   public void click() {
       System.out.println("Click");
   }

   @Binding(gui = TestGUI.class, field="textField")
   public void text(String newText) {
       System.out.println("Text: " + newText);
   }
  
}

Sowas sollte es doch schon geben, oder?
 

Landei

Top Contributor
Dem Beitrag nach hörst sich das nach Property Binding an. Wenn ich mir den Code so anschaue denke ich da eher an Event Handling bzw. Listener.
Das war einfacher zu implementieren :) Aber ich hätte gern beides.

Für Ersteres kenne ich da yasbinding: https://yasbinding.dev.java.net/ (jedoch ohne Annotations).
Interessant, werde ich mir näher anschauen

Solltest du wirklich nur zu faul sein Listener zu implementieren kannst du auch SwixML benutzen:
SWIXML - Generate javax.swing at runtime based on XML descriptors

Listener kann ich schon ersetzen, wenn ich will: swirrel - Project Hosting on Google Code
Was mich daran stört ist, dass mein damaliger Entwurf natürlich alles eng miteinander koppelt.


SirWayne hat gesagt.:
Ohne Annotations wie bei ähnlich wie bei JFace

Mit SWT kenn ich mich nicht aus.


Auf jeden Fall sind das schonmal sehr interessante Anregungen...
 

Ähnliche Java Themen


Oben