Auslesen einer JPanel aus einer anderen JPanel

Status
Nicht offen für weitere Antworten.

d.ausstroit

Bekanntes Mitglied
Hallo.
Ich habe ein Applet mit einem Cardlayout in dem zwei Panels liegen. Nun rufe ich aus dem 1. Panel das 2. auf. Das klappt auch alles. Zusätzlich habe ich im 2. ein Textfeld. Nun möchte ich im 1. Panel den Text aus dem Textfeld des 2. Panels auslesen und anzeigen. Dazu gebe ich im 2. Panel Text ein und zeige das 1. wieder an. Das eigentliche Problem ist nun, dass ich den im 2. Panel eingegebenen Text im 1. nicht ausgeben kann. Es steht immer noch das aus der Initialisierung drin.

Wo liegt der Fehler???

Dirk
 
B

bygones

Gast
mhm - weiß net ob richtig verstanden....

schreib im 2.Panel mit dem Textfield eine Methode die dir den Text zurückgibt. Die Methode rufst du aus Panel1 auf ?!
 

d.ausstroit

Bekanntes Mitglied
Genau das habe ich schon getan. Wenn ich dann in der Funktion anhalte (Aufruf erfolgt aus dem 1. Panel), steht nicht mal der aktuelle Feldinhalt in der Zwischenvariablen. Was kann das denn sein?
 

d.ausstroit

Bekanntes Mitglied
Jau, hier kommt's.

Applet-Code:
Code:
package unbenannt10;

import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import javax.swing.*;

public class Applet1 extends JApplet  {
    static Container c;
    
    Homepage hp = new Homepage();
    Panel1 pnl = new Panel1();
    
    static CardLayout card = new CardLayout();

    //Initialisierung der Komponenten
    private void jbInit() throws Exception {
        
        getContentPane().setLayout(card);
        
        c = getContentPane();
        getContentPane().setLayout(card);

        //die panels werden dem cardlayout als karten mit einem  
        //hier definierten namen zugeordnet
        getContentPane().add("hp", hp);
        getContentPane().add("pnl", pnl);

        // die startkarte wird definiert
        card.show(c, "hp");
    }

    //Das Applet konstruieren
    public Applet1() throws HeadlessException {

    }
         
    //Das Applet initialisieren
    public void init() {
        try {
            jbInit();
        } catch (Exception e) {
            e.printStackTrace();
        }
   }

}

Panel1-Code:

Code:
package unbenannt10;

import java.awt.BorderLayout;

import javax.swing.JPanel;
import javax.swing.JButton;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;

public class Homepage extends JPanel {
    
    Panel1 pnl = new Panel1();
    
    public Homepage() {
        try {
            setSize(600,600);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.setLayout(null);
        jButton1.setBounds(new Rectangle(44, 31, 115, 28));
        jButton1.setText("Panel anzeigen");
        jButton1.addActionListener(new Homepage_jButton1_actionAdapter(this));
        jTextField1.setText("TextFeld");
        jTextField1.setBounds(new Rectangle(46, 172, 178, 30));
        jButton2.setBounds(new Rectangle(254, 171, 112, 28));
        jButton2.setText("Übernehmen");
        jButton2.addActionListener(new Homepage_jButton2_actionAdapter(this));
        this.add(jTextField1);
        this.add(jButton1);
        this.add(jButton2);
    }

    JButton jButton1 = new JButton();
    JTextField jTextField1 = new JTextField();
    JButton jButton2 = new JButton();
    public void jButton1_actionPerformed(ActionEvent e) {
        Applet1.card.show(Applet1.c,"pnl");
    }

    public void jButton2_actionPerformed(ActionEvent e) {
        jTextField1.setText(pnl.getText());
        
    }
}


class Homepage_jButton2_actionAdapter implements ActionListener {
    private Homepage adaptee;
    Homepage_jButton2_actionAdapter(Homepage adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton2_actionPerformed(e);
    }
}


class Homepage_jButton1_actionAdapter implements ActionListener {
    private Homepage adaptee;
    Homepage_jButton1_actionAdapter(Homepage adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}

Panel2-Code:

Code:
package unbenannt10;

import java.awt.BorderLayout;

import javax.swing.JPanel;
import javax.swing.JLabel;
import javax.swing.JButton;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JTextField;

public class Panel1 extends JPanel {
    JButton jButton1 = new JButton();
    private JTextField jTextField1 = new JTextField();
    
    // Versuch
    public String getText() {

        String ret = jTextField1.getText();
        return ret;
    }

    public Panel1() {
        try {
            setSize(600,600);
            jbInit();
        } catch (Exception exception) {
            exception.printStackTrace();
        }
    }

    private void jbInit() throws Exception {
        this.setLayout(null);
        jButton1.setBounds(new Rectangle(49, 53, 118, 39));
        jButton1.setText("jButton1");
        jButton1.addActionListener(new Panel1_jButton1_actionAdapter(this));
        jTextField1.setDoubleBuffered(true);
        jTextField1.setText("Panel1");
        jTextField1.setBounds(new Rectangle(33, 110, 212, 42));
        this.add(jButton1, null);
        this.add(jTextField1);
    }

    public void jButton1_actionPerformed(ActionEvent e) {

        // Versuch
        //validate();
        //repaint();
        Applet1.card.show(Applet1.c,"hp");
   }
}


class Panel1_jButton1_actionAdapter implements ActionListener {
    private Panel1 adaptee;
    Panel1_jButton1_actionAdapter(Panel1 adaptee) {
        this.adaptee = adaptee;
    }

    public void actionPerformed(ActionEvent e) {
        adaptee.jButton1_actionPerformed(e);
    }
}

Es handelt sich nur um eine Testanwendung. Später möchte ich das in ähnlicher Art in einem Programm einsetzen. Da benötige ich in bestimmten Masken Infos aus Masken, die nicht zu sehen sind.

Danke für die weitere Hilfe.

Dirk
 

Wildcard

Top Contributor
Soweit ich das jetzt sehe greifst du 'Homepage' auf ein 'Panel1' zu das du in 'Hompage' initialisiert hast.
Dieses Panel hat aber nichts mit 'pnl' zu tun das im Applet liegt. Du brauchst eine Referenz auf dieses Panel
 

d.ausstroit

Bekanntes Mitglied
Doch eigentlich schon. Denn die Variable pnl ist ja vom Typ "Panel1". Panel1 ist praktisch eine eigene Klasse, die ich dem Cardlayout zuweise. Um aber in der Klasse "Homepage" auf das Textfeld der 2. Panel zugreifen zu können, benötige ich doch eine Variable. Oder gibt es da eine andere Möglichkeit? Das wechseln zwischen den Panels klappt ja auch reibungslos.
 

Wildcard

Top Contributor
Du erzeugst hier ein Panel:
Code:
public class Homepage extends JPanel {
   
    Panel1 pnl = new Panel1();

und hier:

Code:
public class Applet1 extends JApplet  {
    static Container c;
   
    Homepage hp = new Homepage();
    Panel1 pnl = new Panel1();
die haben NICHTS miteinander zu tun...
 

d.ausstroit

Bekanntes Mitglied
Das sind doch aber Varible vom gleichen Typ. Das ist mir schon klar, dass die nix miteinander zu tun haben. Kannst Du mir mal posten, wie Du das mit der Referenz meinst (Beispiel). Vielleicht verstehe ich es dann.
 

Wildcard

Top Contributor
Wenn du in 'Homepage' das in 'Applet1' verwendete Panel benutzen willst, braucht 'Homepage' eine Referenz darauf:
Code:
public class Applet1 extends JApplet  {
    static Container c;

    Panel1 pnl = new Panel1();    
    Homepage hp = new Homepage(pnl);
Code:
public class Homepage extends JPanel {
   
    Panel1 pnl;
   
    public Homepage(Panel1 pnl) {
        this.pnl=pnl;
 

d.ausstroit

Bekanntes Mitglied
Und wenn ich in "Panel1" das in Applet1 verwendetet Panel "Homepage" benutzen will? Was mache ich dann?

So

Code:
public class Applet1 extends JApplet  { 
    static Container c; 

    Panel1 pnl = new Panel1(hp);    
    Homepage hp = new Homepage(pnl);
geht es nicht. Da kommt die Meldung "ungültige forward-Referenz". Denn ich möchte ja in Panel1 auch auf Homepage zugreifen können.

Danke für Deine Mühe

Dirk
 

Wildcard

Top Contributor
wenn beide miteinander kommunizieren müssen kannst du das theoretisch über eine set-Methode machen.
Ist allerdings ziemlich hässlich, insofern solltest du dir Gedanken machen ob dein Klassendesign sinnvoll ist.
Evtl. eine Contoller Klasse machen die die Kommunikation regelt oder Ähnliches...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Aus einer .bz2 Datei auslesen Java Basics - Anfänger-Themen 2
das_leon Alle Zeilen einer CSV-Datei auslesen Java Basics - Anfänger-Themen 1
S Jede Ziffer einer Zahl auslesen, damit rechnen und beim Ergebnis wiederholen ? Java Basics - Anfänger-Themen 20
S Text aus einer HTML Datei auslesen Java Basics - Anfänger-Themen 1
M Eigenschaften einer Datei auslesen Java Basics - Anfänger-Themen 5
A Variablen aus einer Schleife gezielt auslesen Java Basics - Anfänger-Themen 11
J Zeilen aus einer .txt-Datei auslesen und Variablen zuweisen Java Basics - Anfänger-Themen 11
A Objekte einer ArrayList auslesen und auf der Konsole ausgeben Java Basics - Anfänger-Themen 2
A Erste Schritte Information zwischenspeichern und von einer anderen Klasse auslesen Java Basics - Anfänger-Themen 5
J Quelltext einer Homepage auslesen Java Basics - Anfänger-Themen 14
P Problem mit dem Auslesen einer Varible/Methode Java Basics - Anfänger-Themen 8
C auslesen bestimmter werte einer textdatei und anschl. hineinschreiben in eine neue txt-datei. Java Basics - Anfänger-Themen 2
N Bestimmte Zeile aus einer Datei auslesen Java Basics - Anfänger-Themen 10
K JTextField auslesen, in int umwandeln und in einer anderen Klasse als Zähler verwenden Java Basics - Anfänger-Themen 3
O Methode in andere Klasse verlegt, "auslesen" einer HTML Seite verschnellert - Problem. Java Basics - Anfänger-Themen 4
P Vererbung Auslesen von Werten einer ArrayList Java Basics - Anfänger-Themen 30
M Teile einer Website auslesen? Java Basics - Anfänger-Themen 2
C Dynamische (AJAX) Inhalte einer Webseite mittels Java auslesen Java Basics - Anfänger-Themen 2
C Mit Java Textfeld einer externen Anwendung auslesen Java Basics - Anfänger-Themen 9
H Werte aus einer sortierten Liste auslesen Java Basics - Anfänger-Themen 58
T Collections Werte aus einer HashMap auslesen, oder gehts auch einfacher ? Java Basics - Anfänger-Themen 6
T OOP Objekte einer Klasse mit schleife auslesen Java Basics - Anfänger-Themen 7
L auslesen einer Variablen eines Objekt welches "Eigentum" eines Objektes der selben Klasse ist. Java Basics - Anfänger-Themen 12
S Intwert aus einer txt.datei auslesen Java Basics - Anfänger-Themen 3
J Pfad bzw. Namen einer Datei auslesen Java Basics - Anfänger-Themen 6
M ständiges auslesen einer .txt datei Java Basics - Anfänger-Themen 2
R Stellen einer Variable auslesen Java Basics - Anfänger-Themen 4
R Erste und zweite Stelle einer Eingabe auslesen Java Basics - Anfänger-Themen 2
M Sonderzeichen in einer Datei auslesen Java Basics - Anfänger-Themen 3
G POI: Aus einer Datei auslesen und in eine andere Datei speichern Java Basics - Anfänger-Themen 18
C Zeilen aus einer Datei auslesen Java Basics - Anfänger-Themen 4
A Auslesen einer datei mit Scanner Java Basics - Anfänger-Themen 4
V Sequentielles Auslesen einer Datei Java Basics - Anfänger-Themen 7
K daten von jtable auslesen und in einer anderen klasse anzeigen und bearbeiten Java Basics - Anfänger-Themen 7
T auslesen einer ini Datei Java Basics - Anfänger-Themen 13
M Auslesen einer Datei im Jar File Java Basics - Anfänger-Themen 5
B kleine Probleme beim auslesen einer m3u Datei Java Basics - Anfänger-Themen 3
S TOC einer CD auslesen Java Basics - Anfänger-Themen 2
N Frage zum Auslesen einer HTML-Zeile Java Basics - Anfänger-Themen 10
N Wert einer Variable aus einem Javaproramm auslesen. Java Basics - Anfänger-Themen 2
1 Zeit und Datum der Letzten Bearbeitung einer Datei auslesen Java Basics - Anfänger-Themen 3
D arraylist aus einer hashmap auslesen Java Basics - Anfänger-Themen 5
T Bestimmte Zeile aus einer .txt-Datei auslesen? Java Basics - Anfänger-Themen 10
orkano Text einer remote-HTML Seite auslesen Java Basics - Anfänger-Themen 3
T getHeaderField von einer Weiterleitung auslesen Java Basics - Anfänger-Themen 4
V Änderungsdatum aus einer Access File auslesen Java Basics - Anfänger-Themen 5
U Queltext einer Webseite auslesen Java Basics - Anfänger-Themen 6
R Hilfe! Daten aus einer excelliste auslesen und. Java Basics - Anfänger-Themen 3
N aus einer file etwas auslesen. Java Basics - Anfänger-Themen 2
G Auslesen einer bestimmten Stelle in einer Textdatei? Java Basics - Anfänger-Themen 2
M Filesplitting - Teile einer Datei auslesen Java Basics - Anfänger-Themen 7
S Zahlen aus einer Datei auslesen Java Basics - Anfänger-Themen 11
C Probleme mit Auslesen einer Datei Java Basics - Anfänger-Themen 6
G Bestimmte Bereiche einer Datei auslesen Java Basics - Anfänger-Themen 5
W Inhalt einer Datei aus mehreren Ordnern auslesen Java Basics - Anfänger-Themen 4
L Werte auslesen aus einer JTable Java Basics - Anfänger-Themen 2
G [Hilfe] Keys aus einer Map auslesen? Wie? Java Basics - Anfänger-Themen 3
R Quelltext einer HTML-Seite auslesen Java Basics - Anfänger-Themen 2
A werte aus einer ini-datei auslesen. Java Basics - Anfänger-Themen 29
M Fehler beim ein- und auslesen einer Textdatei Java Basics - Anfänger-Themen 5
M Aus einer Datei (File) mehr Informationen auslesen ? Java Basics - Anfänger-Themen 8
H Nur die erste Zeile einer Datei auslesen Java Basics - Anfänger-Themen 3
P Datei aus einer JAR-Datei auslesen Java Basics - Anfänger-Themen 3
R JTable - Wert einer selektierten Zelle auslesen Java Basics - Anfänger-Themen 1
R Url aus einer Text Datei auslesen. Java Basics - Anfänger-Themen 4
K Problem beim Auslesen einer Datei Java Basics - Anfänger-Themen 6
H Zeilenanzahl einer Datei auslesen. Java Basics - Anfänger-Themen 5
bernd Werte einer Variablen auslesen! Java Basics - Anfänger-Themen 4
N Auslesen einer datei Java Basics - Anfänger-Themen 4
R in einem string nach einer zahl suchen und auslesen...... Java Basics - Anfänger-Themen 3
S Daten aus Import Datei auslesen und sortieren Java Basics - Anfänger-Themen 2
T array auslesen Java Basics - Anfänger-Themen 2
I Klassen von einem package laden, Statisches Feld auslesen und Objekt erstellen Java Basics - Anfänger-Themen 8
N Einzelne Werte aus einem TreeSet auslesen Java Basics - Anfänger-Themen 2
D Eclipse will nicht auslesen Java Basics - Anfänger-Themen 6
E TIF Datei auslesen Java Basics - Anfänger-Themen 2
krgewb Breite und Höhe eines Bildes in base64 auslesen Java Basics - Anfänger-Themen 3
sserio TXT-Datei Auslesen und den Wert jedes Namen ausrechnen etc. Java Basics - Anfänger-Themen 37
J Speichern von zwei Variablen durch Auslesen aus einem Numberfield Java Basics - Anfänger-Themen 2
U Sekunden von LocalTime auslesen, wie möglich? Java Basics - Anfänger-Themen 1
E Outlook ordner auslesen Java Basics - Anfänger-Themen 4
R Eigenschaft über Parameter auslesen und ändern Java Basics - Anfänger-Themen 15
B Bin komplett am verzweifeln :( Verkettete Liste die Objekte hat Attribut auslesen Java Basics - Anfänger-Themen 14
J Datei aus Netzwerk auslesen Java Basics - Anfänger-Themen 9
J Jsonfile auslesen Java Basics - Anfänger-Themen 8
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
J Bestimmte parameter aus Jsonfile auslesen Java Basics - Anfänger-Themen 15
AleXusher Mehrdimensionales Array aus txt.file auslesen Java Basics - Anfänger-Themen 4
L Zeichen an bestimmter Stelle auslesen Java Basics - Anfänger-Themen 4
3 Textdatei Zeilenweise auslesen Java Basics - Anfänger-Themen 3
J Json Datei auslesen Java Basics - Anfänger-Themen 4
I Java String einlesen und auslesen Java Basics - Anfänger-Themen 11
S Tastatureingabe auslesen und in Konsole ausgeben Java Basics - Anfänger-Themen 6
S CSV Datei auslesen und anders darstellen Java Basics - Anfänger-Themen 2
G Scanner nutzen und Index auslesen Java Basics - Anfänger-Themen 8
N JTable auslesen Java Basics - Anfänger-Themen 6
N Java CSV Datei auslesen Java Basics - Anfänger-Themen 6
F Webseiten Quelltext auslesen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben