Binding eines EntityBean als SelectionInList in ComboBox

Status
Nicht offen für weitere Antworten.

chrs

Mitglied
Hallo,

ich habe folgendes Problem und zwar möchte ich in meinem Projekt die Auswahl einer Kraftstoffart für ein Auto anbieten, der Krafstoff und das Autos sind jeweils Entity Beans, wie binde ich nun die ComboBox so an das Auto das ich bei entsprechender Auswahl den Fueltype angestöpselt bekomme?

Ich benutze das JGoodies Binding Framework

Eine kleine Komposition die vielleicht näher erläutert:

problemsl9.png


Die normalen Bindings klappen selbstverständlich alle wunderbar, mir fehlt einfach die zündende Idee.


Vielen Dank im vorraus

Chris
 

kleiner_held

Top Contributor
Ich habe sowas mit Hibernate folgendermaßen gelöst:
Code:
Car car;
List<Fueltype> types;
JComboBox comboBox; 
BeanAdapter<Car> adapter = new BeanAdapter<Car> (car, true);
Bindings.bind(comboBox, new SelectionInList<Character> (types, adapter.getValueModel("fueltype")));
comboBox.setRenderer(new DefaultListCellRenderer()
        {
            @Override
            public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus)
            {
                return super.getListCellRendererComponent(list, value == null ? null : ((Fueltype) value).getTitle(), index, isSelected, cellHasFocus);
            } 
        });

Mit Entity Beans sollte es genauso gehen.
 

chrs

Mitglied
Ein Problem hab ich nun doch noch, ich ändere ein TextField Inhalt per setText(), wenn ich das tue bekommt aber das Binding davon garnichts mit, tippe ich die Änderung ins Textfeld klappt es, gibt es eine Möglichkeit den Adapter per Hand zu aktualisieren?
 

kleiner_held

Top Contributor
Eigentlich sollte auch JTextfeld.setText() automatisch funktionieren.
Bist du dir sicher, dass das Binding richtig ausgefuehrt wurde?

Beispiel:
Code:
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextField;

import com.jgoodies.binding.adapter.Bindings;
import com.jgoodies.binding.beans.BeanAdapter;
import com.jgoodies.binding.beans.Model;

public class Test
{
    public static void main(String[] args)
    {
        JFrame frame = new JFrame();
        final JTextField textField = new JTextField(20);
        JButton button = new JButton(new AbstractAction("Add Suffix")
        {
            public void actionPerformed(ActionEvent e)
            {
                textField.setText(textField.getText() + " Suffix");
            } 
        });
        frame.getContentPane().add(textField, BorderLayout.NORTH);
        frame.getContentPane().add(button, BorderLayout.SOUTH);
        Car car = new Car();
        BeanAdapter<Car> adapter = new BeanAdapter<Car> (car, true);   // Adapter erzeugen
        Bindings.bind(textField, adapter.getValueModel("name"));  // Property ans JTextField binden
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    }
    
    public static class Car extends Model
    {
        String name = "Name";

        public String getName()
        {
            return name;
        }

        public void setName(String name)
        {
            String oldValue = this.name;
            this.name = name;
            System.out.println("Changed name to: "+name); // Debugausgabe
            firePropertyChange("name", oldValue, name);
        }
    }
}
 

chrs

Mitglied
Ich mach es anders, bei deiner Variante weiß ich nicht wie ich ein getriggertes Model bekomme, sehe da aber leider irgendwie keinen Fehler. Vielen Dank

Code:
// model ist hier das presentation model von meiner view, welcher das model für das databinding hält
ValueModel valueModel = model.getPresentation().getBufferedModel(Car.TITLE);
JTextField textField = BasicComponentFactory.createTextField(valueModel);

getPresentation()
Code:
/** Präsentations Model */
protected PresentationModel<Persistable> presentation;

...

public PresentationModel<Persistable> getPresentation() {
	return this.presentation;
}


Car:
Code:
@Entity
@Table(name = "car")
public class Car extends Model implements Persistable {

	private static final long serialVersionUID = 6365527671160009013L;

	public static final String TITLE = "title";
	private String title;

       [...]

	/** Default Constructor */
	public Car() {
		super();
	}

	public String getTitle() {
		return this.title;
	}

	public void setTitle(String title) {
		this.firePropertyChange(TITLE, this.title, title);
		this.title = title;
	}

        [...]
}
[/code]
 

kleiner_held

Top Contributor
Ich glaube der Fehler liegt an folgender Stelle:
Code:
public class Car ...

  public void setTitle(String title) {
      this.firePropertyChange(TITLE, this.title, title);
      this.title = title;
   } 
}

Man sollte immer erst das Property aendern und dann erst den Event ausloesen.
Also:

Code:
public class Car ...

  public void setTitle(String title) {
      String oldTitle = this.title;
      this.title = title;
      this.firePropertyChange(TITLE, oldTitle, title);
   } 
}
 

