Dialog schliesst sich nicht. Warum?

Status
Nicht offen für weitere Antworten.

Kaladial

Bekanntes Mitglied
Moin

als erstes wünsch ich euch mal allen nen frohes neues !!!
so und nun zu meinem problem...
ich hatte schon mal nen thread erstellt hab aber leider noch keine passende antwort erhalten, also versuch ich es nochmal...

also ich habe einen JDialog den ich über den aufruf aufrufe...
den JDialog hab ich auch entsprechend gepostet und mein programm geht auch zur richtigen zeit in die Funktion closeWindow()... das problem: er schliesst den dialog nicht automatisch...

mich würde interesieren warum er den nicht schliesst...
wenn ich z.b. dialoge über buttons schliesse funktioniert dispose() immer... nur bei dem automatischen schliessen geht das irgendwie nicht...

thx für eure hilfe
mfg Kala

Aufruf:

Code:
DlgComStart dlg = new DlgComStart(this, "Starte Com-Port-Verbindung"); 
dlg.setTitle("Starte Com-Port-Verbindung"); 
dlg.setModal(true); 
dlg.setVisible(true);

DlgComStart:

Code:
package ScanControl; 

import javax.swing.JPanel; 

import java.awt.Dimension; 
import java.awt.Frame; 
import java.awt.BorderLayout; 
import java.awt.Rectangle; 
import java.awt.Toolkit; 

import javax.swing.JDialog; 
import javax.swing.JLabel; 

public class DlgComStart extends JDialog { 

   private static final long serialVersionUID = 1L; 
   private JPanel jContentPane = null; 
   private JLabel jLabelMeldung = null; 
   String meldung=""; 
   /** 
    * @param owner 
    */ 
   public DlgComStart(Frame owner, String meldung) { 
      super(owner); 
      this.meldung=meldung; 
      initialize(); 
   } 

   /** 
    * This method initializes this 
    * 
    * @return void 
    */ 
   private void initialize() { 
      final Dimension screenDimension = Toolkit.getDefaultToolkit().getScreenSize(); 
      final int x_pos = (int) (screenDimension.getWidth() / 2.0f - 400.0f / 2.0f); 
      final int y_pos = (int) ((screenDimension.getHeight() / 2.0f - 200.0f / 2.0f)-100); 

      //this.setBounds(new Rectangle(0, 0, 400, 300)); 
      this.setBounds(new Rectangle(x_pos, y_pos, 400, 200)); 
      this.setResizable(false); 
      this.setContentPane(getJContentPane()); 
      jLabelMeldung.setText(""+meldung); 
       
      do{}while(!ScanControl.sc_global.stop_all); 
      closeWindow(); 
   } 

   private void closeWindow(){ 
      System.out.println("close"); 
      dispose(); 
   } 
    
   /** 
    * This method initializes jContentPane 
    * 
    * @return javax.swing.JPanel 
    */ 
   private JPanel getJContentPane() { 
      if (jContentPane == null) { 
         jLabelMeldung = new JLabel(); 
         jLabelMeldung.setText(""); 
         jLabelMeldung.setHorizontalAlignment(JLabel.CENTER); 
         jLabelMeldung.setBounds(new Rectangle(20, 50, 350, 20)); 
         jContentPane = new JPanel(); 
         jContentPane.setLayout(new BorderLayout()); 
         jContentPane.add(jLabelMeldung, BorderLayout.NORTH); 
      } 
      return jContentPane; 
   } 

}
 

mimo

Aktives Mitglied
Versuch mal:

Code:
super(Frame, "Titel", true);
 

The_S

Top Contributor
Geht vermutlich darum http://www.java-forum.org/de/viewtopic.php?p=367947 !?

Naja, hast jetzt lang genug geschmort ... will mal nicht so sein:

Damalige PN von mir an ARadauer hat gesagt.:
Hoi,

ich bin aber gern empfindlich ;) . Ne sry, aber des kann ich net ham, wenn ma Hilfesuchender ist, und sich dann so anstellt.

Fehler: Im Konstruktor wird die initialize Methode aufgerufen. Diese ruft am Ende das windowClose auf. Wenn der Konstruktor aber noch nicht durchgelaufen ist, KANN der Dialog noch gar nicht geöffnet sein. Deshalb wird der Dialog wieder disposed, bevor er überhaupt geöffnet wurde => Wirkungslos. Und irgendwann, nachdem der Konstruktor (und somit auch das dispose) durchlaufen wurde, wird der JDialog erst Visible gesetzt.

Seine "Warten"-Schleife scheint vermutlich von Anfang an auf true zu stehen, da der Dialog scheinbar nicht zeitversetzt geöffnet wird (zumindest merkt er das nicht), und er mit einer schleife ohne sleep alles andere blockieren und somit 100%CPU auslast erzeugen würde.

lg

Frohes Neues ...
 

Kaladial

Bekanntes Mitglied
@hobbit:
hmmm also ScanControl.sc_global.stop_all auf die ich mich in der do while schleife bezieh wird folgendermasen gesetzt:

Code:
                public boolean stop_all=false;
	public synchronized void removeThread(ScannerThread thread) { 
		threads.remove(thread); 
		if (threads.size() == 0) { 
			this.notify(); 
	            stop_all=true;
		} 
	}

also erst wenn alle threads die laufen geschlossen sind wird die variable gesetzt...

also ma ganz kurz die erläuterung wie das laufen sollte:

- ich öffne ne com-verbindung
- ich verändere über einen befehl die baudrate des gerätes das an den com angeschlossen ist
- ich beende die com-verbindung -> setzte die variable auf true so das er aus der warteschleife raus geht.....
- ich erstelle neue comverbindung zu dem gerät mit der nun schnelleren baudrate...
 

The_S

Top Contributor
Lass uns eins nach dem Anderen machen, so kommt man besser ans Ziel, als wenn man alles auf einmal macht ;) .

Hast du denn verstanden, warum dein Dialog nicht geschlossen wird?
 

Kaladial

Bekanntes Mitglied
also nach deiner aussage: weil der sich schliesst bevor er offen ist bzw die methode close aufgerufen wird bevor der dialog überhaupt sichtbar ist
 

The_S

Top Contributor
Indem du diese beiden Codezeilen

Code:
      do{}while(!ScanControl.sc_global.stop_all);
      closeWindow();

nicht im Konstruktor bzw. einer Methode, die vom Konstruktor aufgerufen wird einfügst, sondern erst ausführst, wenn dein Dialog sichtbar ist.
 

The_S

Top Contributor
ich weiß nicht, ich kenn die aufrufende Klasse nicht. Aber du wirst ja irgendwo ein "deinDialog.setVisible(true)" haben!? Diese beiden Codezeilen lagerst du dann in eine extra, public Methode deiner DlgComStart-Klasse aus, und rufst selbige auf, nachdem du den Dialog visible gesetzt hast. Alternativ kannst du auch in deinem Dialog die setVisible-Methode überschreiben, dort dann die dazugehörige Methode aus der Elternklasse aufrufen, und anschließend deine beiden Codezeilen in diese Methode einfügen.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
MiHimbert Rückmeldung an den aufrufenden JAVAFX-Dialog AWT, Swing, JavaFX & SWT 1
H AWT Dialog Größe ändern - Schwarzer Inhalt beim groß ziehen AWT, Swing, JavaFX & SWT 1
L Swing Files abspeichern mit Save as Dialog Fenster AWT, Swing, JavaFX & SWT 5
N JavaFX Vor beenden der Anwendung durch klicken von X Dialog zeigen AWT, Swing, JavaFX & SWT 1
melaniemueller Confirmation Dialog erstellen AWT, Swing, JavaFX & SWT 18
C Swing Aufruf der Funktion (die ein Dialog anzeigt) über Symbol anzeigen lassen AWT, Swing, JavaFX & SWT 4
H Eigener Dialog mit Rückgabe -> Warten auf Button AWT, Swing, JavaFX & SWT 3
kodela Swing Problem mit Warten-Dialog AWT, Swing, JavaFX & SWT 16
ralfb1105 JavaFX Alert Confirmation Dialog aus einem Service Thread AWT, Swing, JavaFX & SWT 8
G JavaFX JavaFX-Dialog aus einer Nicht-JavaFX-Anwendung heraus AWT, Swing, JavaFX & SWT 1
C FileChooser Save-Dialog zeigt Files nicht an AWT, Swing, JavaFX & SWT 3
S AWT Java print dialog Problem AWT, Swing, JavaFX & SWT 0
E Swing Dialog modal aufrufen AWT, Swing, JavaFX & SWT 2
T JavaFX Dialog schließt ohne dass es schließen soll AWT, Swing, JavaFX & SWT 1
RalleYTN Modaler Dialog und JTree Node mit sehr... seeeeehr vielen Elementen AWT, Swing, JavaFX & SWT 6
T JOptionPane Dialog plus Rechnung ausgeben AWT, Swing, JavaFX & SWT 1
krgewb AWT JFrame soll sich wie Dialog verhalten AWT, Swing, JavaFX & SWT 9
J JavaFX Dialog - Style AWT, Swing, JavaFX & SWT 6
D Swing Dynamisches Dialog UI AWT, Swing, JavaFX & SWT 8
H JFileChooser Dateinamen vorgeben (Save Dialog) AWT, Swing, JavaFX & SWT 9
D Neues Dialog Mittig auf dem Bildschirm AWT, Swing, JavaFX & SWT 4
F 2D-Grafik Grafikproblem nach Aufruf von JColorChooser-Dialog AWT, Swing, JavaFX & SWT 6
M Java FX Innerhalb einem FXML-Dialog weiteren FXML-Dialog einblenden AWT, Swing, JavaFX & SWT 3
T SWT SWTBot Test: Dialog soll sich öffnen,wenn button gedrückt AWT, Swing, JavaFX & SWT 3
G Datei öffnen Dialog modifizieren AWT, Swing, JavaFX & SWT 13
W SWT Dialog richtig schließen? AWT, Swing, JavaFX & SWT 0
M Benutzer-Dialog ohne System.in/out AWT, Swing, JavaFX & SWT 2
P JOptionPane input und show Message Dialog AWT, Swing, JavaFX & SWT 5
F Dialog mit Titel, Text und Ok Button AWT, Swing, JavaFX & SWT 2
TheWhiteShadow SWT Dialog Titel setzen AWT, Swing, JavaFX & SWT 6
VfL_Freak Darstellungsproblem mit Dialog AWT, Swing, JavaFX & SWT 8
P Swing Dialog zeigt keinen Inhalt in Verbindung mit JFrame AWT, Swing, JavaFX & SWT 18
G Nebenläufiger Prozess mit Dialog AWT, Swing, JavaFX & SWT 2
C Swing Fortschrittsanzeige im Dialog ohne Fortschrittsbalken und Abbruchoption AWT, Swing, JavaFX & SWT 7
M Swing Elemente im Dialog neu "laden". AWT, Swing, JavaFX & SWT 6
VfL_Freak Swing KeyListener, um einen Dialog per ESC zu schließen AWT, Swing, JavaFX & SWT 6
R DnD in modalem Dialog AWT, Swing, JavaFX & SWT 4
I Dialog zum Speichern? AWT, Swing, JavaFX & SWT 16
M Dialog soll etwas an "Oberklasse" übergeben AWT, Swing, JavaFX & SWT 3
qwerqer Swing JDialog Darstellungsprobleme - Dialog lässt sich nicht schließen AWT, Swing, JavaFX & SWT 3
M Datei Speichern unter Dialog - SWT AWT, Swing, JavaFX & SWT 3
hdi Swing Bzgl JFrame & modaler Dialog AWT, Swing, JavaFX & SWT 6
N Modaler Dialog wird nicht angezeigt AWT, Swing, JavaFX & SWT 8
J SWT Dialog in Dialog automatisch öffnen AWT, Swing, JavaFX & SWT 19
H Confirm Dialog erweitern AWT, Swing, JavaFX & SWT 5
K Modaler Dialog aber trotzdem Aktualisierung des MainFrames AWT, Swing, JavaFX & SWT 6
B Gestaltung eines Optionen-Dialog AWT, Swing, JavaFX & SWT 16
P Swing Option zeitbeschränkt in modalem Dialog anbieten AWT, Swing, JavaFX & SWT 2
X Einem JFrame einen Dialog als Parent setzen. Möglich? AWT, Swing, JavaFX & SWT 4
L AWT Window, Dialog und verschiedene Betriebssysteme AWT, Swing, JavaFX & SWT 2
T SWT Window Builder Pro File Dialog anzeigen AWT, Swing, JavaFX & SWT 10
A Swing Delay (1-4 Sek.) bei JTable und Dialog beim ersten Ausführen AWT, Swing, JavaFX & SWT 3
P Swing modaler dialog AWT, Swing, JavaFX & SWT 3
P SWT Dialog AWT, Swing, JavaFX & SWT 3
O Login Dialog zweimal öffnen AWT, Swing, JavaFX & SWT 2
B Datei öffnen Dialog AWT, Swing, JavaFX & SWT 9
N Swing eigenen Dialog erstellen AWT, Swing, JavaFX & SWT 8
C Swing Fehlermeldung in einem Dialog anzeigen AWT, Swing, JavaFX & SWT 2
L Dialog mit Dauerschleifen AWT, Swing, JavaFX & SWT 4
K SWT TableViewer refresh() im Dialog AWT, Swing, JavaFX & SWT 2
Semox Swing FileSaveAs Dialog Problem AWT, Swing, JavaFX & SWT 14
H Sub-Dialog von modalem JDialog aus aufrufen - geht das? AWT, Swing, JavaFX & SWT 6
B Dialog aus DB Struktur erstellen AWT, Swing, JavaFX & SWT 4
D URL Dialog AWT, Swing, JavaFX & SWT 2
B Swing Keylistener fuer Dialog-Buttons AWT, Swing, JavaFX & SWT 2
J nicht weckklickbarer dialog AWT, Swing, JavaFX & SWT 15
S Frame - Panel - Dialog rückgabe wert AWT, Swing, JavaFX & SWT 5
D Swing Dialog schließen verhindern bei Fehleingabe AWT, Swing, JavaFX & SWT 2
F JColorChooser NICHT im Dialog AWT, Swing, JavaFX & SWT 12
C Swing Mit jTree ein Ordneröffnen Dialog machen? Und Ordner Inhalt auslesen? AWT, Swing, JavaFX & SWT 4
N SWT Dialog mit swt-widgets AWT, Swing, JavaFX & SWT 5
L AWT Daten vom Dialog an Frame senden AWT, Swing, JavaFX & SWT 3
Lurch Swing Dialog erbt von Dialog? AWT, Swing, JavaFX & SWT 28
eQuest Durchsuchen Dialog AWT, Swing, JavaFX & SWT 6
D ausgewählte Textstellen scheinen durch Dialog durch AWT, Swing, JavaFX & SWT 7
S Modalen Dialog nachbauen..? AWT, Swing, JavaFX & SWT 4
E Swing Rückgabe eines Wertes aus einem Dialog zu einem Dialog AWT, Swing, JavaFX & SWT 4
W Swing Problem beim Passwort Dialog AWT, Swing, JavaFX & SWT 4
T Dialog ohne Frame, direktes paint in graphics AWT, Swing, JavaFX & SWT 5
C requestFocus bei modalem Dialog AWT, Swing, JavaFX & SWT 3
5 Mod.Dialog reagiert n.auf ActionListener seiner Komponenten AWT, Swing, JavaFX & SWT 4
A Bitte warten Dialog AWT, Swing, JavaFX & SWT 4
G SWT Dialog AWT, Swing, JavaFX & SWT 7
GilbertGrape EXIT_ON_CLOSE in Dialog AWT, Swing, JavaFX & SWT 3
T JFileChooser: beim Save Dialog einen Dateinamen vorgeben? AWT, Swing, JavaFX & SWT 6
K Druck-Dialog AWT, Swing, JavaFX & SWT 4
D JTable nach Öffnen-Dialog umbaun AWT, Swing, JavaFX & SWT 5
K Automatisch einen Dialog schliessen AWT, Swing, JavaFX & SWT 15
J dialog AWT, Swing, JavaFX & SWT 5
H nicht modaler Dialog verdeckt modalen Dialog AWT, Swing, JavaFX & SWT 5
S Probl. bei Java Programm - Dialog zum Bearbeiten von Bildern AWT, Swing, JavaFX & SWT 4
W Wie macht man so nen Settings Dialog AWT, Swing, JavaFX & SWT 2
K Datei öffnen Dialog AWT, Swing, JavaFX & SWT 5
K Dialog aus einem Dialog öffnen AWT, Swing, JavaFX & SWT 4
S preference dialog öffnen AWT, Swing, JavaFX & SWT 8
spacegaier Fehler beim Aufrufen von Dialog aus ActionListener AWT, Swing, JavaFX & SWT 12
B Confirmation Dialog AWT, Swing, JavaFX & SWT 2
T DIALOG für BEENDEN AWT, Swing, JavaFX & SWT 11
N Dialog text bis zum nächsten öffnen sichern AWT, Swing, JavaFX & SWT 4
G Dialog ohne Titelleiste AWT, Swing, JavaFX & SWT 8

Ähnliche Java Themen

Neue Themen


Oben