new .() extends JDialog {.}

Status
Nicht offen für weitere Antworten.

Spoocky

Aktives Mitglied
Ich habe folgendes Problem:

und zwar rufe ich in meinem Hauptprogramm folgendes auf:

Code:
new neuesFenster().setVisible(true);

Die Klasse dazu sieht so aus:

Code:
class neuesFenster extends JDialog {
   public neuesFenster() {
   ...
   }
}


später wird diese Klasse mit...

Code:
dispose();

zerstört.

Leider funktioniert das nicht so ganz, soll heissen, dass wenn man die Klasse erneut aufruft, der inhalt in den eingaben des 'alten' Fensters erhalten bleibt. Kann man es irgendwie anders machen, ein Fenster zu 100% zu 'zerstören' ?
 

Spoocky

Aktives Mitglied
verstehe nicht genau, wie du das meinst. Mit jedem Aufruf von 'new ...()' wird doch ein neues erstellt, oder ?
 

André Uhres

Top Contributor
Spoocky hat gesagt.:
verstehe nicht genau, wie du das meinst. Mit jedem Aufruf von 'new ...()' wird doch ein neues erstellt, oder ?
Selbstverständlich. Wenn das alte zerstört ist und du brauchst es nochmal, dann musst du ja ein neues erstellen :wink:
 

Leroy42

Top Contributor
Wenn du jedesmal ein neues Fenster mit new erzeugst,
bekommst du auch ein frisches. Könnte es sein
das du den Inhalt von Textfeldern etc. aus statischen Variablen beziehst?
 

Spoocky

Aktives Mitglied
ja, ich benutze globale variablen, weil diese im gesamten programm zur verfügung stehen müssen.

Gibt es vielleicht eine Möglichkeit, dass man dies anders angehen kann ?
 

thE_29

Top Contributor
global gibts in Java net!

Das sind Klassenvariablen und die sind NICHT BÖSE!!

Es geht nur darum ob du was als static deklariert hast oder nicht!
 

André Uhres

Top Contributor
Wenn du eine neue Instanz vom Dialog erzeugst, werden die Variablen neu initialisiert. Also wo ist das Problem?
 

Leroy42

Top Contributor
Spoocky hat gesagt.:
ja, ich benutze globale variablen
thE_29 hat gesagt.:
globale Variablen gibts in Java net!
Spoocky hat gesagt.:
diese variablen sind nicht mit 'static' deklariert!

Ja was denn nun! Widerlege erstmall Andrés und thE_29's Behauptung
in dem du uns zeigst wie du es in Java schaffst globale Variablen
zu definieren ohne static (wobei auch statische (Klassen-)Variablen
natürlich nicht global sind)
 

Spoocky

Aktives Mitglied
Also:

die Variablen werden in der 'Hauptklasse' inizialisiert, so dass man diese dann quasi 'global' nutzen kann.
 

André Uhres

Top Contributor
Spoocky hat gesagt.:
Also:

die Variablen werden in der 'Hauptklasse' inizialisiert, so dass man diese dann quasi 'global' nutzen kann.
Ja, dann ist das ja von dir so gewollt und ich versteh immer noch nicht wo dein Problem ist :x
 

Leroy42

Top Contributor
Also sowas wie

Code:
class MyPanel extends JPanel {
  JTextField tf = new JTextField("Ich stehe im Textfeld");
  ...
  public MyPanel() {
    ...
    add(tf);
   ...
  }
  ...
}
???

Dann wird natürlich bei jedem Aufruf von new MyPanel() das Textfeld
mit immer demselben String vorbelegt!
 

Spoocky

Aktives Mitglied
ja, genau so, nur dass den Variablen noch kein Inhalt zugewiesen wird, sie aber deklariert sind.
Während das Programm läuft, werden die Variablen mit Inhalten gefüllt (sind vom Typ 'JTextField').
Wird die Klasse mit ...setVisible(false) und dispose() 'geschlossen' und später wieder aufgerufen (setVisible(true)), dann sind noch die Inhalte der Variablen vorhanden. Und das ist genau das Problem. Wenn die Klasse wirklich 'zerstört' würde, wären danach die Inhalte der Variablen leer, oder ?
 

André Uhres

Top Contributor
Spoocky hat gesagt.:
ja, genau so, nur dass den Variablen noch kein Inhalt zugewiesen wird, sie aber deklariert sind.
Während das Programm läuft, werden die Variablen mit Inhalten gefüllt (sind vom Typ 'JTextField').
Wird die Klasse mit ...setVisible(false) und dispose() 'geschlossen' und später wieder aufgerufen (setVisible(true)), dann sind noch die Inhalte der Variablen vorhanden. Und das ist genau das Problem. Wenn die Klasse wirklich 'zerstört' würde, wären danach die Inhalte der Variablen leer, oder ?
Einen setVisible von eine zerstörten Klasse machen? :roll:
 

Leroy42

Top Contributor
André Uhres hat gesagt.:
Spoocky hat gesagt.:
setVisible(false) und dispose() 'geschlossen' und später wieder aufgerufen (setVisible(true))
Einen setVisible von eine zerstörten Klasse machen? :roll:

Spooky meint natürlich setVisible(true) auf die Instanz, nicht auf die Klasse.

Aber daß es funktioniert auf ein Fenster das disposed wurde
ein setVisible(true) machen zu können ist zumindest nicht im
Sinne des Erfinders. Zwei Lösungen:

1) Statt "erneut setVisible(true)" aufzurufen erstmal eine neue Instanz via new kreieren.

2) Sauberer: eine Methode verpassen die die Initialisierung der Textfelder durchführt.
und diese vor dem setVisible(true) aufrufen. Dann aber auf keinen Fall
zuvor dispose aufrufen.

Code:
public MyFrame extends JFrame {
  JTextField tf;
  public MyFrame() {
    initGui();
  }

  void initGUI() {
    tf = new JTextField("...");
  }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Wiedermal vererbung, extends JDialog extends Exception ? Java Basics - Anfänger-Themen 8
mrStudent <? extends T> und <? super T> Java Basics - Anfänger-Themen 1
berserkerdq2 Größter unterschied von extends thread und implements runnable? Java Basics - Anfänger-Themen 2
N Variabel in eine class mit "extends JLabel" übertragen Java Basics - Anfänger-Themen 2
J extends Problem Java Basics - Anfänger-Themen 2
N extends und super vs new object Java Basics - Anfänger-Themen 4
JavaTalksToMe Extends/Implements Frage Java Basics - Anfänger-Themen 3
D public ArrayList(Collection<? extends E> c); Java Basics - Anfänger-Themen 2
CptK Interface Klasse Frame (extends JFrame) aus anderer Klasse schließen Java Basics - Anfänger-Themen 7
J Implements und Extends Java Basics - Anfänger-Themen 5
C Was macht `public class ClassName<T extends Comparable<T>>`? Java Basics - Anfänger-Themen 14
J Compiler-Fehler Fehler bei Vektor (E extends Object declared in class Vector) Java Basics - Anfänger-Themen 9
M mehrere extends? Java Basics - Anfänger-Themen 19
J doppelname nach schlüsselwort extends Java Basics - Anfänger-Themen 4
V Was bewirkt das Schlüsselwort extends in Verbindung mit class bzw. public class ? Java Basics - Anfänger-Themen 2
T extends und implements Java Basics - Anfänger-Themen 11
Crazynet 2 extends Java Basics - Anfänger-Themen 22
S Wrapper Klasse und extends Java Basics - Anfänger-Themen 2
W Methoden Rückgabedatentyp java.util.Map<java.lang.String,? extends ...> Java Basics - Anfänger-Themen 4
R Vererbung Übergabe von Variablen der Superklasse an Subklasse mit "extends" Java Basics - Anfänger-Themen 5
K Erste Schritte Extends Implements Java Basics - Anfänger-Themen 4
S Threads Thread wenn extends schon vergeben Java Basics - Anfänger-Themen 8
vandread Java Wildcards - Wann super wann extends? Java Basics - Anfänger-Themen 2
F Anfängerfrage zu extends Java Basics - Anfänger-Themen 12
B addAll(Collection<? extends E> c) Java Basics - Anfänger-Themen 9
T Input/Output StructuredFileReader extends BufferedReader Java Basics - Anfänger-Themen 6
K Erste Schritte extends vererbung Java Basics - Anfänger-Themen 15
P Class<? extends Entity> Array Java Basics - Anfänger-Themen 9
A final und extends Java Basics - Anfänger-Themen 14
Y Threads extends Thread oder implements Runnable Java Basics - Anfänger-Themen 10
C Vererbung "extends" umgehen mittels Objekterzeugung?! Java Basics - Anfänger-Themen 29
L Implements<-->extends und Interface Java Basics - Anfänger-Themen 10
T Collections Queue<? extends Number> add() offer() Java Basics - Anfänger-Themen 13
S Klasse extends HashMap Java Basics - Anfänger-Themen 20
L Problem mit Vererbung (extends) cannot find symbol Java Basics - Anfänger-Themen 3
D MyActionListener extends Thread Java Basics - Anfänger-Themen 3
H2SO3- Designfragen (mehrfach extends) Java Basics - Anfänger-Themen 11
G Unterschied e extends y vs ? extends y Java Basics - Anfänger-Themen 5
X List von Klasse B als List von Klasse A (B extends A) Java Basics - Anfänger-Themen 2
H extends Locale Java Basics - Anfänger-Themen 4
O import ja....extends nein Java Basics - Anfänger-Themen 5
G Muss es immer extends sein ? Java Basics - Anfänger-Themen 9
N class Test<E extends MyAbstractClass> => typ von E? Java Basics - Anfänger-Themen 5
K mehrere Extends Java Basics - Anfänger-Themen 2
S extends Vector<xyz> Java Basics - Anfänger-Themen 10
S extends und Konstruktor Java Basics - Anfänger-Themen 8
E Interface extends Observable Java Basics - Anfänger-Themen 13
U extends JLabel & Thread Java Basics - Anfänger-Themen 2
G Innere klasssen unde "extends" klassen definieren, Java Basics - Anfänger-Themen 2
frau-u JMenu mit extends JPanel? Java Basics - Anfänger-Themen 4
G "extends DBConnection" funktioniert nicht Java Basics - Anfänger-Themen 15
N extends / implements / static, bedeutung ?? Java Basics - Anfänger-Themen 12
C Problem mit Zeichnen auf einer extends Canvas Class... Java Basics - Anfänger-Themen 2
A Jdialog nur 1x anzeigen Java Basics - Anfänger-Themen 2
D JButton in JDialog mit Action belgen Java Basics - Anfänger-Themen 6
J JDialog Zugriff auf parent JDialog Java Basics - Anfänger-Themen 5
J JDialog: wie kann ich ihn direkt als invisible erstellen Java Basics - Anfänger-Themen 7
A JDialog öffnet sich nicht Java Basics - Anfänger-Themen 7
D JDialog schließen Java Basics - Anfänger-Themen 11
I Veränderungen am JPanel vom JDialog aus Java Basics - Anfänger-Themen 6
H JDialog Problem Java Basics - Anfänger-Themen 10
H Problem JDialog.setVisible Java Basics - Anfänger-Themen 3
T Modales JDialog schliessen mit JButton Java Basics - Anfänger-Themen 2
I JDialog Problem Java Basics - Anfänger-Themen 37
J Icon JDialog mit Java 1.4 Java Basics - Anfänger-Themen 2
M JDialog Modality Java Basics - Anfänger-Themen 7
S JDialog resize zur Laufzeit PROBLEM!!! Java Basics - Anfänger-Themen 5
S JDialog und SwingUtilities Java Basics - Anfänger-Themen 6
H Modalen JDialog schließen, ohne dabei das Parent-Frame zu schließen Java Basics - Anfänger-Themen 7
M JDialog soll was an die AufruferKlasse zurück geben Java Basics - Anfänger-Themen 3
S Layout JDialog Java Basics - Anfänger-Themen 9
S eigene Methoden in JDialog Java Basics - Anfänger-Themen 13
pun Im JDialog auf Objekt im Parent JFrame zugreifen Java Basics - Anfänger-Themen 2
C Frame, JFrame, JDialog Java Basics - Anfänger-Themen 12
S Datenzugriff auf JDialog! Java Basics - Anfänger-Themen 8
A JDialog, Owner JFrame ZIEL: nciht in der taskbar Java Basics - Anfänger-Themen 9
E Übergabe von werten aus einem JDialog Java Basics - Anfänger-Themen 4
B Grafiken/Bilder mit Netbeans in Jdialog Java Basics - Anfänger-Themen 7
O Beim Schließen JDialog, im Frame-Owner eine Methode starten Java Basics - Anfänger-Themen 6
G JDialog + p aintComponent-Override Java Basics - Anfänger-Themen 3
A Klasse erbot von JDialog. Kontruktor? Java Basics - Anfänger-Themen 4
M Hauptfenster nicht wählbar bei offenem JDialog Java Basics - Anfänger-Themen 2
G Bei JDialog warten Java Basics - Anfänger-Themen 5
B Fenstergröße variiert bei JDialog.pack()-Aufruf Java Basics - Anfänger-Themen 10
S JDialog während automatischer Dateisuche einblenden Java Basics - Anfänger-Themen 6
J JDialog zeigt nichts an Java Basics - Anfänger-Themen 4
C JDialog Werte nach Frame übergeben Java Basics - Anfänger-Themen 10
G JDialog + setOpaque Java Basics - Anfänger-Themen 5
G JDialog auf Jpanel statt Frame? Java Basics - Anfänger-Themen 4
N Werte von JDialog entgegennehmen Java Basics - Anfänger-Themen 7
G JDialog-Status im Frame abfragen Java Basics - Anfänger-Themen 2
Bernasconi dynamisches JDialog Java Basics - Anfänger-Themen 2
T Register im JDialog Java Basics - Anfänger-Themen 9
G JDialog übers X schliessen und Programm beenden Java Basics - Anfänger-Themen 4
C Fehlermeldungen umleiten auf JDialog Java Basics - Anfänger-Themen 2
M Button in einem JDialog mit Enter ausführen Java Basics - Anfänger-Themen 2
C FocusLost reagiert nicht bei JDialog Java Basics - Anfänger-Themen 5
E Von einem JDialog einen neuen JDialog aufrufen Java Basics - Anfänger-Themen 10
R JDialog schließen ( nicht mit dispose()! ) Java Basics - Anfänger-Themen 14
G JDialog Java Basics - Anfänger-Themen 15

Ähnliche Java Themen

Neue Themen


Oben