JDiaolog schließen.

Status
Nicht offen für weitere Antworten.

till123

Bekanntes Mitglied
Hallo,

ich habe mal wieder ein kleines Problemchen:

Von einem JFrame aus, wir ein JDialog geöffnet.
Der Konstruktor beinhaltet auch einen Vektor mit String[], welche dann im neuen JDialog in einer Tabelle angezeigt werden.

Nun habe ich aber das Gefühl, dass wenn ich den JDialog schließe (mit einem dispose() ), der zuvor initialisierte Vektor (oder besser gesagt das JTable) im JDialog weiterhin existiert...?
Das äußert sich so, dass wenn ich den JDialog mit einem anderen Vektor öffne, der alte Vektor (also Inhalt) immer noch angezeigt wird.

D.h., z.B.: Wenn der Vektor sechs Elemente beinhaltet, dann werden zuerst auch die sechs Elemente ordnungsgemäß dargestellt. Schließe ich den JDialog, und rufe ihn danach wieder auf (z.B. wieder mit einem Vektor mit sechs Elementen), dann wird im JTable zuerst der "alte" Vektor und hintendran gereiht der neue Vektor ausgegeben.
(Die Vektorgröße ist bei jedem JDialogaufruf sechs!)

Habt ihr da eine Idee? Muss ich mein jTabel manuell löschen, wenn ich den JDialog schließe?..?


Hier mal der Quellcode:

Code:
package gui;
import com.cloudgarden.layout.AnchorConstraint;
import com.cloudgarden.layout.AnchorLayout;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Vector;
import javax.swing.JButton;


import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;



public class ShowResult extends javax.swing.JDialog {
	private JScrollPane jScrollPane1;
	private Vector resultOfAnalysis;
	private JTable tableColumns;
	private String windowDescription;
	private JButton closeShowResults;

	public ShowResult(InsertQueries frame,Vector resultOfAnalysis, String windowDescription) {
		super(frame);
		this.resultOfAnalysis=resultOfAnalysis;
		this.windowDescription=windowDescription;
		initGUI();
	}
	
	private void initGUI() {
		try {
			AnchorLayout thisLayout = new AnchorLayout();
			getContentPane().setLayout(thisLayout);
			this.setTitle("Ergebnis der Abfrage");
			{
				jScrollPane1 = new JScrollPane();
				getContentPane().add(jScrollPane1, new AnchorConstraint(10, 980, 850, 20, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				{
					tableColumns = getTableColumns();
					jScrollPane1.setViewportView(tableColumns);
				}
			}
			{
				closeShowResults = new JButton();
				getContentPane().add(closeShowResults, new AnchorConstraint(910, 550, 960, 450, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL, AnchorConstraint.ANCHOR_REL));
				closeShowResults.setText("Ok");
				closeShowResults.addMouseListener(new MouseAdapter() {
					public void mouseClicked(MouseEvent evt) {
						closeShowResultsMouseClicked(evt);
					}
				});
			}
			setSize(1200, 800);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	private JTable getTableColumns() {
		int numberOfRows = resultOfAnalysis.size();
		int numberOfColumns = ((String[]) resultOfAnalysis.firstElement()).length;
		DefaultTableModel tableColumnsModel = 
				new DefaultTableModel(
						new String[numberOfRows][numberOfColumns] ,
						(String[]) resultOfAnalysis.firstElement())
        {
            public boolean isCellEditable(int row, int col)
            {
                return false;
            }

        }; 
			tableColumns = new JTable();
			jScrollPane1.setViewportView(tableColumns);
			tableColumns.setModel(tableColumnsModel);
			resultOfAnalysis.removeElementAt(0);   
			for (int i=0;i<numberOfRows-1;i++)
            {
            	String[] helpMeArray = (String[])resultOfAnalysis.elementAt(i);
                for (int j=0;j<numberOfColumns;j++) 
                	{
                		tableColumns.setValueAt(helpMeArray[j],i,j);
                	}
            }
		return tableColumns;
	}

	
	private void closeShowResultsMouseClicked(MouseEvent evt) {
		this.dispose();
	}

}
 

Marco13

Top Contributor
Hm ???:L beim ersten Drüberlesen ist mir jetzt erstmal nichts falsches ins Auge gesprungen - wenn jedes Mal eine neue Instanz des Dialogs erzeugt wird, kann da eigentlich nichts übrigbleiben. Bist du sicher, dass der übergebene Vector NUR das enthält, was er enthalten soll? Gib' am besten mal im Konstruktor die größe des Vektors (und am besten auch gleich seinen Inhalt) aus, und schau' ob da was nicht stimmt...
 

till123

Bekanntes Mitglied
Hallo,

das habe ich schon überprüft:
Die Größe des Vektors (ermittelt mit .size()) stimmt! Es wird immer angezeigt, das der Vektor (in meinen Testfällen) sechs Elemente beinhaltet! So soll es auch sein.


Na mal schauen, wenn die GUI soweit richtig aussieht, dann steckt der Teufel irgendwo im Detail ;)


Aber wenn noch einer eine Idee hat... Bin für alles Dankbar.
 

André Uhres

Top Contributor
"dispose()" gibt nur die nativen Bildschirm Resourcen frei, die von diesem Fenster benutzt werden.
Das Fenster, mit allen Teilkomponenten, kann mit setVisible(true) wieder sichtbar gemacht werden
wodurch die nativen Resourcen neu angelegt werden.

Der Status des neuerstellten Fensters mit den Teilkomponenten ist danach
identisch mit dem Status, den diese Objekte hatten als das Fenster "disposed" wurde
(mit Ausnahme von zusätzlichen Änderungen zwischen diesen Aktionen).

In dem Fall wäre es also völlig normal, daß die JTable immer noch den alten Inhalt hat.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
H Beim JFrame erstellen ein anderes schließen AWT, Swing, JavaFX & SWT 0
S GUI Schließen Button auf der linken Seite AWT, Swing, JavaFX & SWT 2
emma_louisa JavaFX MenuBar Zweitfenster; bei Button "Abbrechen" nur das Zweitfenster schließen AWT, Swing, JavaFX & SWT 2
K Frame aus anderer Klasse schließen AWT, Swing, JavaFX & SWT 3
T JavaFX Dialog schließt ohne dass es schließen soll AWT, Swing, JavaFX & SWT 1
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
T Fenster schließen AWT, Swing, JavaFX & SWT 4
R JFrame schließen AWT, Swing, JavaFX & SWT 9
D Frame beim starten eines anderen Frames schließen AWT, Swing, JavaFX & SWT 2
T Klasse über JButton schließen AWT, Swing, JavaFX & SWT 4
D JavaFX Beim Schließen (Rotes X) Code ausführen AWT, Swing, JavaFX & SWT 1
D Geöffnetes Dialogfenster schließen AWT, Swing, JavaFX & SWT 11
C Java FX Probleme beim Schließen einer Stage AWT, Swing, JavaFX & SWT 11
T Event Handling JDialog schließen, sobald ein neuer erzeugt wird AWT, Swing, JavaFX & SWT 3
O Neuen JFrame öffnen und alten schließen AWT, Swing, JavaFX & SWT 7
D Swing Schließen von JDialog soll auch JFrame schließen. AWT, Swing, JavaFX & SWT 4
C Programm mit Passwort schließen AWT, Swing, JavaFX & SWT 5
E JavaFX JavaFX Fenster nicht schließen AWT, Swing, JavaFX & SWT 4
thet1983 offne Fenster gemeinsam schließen AWT, Swing, JavaFX & SWT 8
F Swing JDialog schließen - WindowListener bekommt dispose nicht mit AWT, Swing, JavaFX & SWT 0
U Swing Beim Bedienen eines Buttons JFrame schließen AWT, Swing, JavaFX & SWT 2
W SWT Dialog richtig schließen? AWT, Swing, JavaFX & SWT 0
I JFrame mit JButton schließen? AWT, Swing, JavaFX & SWT 0
F JavaFX KeyListener zum Fenster öffnen/schließen AWT, Swing, JavaFX & SWT 9
U Mehrere Oberflächeninstanzen seperat schließen AWT, Swing, JavaFX & SWT 5
VfL_Freak AWT Browser öffnen und schließen via java.awt.Desktop AWT, Swing, JavaFX & SWT 4
L Event Handling windowAdapter - NullPointerException beim Schließen AWT, Swing, JavaFX & SWT 5
R SWT Wizard schließen AWT, Swing, JavaFX & SWT 2
M Swing Einzelne Fenster schließen AWT, Swing, JavaFX & SWT 2
L SWT Eingabefelder beim Schließen des Forms auslesen AWT, Swing, JavaFX & SWT 3
M Swing ButtonListener Fenster schließen AWT, Swing, JavaFX & SWT 15
C Swing Wie kann ich im Programm das Menü schließen AWT, Swing, JavaFX & SWT 2
J Swing JInternalFrame schließen ändern? AWT, Swing, JavaFX & SWT 7
S JDialog per Button schließen AWT, Swing, JavaFX & SWT 2
M Fenster schließen - Listener AWT, Swing, JavaFX & SWT 5
D Neues Frame öffnen - und dazu altes schließen AWT, Swing, JavaFX & SWT 5
VfL_Freak Swing KeyListener, um einen Dialog per ESC zu schließen AWT, Swing, JavaFX & SWT 6
M JPopupMenu per Klick schließen und gleichzeitig ActionEvent auf JButton? AWT, Swing, JavaFX & SWT 15
S Fremdes Fenster schließen AWT, Swing, JavaFX & SWT 2
E Fenster schließen und ein anderes öffnen AWT, Swing, JavaFX & SWT 9
L Frame Schließen und neustarten AWT, Swing, JavaFX & SWT 4
qwerqer Swing JDialog Darstellungsprobleme - Dialog lässt sich nicht schließen AWT, Swing, JavaFX & SWT 3
Madlip SWT DateTime Widget Schließen AWT, Swing, JavaFX & SWT 4
K beim Schließen des JFrames, Methode aufrufen AWT, Swing, JavaFX & SWT 3
X Öffnen Schließen Fenster AWT, Swing, JavaFX & SWT 4
J Schließen über x soll zwei Prozesse beenden AWT, Swing, JavaFX & SWT 7
J Programm schließen AWT, Swing, JavaFX & SWT 4
H Anwendung schließen ohne System.exit AWT, Swing, JavaFX & SWT 5
0 Fenster schließen AWT, Swing, JavaFX & SWT 2
B AWT mehrere Fenster schließen AWT, Swing, JavaFX & SWT 8
S JPopupMenu schließen in SystemTray AWT, Swing, JavaFX & SWT 2
D Fenster schließen AWT, Swing, JavaFX & SWT 7
S AWT Fenster schließen und Programm beenden AWT, Swing, JavaFX & SWT 10
F Swing JFrame Methode beim Schließen aufrufen AWT, Swing, JavaFX & SWT 5
2 Zusätzliches Fenster mit OK-Button schließen AWT, Swing, JavaFX & SWT 7
B Fenster schließen AWT, Swing, JavaFX & SWT 4
N Swing Von 2 dimensionalem Array auf JTextfield schließen und färben AWT, Swing, JavaFX & SWT 6
E JWindow bewegen, minimieren, vergrößern und schließen AWT, Swing, JavaFX & SWT 5
W Swing Event bei Schließen des Fensters AWT, Swing, JavaFX & SWT 6
I Fenster schließen - Button AWT, Swing, JavaFX & SWT 13
S Swing JPopupMenu nicht schließen AWT, Swing, JavaFX & SWT 2
G Swing Fenster schließen AWT, Swing, JavaFX & SWT 6
R WindowClosing Event - Schließen rückgängig machen? AWT, Swing, JavaFX & SWT 2
aze FlowLayout:Lücken "schließen" AWT, Swing, JavaFX & SWT 2
D Swing Dialog schließen verhindern bei Fehleingabe AWT, Swing, JavaFX & SWT 2
T Schließen eines JDialogs setzen den JFrame in den Hintergrund AWT, Swing, JavaFX & SWT 2
N JInternalFrame minimieren und schließen AWT, Swing, JavaFX & SWT 2
M JWindow schließen wenn Frame sich ändert AWT, Swing, JavaFX & SWT 2
E Fenster schließen über X AWT, Swing, JavaFX & SWT 8
DStrohma JFrame mit WindowListener schließen AWT, Swing, JavaFX & SWT 12
M Main Frame schließen und neue Klasse aufrufen? AWT, Swing, JavaFX & SWT 2
T AWT Vollbild öffnen und schließen AWT, Swing, JavaFX & SWT 3
D Swing JMenu wieder schließen lassen AWT, Swing, JavaFX & SWT 7
ModellbahnerTT Neuer JFrame schließen AWT, Swing, JavaFX & SWT 4
U Tab schließen durch Button in Panel AWT, Swing, JavaFX & SWT 7
D aktuells fenster + letztes fenster schließen AWT, Swing, JavaFX & SWT 5
S Frames schließen AWT, Swing, JavaFX & SWT 6
R [gelöst]Fenster schließen - trotz Endlosschleife in der Paint-Methode? AWT, Swing, JavaFX & SWT 3
J Swing Anwendung schließen im Listener AWT, Swing, JavaFX & SWT 3
C Swing Schließen, Maximieren, Minimieren entfernen AWT, Swing, JavaFX & SWT 6
D Schließen der GUI auf knopfdruck AWT, Swing, JavaFX & SWT 7
T Views bedingt öffnen oder schließen AWT, Swing, JavaFX & SWT 6
L JFrame-Verhalten bei Klick auf Schließen-Kreuz ändern AWT, Swing, JavaFX & SWT 3
klattiator Icon und Button zum Schließen in einem Tab AWT, Swing, JavaFX & SWT 3
M JFileChooser schließen AWT, Swing, JavaFX & SWT 2
T JPopupMenu "schließen" AWT, Swing, JavaFX & SWT 7
W Problem bei awt und Swing mit Schließen des Fensters AWT, Swing, JavaFX & SWT 2
P Schließen-Button bei JTabbedPane? AWT, Swing, JavaFX & SWT 2
V JFrame schließen und Programmzeile(n) ausführen AWT, Swing, JavaFX & SWT 3
A Eins von zwei offnen Fenster/Frames schließen AWT, Swing, JavaFX & SWT 2
S methode aufrufen beim Schließen von GUI AWT, Swing, JavaFX & SWT 7
A Bei Klick auf disabled JMenuItem JMenu nicht schließen AWT, Swing, JavaFX & SWT 2
J Fenster schließen ohne das Programm zu beenden AWT, Swing, JavaFX & SWT 3
S JFrame per Button schließen AWT, Swing, JavaFX & SWT 3
D WindowEvent beim Schließen eines JFrame AWT, Swing, JavaFX & SWT 20
G ein AWT-Frame schließen . AWT, Swing, JavaFX & SWT 8
A Schließen eines JOptionPane.showConfirmDialog AWT, Swing, JavaFX & SWT 6
C Beim Schließen eines fensters, schließen sich alle AWT, Swing, JavaFX & SWT 5
F Programmiertes Fenster schließen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben