Parentgeschichte

Status
Nicht offen für weitere Antworten.

Balian

Bekanntes Mitglied
Hallo Zusammen,

ich versuche Euch mal mein Problem zu schildern und vereinfacht darzustellen.

1. Nehmen wir an, ich hätte eine Klasse Adresse, welche einen JDialog bereitstellt, mit dem man die Adresse hinterlegen kann.

2. Desweiteren habe ich eine Tabelle in einem JDialog, in welchen alle Adresse zu sehen sind. Doppelklickt, man auf eine Adresse, so soll der Dialog aus 1. mit der vorbesetzten Adresse angezeigt werden.

3. Um mir die Arbeit zu ersparen, habe ich in der Adressklasse eine weiteren Konstruktor definiert, der den ersten Konstruktor aufruft und dann die entsprechenden Felder überschreibt.

Bis hierhin kein Problem, aber:

Der erste Konstruktor erwarete eine JFram als Parent und der zweite eigentlich einen JDialog und das geht nicht.

Entweder es gibt irgendwie eine Lösung für soetwas oder ich muss mir überlegen, wie ich ein JFrame in einem JFrame modal machen kann.

Was sagt ihr dazu.

Danke schon mal......

Gruß

Balian
 
B

Beni

Gast
Ich verstehe nicht ganz, was du meinst, aber denke, dass du sowas suchst:
Code:
public class AddressDialog extends JDialog{
  public AddressDialog( JFrame owner, X x, Y y ){
     super( owner );
     init( x, y );
  }

  public AddressDialog( JDialog owner, X x, Y y ){
     super( owner );
     init( x, y );
  }

  private void init( X x, Y y ){
    // alles hier einstellen
  }
}
 

Balian

Bekanntes Mitglied
Danke erstmal für Deine Antwort.....

Du hast es fast erfassen könnne und das war bestimmt nicht einfach bei miener Erklärung.



Code:
public class AddressDialog extends JDialog{ 
  public AddressDialog( JFrame owner, X x, Y y ){ 
     super( owner ); 
     init( x, y ); 
  } 

  public AddressDialog( JDialog owner, X x, Y y ){ 
     this( owner ); 
     init( x, y ); 
  } 

  private void init( X x, Y y ){ 
    // alles hier einstellen 
  } 
}

Der zweite Konstruktor soll den ersten Konstruktor aufrufen mit this( owner ) und da liegt wohl auch das Problem. Ich übergebe über this( owner ) als Owner ein JFrame und ich habe einen JDialog. Kann ich das irgenwie umgehen. Im ersten Kontruktor ist der komplette Dialog drin und der zweite soll der gleiche sein, nur das dort bei den Felder schon Daten vorbesetzt werden.

Gruß

Balian
 

André Uhres

Top Contributor
Balian hat gesagt.:
..Kann ich das irgenwie umgehen..
Ja, und zwar genauso wie es Beni gezeigt hat:
1. Du bleibst schön brav in deinem jeweiligen Konstruktor.
2. Alles was die beiden gemeinsam haben, packst du in [eine] gemeinsame Methode[n]
und rufst diese in beiden Konstruktoren auf.

Es besteht kein Anlass, einen modalen Frame zu basteln :wink:
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben