www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Java" - Update verschachteltes JPanel
Update verschachteltes JPanel < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Update verschachteltes JPanel: Frage (reagiert)
Status: (Frage) reagiert/warte auf Reaktion Status 
Datum: 09:01 Mo 14.06.2010
Autor: dande

Aufgabe
Ich habe ein JFrame, in dem ein JTabbedPane das Management übernimmt. Mehrere dieser Panels folgen einem Template, das aus drei Komponenten besteht.
Der untere Bildrand beinhaltet ein JScrollPane, in dem eine JTextArea "wohnt". Am linken Rand ist ein JPanel, das untereinander einen Vektor von JRadioButtons anzeigt. Dieser JRadioButton ist Teil einer Klasse Listable, die außerdem ein JPanel beinhaltet, das eine Liste von Eingabefeldern ausgibt.
Der größte Teil des Tab-Inhalts (rechts oben also) ist ein JPanel. Darin soll immer das JPanel angezeigt werden, das zu dem gerade aktiven JRadioButton gehört. Beim Programmstart befindet sich dort ein JLabel, das den User zum Klicken aufruft.

Wenn ich auf den JRadioButton für das erste Element des Vektors von Listables klicke, ist alles gut. Bei allen anderen muß ich erst in das Panel klicken, wo die Eingabefelder angezeigt werden sollen (ich nenn's jetzt mal Anzeigepanel), damit dem auch so ist.
Sie sollen aber alle sofort bei Klick auf den Button angezeigt werden. Wie kann ich das bewerkstelligen?

Der MouseListener am JRadioButton tut folgendes:
  target.removeAll();
  JPanel component=source.getContent();
  target.add(component);
  target.update(component.getGraphics());
  target.getParent().repaint();

Dabei ist target das Anzeigepanel, target.getParent() das Panel, das im JTabbedPane liegt, source das zum RadioButtonListener gehörende Listable und getContent() gibt nur das vorgefertigte JPanel zurück.
Alle diese Elemente kriegt der Listener gleich zum Anfang mit auf den Weg.

Kann es sein, daß ich einen künstlichen Mausklick auf component bzw. target feuern muß? Wenn ja, wie geht das?

repaint() stattdessen auf target anwenden klappt nicht, auch auf beide bleibt folgenlos.


edit: erledigt; es fehlte nach dem Löschen der Aufruf
target.updateUI();
.

Ansicht: [ geschachtelt ] | ^ Forum "Java"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]