chrs

Mitglied
Es klappt alles solange ich selbst tippe, versuche ich aber etwas mit setText() zu ändern, ändert er das Objekt nicht nach dem Trigger-Commit..
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
K JavaFX - Binding & Co AWT, Swing, JavaFX & SWT 42
S UI Model Binding AWT, Swing, JavaFX & SWT 7
S JavaFX MVVM Prinzip und Binding AWT, Swing, JavaFX & SWT 23
B Java FX In control.TreeCell-Implementierung Binding erzeugen AWT, Swing, JavaFX & SWT 0
I ReadOnly-Property-Binding AWT, Swing, JavaFX & SWT 3
N JavaFX TreeItem: Value-Binding AWT, Swing, JavaFX & SWT 1
G Swing Swing Binding JList funktioniert nicht AWT, Swing, JavaFX & SWT 5
J JavaFX Line Binding AWT, Swing, JavaFX & SWT 8
L JavaFX Horizontale Linie zur Scene binding AWT, Swing, JavaFX & SWT 3
N JavaFX Erste Versuche mit Data-Binding AWT, Swing, JavaFX & SWT 11
G JavaFX Binding von Objekten AWT, Swing, JavaFX & SWT 4
M Eclipse-Platform Combo-Binding für User-Einträge AWT, Swing, JavaFX & SWT 9
Eldorado Swing JGoodies Binding: Bindung lösen AWT, Swing, JavaFX & SWT 3
A SWT Eclipse JFace Binding TreeViewer AWT, Swing, JavaFX & SWT 4
M Swing Data Binding und PropertyChangeSupport AWT, Swing, JavaFX & SWT 6
B SWT Frage zu MVC und Data-Binding AWT, Swing, JavaFX & SWT 8
M Binding einer TextBox an eine Property AWT, Swing, JavaFX & SWT 2
M Beans Binding und SWT / Converter AWT, Swing, JavaFX & SWT 2
jojoge wie kann ich in eine Benennung eines JButtons eine Variable einbauen? AWT, Swing, JavaFX & SWT 6
L paintComponent in Panel eines Borderlayouts hinzufügen AWT, Swing, JavaFX & SWT 3
I Einbindung eines jpg/png/icons in eine GUI AWT, Swing, JavaFX & SWT 1
Splayfer Umrandung eines AttributedStrings AWT, Swing, JavaFX & SWT 2
Guybrush Threepwood Einfachste Möglichkeit zum Abspielen eines Videos in Swing AWT, Swing, JavaFX & SWT 4
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
Jose05 zugreifen auf ein Objekt eines GridPanes AWT, Swing, JavaFX & SWT 0
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
news2swen automatisches erstellen eines Languagefiles AWT, Swing, JavaFX & SWT 1
B Stylen eines JTextPane funktioniert nicht AWT, Swing, JavaFX & SWT 1
MiMa Schliessen eines FXML Fensters? AWT, Swing, JavaFX & SWT 10
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
L AWT Ändern der Farbe eines BufferedImage mit Farbähnlichkeit AWT, Swing, JavaFX & SWT 5
B veränderte Größe eines Panels im Vorhinein wissen? AWT, Swing, JavaFX & SWT 1
L Komponenten eines Panels werden erst nach Klick darauf angezeigt AWT, Swing, JavaFX & SWT 13
L JavaFX Validierung eines Spinner AWT, Swing, JavaFX & SWT 1
M Builden eines lauffähigen JAR Files AWT, Swing, JavaFX & SWT 3
K Swing Text eines Lables in einer Methode ändern AWT, Swing, JavaFX & SWT 13
M JavaFX rotieren eines Kreises mit konstanter Geschwindigkeit AWT, Swing, JavaFX & SWT 1
K JavaFX Allgemeine Fragen zu dem Aufbau eines Programms hinsichtlich der Klassen AWT, Swing, JavaFX & SWT 1
M JavaFX Auf ein UI Elemement eines anderen Controllers zugreifen AWT, Swing, JavaFX & SWT 0
P Bewegung eines Balkens in eineum JPanel welches als Spielfeld fungiert AWT, Swing, JavaFX & SWT 2
Tronert JavaFX Linienstärke eines Separators ändern? AWT, Swing, JavaFX & SWT 3
N JavaFX Group: Gezieltes entfernen eines Objects (Rectangle) AWT, Swing, JavaFX & SWT 0
J Ziehen eines Buttons im JPanel AWT, Swing, JavaFX & SWT 2
J Drag and Drop eines Buttons AWT, Swing, JavaFX & SWT 0
M NullPointerException bei Übergabe eines RadioButtons AWT, Swing, JavaFX & SWT 11
DaCrazyJavaExpert Swing Extern den Text eines nicht fetsgelegten Buttons bekommen. AWT, Swing, JavaFX & SWT 12
J JavaFX Rectangle innerhalb eines Rectangle oder Panes positionieren? AWT, Swing, JavaFX & SWT 1
C JavaFX Inhalt eines SplitPane's durch Menü-Auswahl ändern? AWT, Swing, JavaFX & SWT 13
J linken Bildausschnitt eines BufferedImage abschneiden AWT, Swing, JavaFX & SWT 4
J bestimmten Bereich eines JPanels drucken AWT, Swing, JavaFX & SWT 2
D LookAndFeel Überschreiben eines UIDelegate AWT, Swing, JavaFX & SWT 0
T Java FX Probleme beim befüllen eines Tableviews AWT, Swing, JavaFX & SWT 5
C Zeichen eines 6 -Eckes AWT, Swing, JavaFX & SWT 1
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
F Screenshot eines JPanel AWT, Swing, JavaFX & SWT 3
S JavaFX TreeItem: Icon am Ende eines Eintrags anhängen AWT, Swing, JavaFX & SWT 2
D TAB Taste innerhalb eines JSpinner AWT, Swing, JavaFX & SWT 2
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
F Swing Spaltenbreite einer Column eines JTable auslesen AWT, Swing, JavaFX & SWT 5
D Swing Komponenten Anordnung eines Panels in Verbindung eines weiteren Panels AWT, Swing, JavaFX & SWT 9
F Swing Rotation eines Bildes mit beliebigen Koordinaten um den Mittelpunkt AWT, Swing, JavaFX & SWT 3
Cromewell JavaFX Nur bestimmten Teil eines Canvas rendern und anzeigen AWT, Swing, JavaFX & SWT 2
Z Swing Variable eines Objekt aus Hashmap in JList anzeigen AWT, Swing, JavaFX & SWT 1
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
R Hilfe beim ändern des Hintergrundes eines JFrames AWT, Swing, JavaFX & SWT 9
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
J Swing Vertikales Zeichnen eines Strings mit Java2D AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
V JavaFX Teile eines Images Transparent machen AWT, Swing, JavaFX & SWT 4
I JavaFX Langes drücken eines Buttons AWT, Swing, JavaFX & SWT 4
B Swing Wie Witdh und Height eines GuiElements bekommen AWT, Swing, JavaFX & SWT 5
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
J JavaFX Zugriff auf FXML-Variablen eines anderen Controllers AWT, Swing, JavaFX & SWT 2
K Swing Inhalt eines JPanels lesen AWT, Swing, JavaFX & SWT 3
T Nur bestimmte Bereiche eines Fotos bearbeiten AWT, Swing, JavaFX & SWT 0
J Swing Erstellung eines User Interface AWT, Swing, JavaFX & SWT 2
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2
O Swing Aufbau eines JFrames AWT, Swing, JavaFX & SWT 2
A JavaFX Hilfe beim Design eines Quiz AWT, Swing, JavaFX & SWT 2
F Instanzierung einer inneren Klasse in Klasse eines anderen Packets AWT, Swing, JavaFX & SWT 3
A befüllen eines JTables mittels Methode AWT, Swing, JavaFX & SWT 10
javampir Swing Wanderung eines JFrames AWT, Swing, JavaFX & SWT 7
J Anfänger GUI Problem bei der Ausführung eines sehr einfachen Programms AWT, Swing, JavaFX & SWT 2
G Swing ComboBox: Auswahl eines Items der Liste durch Eingabe eines Buchstabens AWT, Swing, JavaFX & SWT 3
S Swing Nur den sichtbaren Bereich eines TextPane mit Inhalt darstellem AWT, Swing, JavaFX & SWT 0
I Erstellung eines kleinen Programmes AWT, Swing, JavaFX & SWT 8
H Position eines JLabel in einem JPanel AWT, Swing, JavaFX & SWT 2
J 2D-Grafik Windows Blue-Screen nach anzeigen eines Bildes in Java AWT, Swing, JavaFX & SWT 10
T Swing Einzelne Teile eines Textes färben? AWT, Swing, JavaFX & SWT 10
H Swing Probleme beim erstellen eines neuen Objektes durch einen Button AWT, Swing, JavaFX & SWT 10
HaukeG JavaFX JavaFX Resize und DragAndDrop eines Pane AWT, Swing, JavaFX & SWT 4
D 2D-Grafik Inhalt eines Graphics in anderes Graphics zeichnen.... AWT, Swing, JavaFX & SWT 3
J Denkfehler bei Aktualisierung eines GUI AWT, Swing, JavaFX & SWT 4
J Logikfehler im erstellen eines GUI AWT, Swing, JavaFX & SWT 3
F JTabbedPane mit Button zum Hinzufügen eines neuen Tabs AWT, Swing, JavaFX & SWT 6
B Event Handling Mausbewegung auch außerhalb eines JFrames registrieren AWT, Swing, JavaFX & SWT 2
U Swing Beim Bedienen eines Buttons JFrame schließen AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben