ERLEDIGT
JA
JA
ANTWORTEN
10
10
ZUGRIFFE
213
213
EMPFEHLEN
-
Hallo!
Die erste Klasse ist zur Darstellung der Seite gedacht.
In dieser wird eine jTable erzeugt.
Code java:1 2 3 4 5
private JTableFilterHeader table; . . . table = new JTableFilterHeader( data, columnData );
Die JTableFilterHeader-Klasse implementiert ItemListener sodass ich mitbekomme wenn eine ComboBox(welche sich in der JTable befindet) sich ändert. Je nachdem was mit der Checkbox passiert, wird die Table verändert.
Jetzt möchte ich gerne in der ersten Klasse auch mitbekommen, dass die ComboBox sich geändert hat.
Wie macht man das am besten?Geändert von hesk (07.09.11 um 10:43 Uhr)
-
07.09.11 10:42 #2Was genau soll passieren, wenn sie es "mitbekommen" hat? BTW du redest erst von ComboBox und dann von CheckBox, hast du beides?Jetzt möchte ich gerne in der ersten Klasse auch mitbekommen, dass die CheckBox sich geändert hat.Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
Ich meinte ComboBox. Habs ausgebessert.
In der Table kann man anhand der ComboBoxes filtern.
Unterhalb der Table wird dann angezeigt, wieviele Einträge gerade vorhanden sind.
Also muss die 1. Klasse wissen wann sich die ComboBoxes der Table geändert haben.
-
07.09.11 10:49 #4
Hi,
wieso versuchst du es nicht einfach mit einem ActionListener bei der Combobox?
Gruß
FabioBitte die Code-Tags verwenden. Bei Java-Code: [java]...[/java]
Tutorials:
Automatisches erzeugen eines Inhaltsverzeichnisses (Javascript)
JAnimationPanel - Animationen für Swing/AWT
SWTRatingBar (Bewertungs-Composite) selbst programmieren
____________________________________________________________________________
Über eine Bewertung (Stern links unter dem Beitrag) oder ein Danke freue ich mich sehr.
-
Die JTable ist eine eigene Klasse, in einem eigenen File.
Dort befindet sich die ComboBox.
Wenn ich jetzt der ComboBox den Listener der ersten Klasse(frame) adde, dann kann ich die JTable-Klasse niergendwo anders verwenden.
Ich möchte sie aber auch in anderen Frames verwenden.
Halbwegs verständlich
?
-
07.09.11 10:51 #6
Die einfachste Möglichkeit ist meiner Meinung nach den Eventcode in der UI-Klasse hinzuzufügen, also:
Oder hat es eventuell einen speziellen Grund, dass du dafür eine eigene Klasse erstellst?Code java:1 2
class Darstellung implements ActionListener //oder ItemListener**** combobox.addActionListener(this);
Jeder Fehler, aus dem wir lernen, ist ein Erfolg...
...Aber mach' nicht den Fehler, nicht aus deinen Fehlern zu lernen.
-
Ja, die gesamte JTable ist eine eigene Klasse. Die JTable enthält ComboBoxes im Header anhand jener gefiltert werden kann.
Das Frame(1. Klasse) erzeugt nun so eine JTable und stellt sie dar. Jetzt müßte ich aber noch im Frame mitbekommen, wann sich die ComboBox in der jtable ändert.
Sowas in der Art "benachrichtige mich wenn der ItemListener der JTable anspring"
-
07.09.11 10:58 #8
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
du willst also eine Art Observer Pattern implementieren?
Gruß
BKÜber eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Habe mir das Prinzip von Observer und Observable durchgelesen. Klingt nach dem was ich suche.
Leider ist meine JTable so definiert:
Code java:1
public class JTableFilterHeader extends JTable implements ItemListener
Wie kann ich diese nun Observable machen?
-
07.09.11 11:39 #10
- Registriert seit
- Jun 2007
- Ort
- Passau (Niederbayern)
- Beiträge
- 1.394
Hi,
ganz fix eine Idee (evtl gibts da bessere Lösungen), so als Denkanstoß:
Vorlage / Quelle: java2s.comCode java:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
public class Test extends JTable implements ItemListener { private MyObservable observable_obj = new MyObservable(); public void itemStateChanged(ItemEvent e) { observable_obj.setChanged(); observable_obj.notifyObservers(e); } public void addObserver(Observer o) { observable_obj.addObserver(o); } public void deleteObserver(Observer o) { observable_obj.deleteObserver(o); } } class MyObservable extends Observable { public synchronized void setChanged() { super.setChanged(); } }
Gruß
BKGeändert von Bratkartoffel (07.09.11 um 11:43 Uhr) Grund: Formatierung
Über eine gute Bewertung freut sich jeder ;)
Bitte erledigte Threads als "Erledigt" markieren.
"Though a program be but three lines long, someday it will have to be maintained.''
-- Geoffrey James, "The Tao of Programming"
-
Vielen Dank!
Hat so geklappt wie du es im Bsp gezeigt hast.
Ähnliche Themen
-
logisches Problem mit 2 Tabellen
Von mychastic im Forum Relationale DatenbanksystemeAntworten: 10Letzter Beitrag: 11.08.08, 13:04 -
logisches Problem
Von quidnovi im Forum PHPAntworten: 5Letzter Beitrag: 05.07.07, 11:45 -
logisches Problem
Von quidnovi im Forum PHPAntworten: 2Letzter Beitrag: 20.06.07, 07:19 -
Logisches Problem mit Schleifen
Von PsychoSam im Forum PHPAntworten: 3Letzter Beitrag: 16.04.04, 12:07 -
Logisches Problem
Von bspainkf36 im Forum PHPAntworten: 4Letzter Beitrag: 21.02.04, 13:27





Zitieren

Login





