event

Status
Nicht offen für weitere Antworten.
I

Idontknowjack

Gast
hallo,

hoffe das ist der richtige Bereich.
hab 16 panel die je einen Takt representieren. Diese JPanels koennen an und aus geschaltet werden.
(visualisiere ich über die g.drawRect() )
Nun soll sich in der classe BeatCreation am besten ein update bei einer veränderung auslösen.
Ich moechte nicht das ich aus den Panels ein update aufrufe. sonder die classe sich updatet bzw. die daten holt.
Ich bin nun bis jetzt af das Ergebnis eventhandler gekommen.Hab mir die javaSun seiten schon angeschaut, aber auf mein Beispiel noch nicht anwenden koennen.

Meine JPanel muss bei jeder Änderung eine Event auslösen oder wie mach ich das? und wie fängt das mein BeatCreator ein ?

thx und lieben gruss
 

Ebenius

Top Contributor
Also wenn ich Dich richtig verstehe, dann hast Du 16 Panele (Sicht/View) eine Klasse BeatCreation die ihren Zustand ändert (im weiteren Sinne also das Modell/Model) und willst nun in den Panelen die Zustandsänderungen aus BeatCreation darstellen. Dazu stattest Du BeatCreation so aus, dass man ihr zuhören kann, zum Beispiel als ChangeListener:
Java:
public class BeatCreation ... {
  ...

  /** Listener list for all listeners handled */
  private EventListenerList listeners;

  /**
   * Adds the {@link ChangeListener} to <code>this</code> instance.
   * 
   * @param listener the listener to add
   */
  public void addChangeListener(ChangeListener listener) {
    listeners = listeners == null ? new EventListenerList() : listeners;
    listeners.add(ChangeListener.class, listener);
  }

  /**
   * Removes the {@link ChangeListener} from <code>this</code> instance.
   * 
   * @param listener the listener to remove
   */
  public void removeChangeListener(ChangeListener listener) {
    if (listeners != null) {
      listeners.remove(ChangeListener.class, listener);
    }
  }

  /**
   * Fires the {@link ChangeEvent} to all listeners.
   * 
   * @param event the event to fire
   */
  protected void fireChangeEvent() {
    if (listeners == null) {
      return;
    }

    final Object[] list = listeners.getListenerList();
    ChangeEvent e = null;
    for (int idx = 0; idx < list.length; idx += 2) {
      if (list[idx] == ChangeListener.class) {
        if (e == null) {
          e = new ChangeEvent(this);
        }
        ((ChangeListener) list[idx + 1]).stateChanged(e);
      }
    }
  }
}
Wenn sich der Zustand in BeatCreation ändert, ruft die Instanz selbständig [c]fireStateChanged()[/c] auf, damit alle Zuhörer über die Veränderung informiert werden.

Die Panele hast Du auch als eine eigene Klasse implementiert, nehme ich an. Sie können nun also Zuhörer werden, indem Sie die Schnittstelle [c]ChangeListener[/c] implementieren; in etwa so:
Java:
public class MyPanel ... implements ChangeListener {

  ...

  @Override
  public void stateChanged(ChangeEvent e) {
    final BeatCreation source = (BeatCreation) e.getSource();
    // Hier auf die Zustandsänderung in BeatCreation reagieren
  }
}
Jetzt musst Du die Panele noch mit BeatCreation verknüpfen; so in der Art:
Java:
for (MyPanel panel : allSixteenBeatPanels) {
  beatCreation.addChangeListener(panel);
}
Hilft das weiter?

Ebenius
 
I

Idontknowjack

Gast
es ist genau anders herum.
die 16 panel sollen jeweils eine action aulösen und beatcreator soll sich dann updaten. werd mir den code mal anschauen, vieleicht muss ich es einfach nur austauschen.

vielen dank erstmal
 
I

Idontknowjack

Gast
Also wie gesagt, bei mir siehts eigendlich genau anderes herum aus.
Aber jetzt in jedem panel n listener zu deklarieren ist ja quatsch. mann koennte diesen natuerlich nun in der klasse implementieren von wo die panels aufgerufen werden, aber auch das wäre nicht ganz so wie ich will.

gibt es denn nicht sowas wie eine globale liste, dass sich was verändert hat und ich schick ewinfach nur n event raus wenn sich die panel verändert haben und meinen BeatCreator implemtiere ich die moeglichkeit zuzuhoeren, also wie oben beschriebn den change listener?
 

Ebenius

Top Contributor
In dem Fall ist MVC schon nicht richtig ausgeführt. Die Panele sollten, wenn sie sich ändern, ein Modell verändern. Das Modell selbst benachrichtigt dann seine Zuhörer; wie zum Beispiel BeatCreation. Wenn man's nicht so macht, wird's meiner Meinung nach unschön.

Ebenius
 
I

Idontknowjack

Gast
ja scheinbar ist das so, nun verzweifele ich.
Ich glaub ich bräuchte sowas wie ein privatchat, aber das geht zu weit.
Falls de doch mal zeit auf skype hast freu ich mich

auf jeden fall danke für die Fehleranalyse
 
I

Idontknowjack

Gast
Das war der wichtigste Tip den du mir geben konntest!!!
Dauert zwar alles ewig aber was muss das muss!

lg und bis bald :)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin in javafx Event auslösen AWT, Swing, JavaFX & SWT 4
G Mouse Event in anderemm Event auslösen AWT, Swing, JavaFX & SWT 50
schoel27 Mehrere JButtons sollen das gleiche Event auslösen AWT, Swing, JavaFX & SWT 2
K Warum genau hat man einen Listener, dann ein Event und was ist ein Adapter AWT, Swing, JavaFX & SWT 2
izoards Java FX Window Event SHOWING AWT, Swing, JavaFX & SWT 17
Fridolin111 Der KeyListener Löst kein event aus AWT, Swing, JavaFX & SWT 6
B JavaFX Von welcher Klasse und zu welchem Zeitpunkt werden Event-Objekte erstellt? AWT, Swing, JavaFX & SWT 3
L JavaFX Ich suche das passende Textfield Event AWT, Swing, JavaFX & SWT 1
J CheckBoxListCell auf click event in listView reagieren AWT, Swing, JavaFX & SWT 1
W JavaFX Etwas Tabellenartiges + Cell-Content-Changed-Event (o.ä.) AWT, Swing, JavaFX & SWT 30
O Swing Event Dispatch Thread AWT, Swing, JavaFX & SWT 1
B Swing Windowbuilder Rückgabewert im Event AWT, Swing, JavaFX & SWT 3
Z Befehl Action Event Verlassen AWT, Swing, JavaFX & SWT 4
F Event wenn Maus eine JList verlässt AWT, Swing, JavaFX & SWT 13
M JavaFX Absoluter Fokus während drag Event AWT, Swing, JavaFX & SWT 10
Pr0m3theus Animation nach Event AWT, Swing, JavaFX & SWT 6
K Event Handling ComboBox Event Handler AWT, Swing, JavaFX & SWT 7
Sugan Swipe Event? AWT, Swing, JavaFX & SWT 8
Tausendsassa Text changed event handler jTextField AWT, Swing, JavaFX & SWT 3
H Event Handling JavaFx - auf Event warten AWT, Swing, JavaFX & SWT 4
G Event Handling Event Handling in eigene Klasse AWT, Swing, JavaFX & SWT 4
M Mouse Click Event ohne ein JComponent Objekt AWT, Swing, JavaFX & SWT 3
L JDialog - Event wenn Parent größe ändert AWT, Swing, JavaFX & SWT 2
T Internes Event-handling in TextField/JTextField AWT, Swing, JavaFX & SWT 2
M Swing OnLoad-Event o. Ä. AWT, Swing, JavaFX & SWT 3
D Event Handling in Komplexen Anwendungen AWT, Swing, JavaFX & SWT 9
D Event Handling "Plötzlich" kein mouseMoved-Event AWT, Swing, JavaFX & SWT 2
A Minimalestopuhr: JLabel.setText() durch eigenes Event ändern AWT, Swing, JavaFX & SWT 6
J Swing JMenuItem-Event?? AWT, Swing, JavaFX & SWT 3
J Swing JTable-Event für einen Select?? AWT, Swing, JavaFX & SWT 3
A Mouse event und exit on close AWT, Swing, JavaFX & SWT 11
V Swing Custom JToggleButton in JTable - Click-Event geht erst beim zweiten Mal AWT, Swing, JavaFX & SWT 7
F Event Handling AWT, Swing, JavaFX & SWT 7
J Button Event nur einmal ausführen AWT, Swing, JavaFX & SWT 3
S SWT Shell durch Event in der Größe verändern AWT, Swing, JavaFX & SWT 7
J Speichern, Event, Hintergrund getAppletContext AWT, Swing, JavaFX & SWT 2
T Callback vs. Event listener AWT, Swing, JavaFX & SWT 7
F Frage zu Event KeyTyped bei jPanel AWT, Swing, JavaFX & SWT 4
S MenuBar ActionListener Event ... AWT, Swing, JavaFX & SWT 6
T Anzahl Event Listeners AWT, Swing, JavaFX & SWT 4
A Swing JButton int im Event AWT, Swing, JavaFX & SWT 9
G Swing Onkeyup Event AWT, Swing, JavaFX & SWT 3
P Action Event abfangen etwas anders? AWT, Swing, JavaFX & SWT 2
3 Swing NullPointerException in AW Event-0? AWT, Swing, JavaFX & SWT 5
F Swing Auf JComboBox-Event erst NACH Auswahl reagieren AWT, Swing, JavaFX & SWT 8
P Swing Event das ausgelöst wird, sobald Änderung der Größe Abgeschlossen ist AWT, Swing, JavaFX & SWT 4
A Shift-Tab-Event auslösen AWT, Swing, JavaFX & SWT 5
T Event Dispatch Thread und noch ein Thread AWT, Swing, JavaFX & SWT 7
W Swing Event bei Schließen des Fensters AWT, Swing, JavaFX & SWT 6
A Probleme mit dem KeyReleased-event AWT, Swing, JavaFX & SWT 3
J Doppelklick Event AWT, Swing, JavaFX & SWT 32
jueki Event bei Änderung der Spaltenbreite in einem JTable AWT, Swing, JavaFX & SWT 15
D jtabbedpane Event VOR tab-Wechsel AWT, Swing, JavaFX & SWT 3
N Swing JComboBox Event Problem AWT, Swing, JavaFX & SWT 5
M JTree => Event Dispatching Error AWT, Swing, JavaFX & SWT 2
D Event in Fenster ausgeben + Observer + kein Plan AWT, Swing, JavaFX & SWT 2
H warum kann ich das focus event nicht abfangen ? AWT, Swing, JavaFX & SWT 5
X Den Wert von JSpinner setzen ohne Event AWT, Swing, JavaFX & SWT 3
H KeyUp-Event/Ereignis AWT, Swing, JavaFX & SWT 6
C Event Frage AWT, Swing, JavaFX & SWT 7
M Swing WindowListener -> Event abbrechen? AWT, Swing, JavaFX & SWT 2
K JToggleButton deaktivieren (komplettes event nehmen) AWT, Swing, JavaFX & SWT 2
R JTextField - Event bei jedem Buchstaben AWT, Swing, JavaFX & SWT 2
R WindowClosing Event - Schließen rückgängig machen? AWT, Swing, JavaFX & SWT 2
M Actionlistener ohne Event -.-?! AWT, Swing, JavaFX & SWT 2
O Probleme beim Zeichnen und AWT-Event-Queue-0 Exception AWT, Swing, JavaFX & SWT 5
D PropertyChangeListener Event auswertung AWT, Swing, JavaFX & SWT 7
O FlowLayout Button Event zuweisen? AWT, Swing, JavaFX & SWT 7
J remove() components bei event von JComboBox AWT, Swing, JavaFX & SWT 2
G Swing JFileChooser Event für neue Directory? AWT, Swing, JavaFX & SWT 5
X Checkboxen erstellt mit MouseClicked event AWT, Swing, JavaFX & SWT 10
Dragonfire Swing One componentResized Event AWT, Swing, JavaFX & SWT 14
data89 Was mache ich mit "Dispatched Event Thread"/Substance falsch? AWT, Swing, JavaFX & SWT 4
Kr0e Event simulieren AWT, Swing, JavaFX & SWT 5
S Tastatur Event auserhalb des fokuses aufnehmen AWT, Swing, JavaFX & SWT 4
R Swing ComboBox und doppelter Event!? AWT, Swing, JavaFX & SWT 10
M Swing Event mit Button AWT, Swing, JavaFX & SWT 7
B Wie kann ich ein event wieder beseitigen AWT, Swing, JavaFX & SWT 2
R Checkboxen - Event mit Controller abfangen AWT, Swing, JavaFX & SWT 7
Spin Window Event Beispiel AWT, Swing, JavaFX & SWT 6
O Tabelle über Event sortieren AWT, Swing, JavaFX & SWT 4
Iron Monkey JTable 2 Selektionsfarben Mouse-Event AWT, Swing, JavaFX & SWT 8
Dragonfire JTree, Selection via event AWT, Swing, JavaFX & SWT 7
K JButton auf JPanel in JTable (Darstellungs-/Event-Probleme) AWT, Swing, JavaFX & SWT 16
B JInternalFrame resize event AWT, Swing, JavaFX & SWT 2
E Komponenten in Event Dispatch Thread erzeugen? AWT, Swing, JavaFX & SWT 4
D Event beim Laden eines JPanels? AWT, Swing, JavaFX & SWT 3
O Action Event auslösen bei unbekanntem JTextField AWT, Swing, JavaFX & SWT 3
R Registrieren um Event abzufangen AWT, Swing, JavaFX & SWT 3
N solange Maustaste gedrückt Event AWT, Swing, JavaFX & SWT 15
Daniel_L Nachrichten/Event aus nicht-modalen Dialogen abfragen? AWT, Swing, JavaFX & SWT 4
G Event an einer JComboBox registrieren AWT, Swing, JavaFX & SWT 8
S Welches Event beim ändern einer Zelle in einer JTable AWT, Swing, JavaFX & SWT 4
S Welches Event beim auswählen einer Zelle? [JTable] AWT, Swing, JavaFX & SWT 3
A Event von Login zu Main klasse AWT, Swing, JavaFX & SWT 2
E bei gedrückte Taste --> Bitte nur ein Event auslösen AWT, Swing, JavaFX & SWT 4
W Kein MouseKlick-Event bei Bewegung AWT, Swing, JavaFX & SWT 2
J In JTextfield bei event schreiben AWT, Swing, JavaFX & SWT 4
G Combobox Event AWT, Swing, JavaFX & SWT 4
C Event nach Größenänderung des Fensters AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben