Beim JFrame erstellen ein anderes schließen

Diskutiere Beim JFrame erstellen ein anderes schließen im AWT, Swing, JavaFX & SWT Bereich.
H

Hieu

Hallo Freunde,

und zwar habe ich 2 JFrame Klassen die eine Klasse ist quasi das Hauptfenster und die andere Klasse bildet ein JFrame mit einem Fenster, wo eine Aufforderung ist den Dateipfad anzugeben zu einer XML Datei, um ein dann ein Instanz vom Hauptfenster zu erstellen mit dem Daten der XML Datei. Wenn ich das Programm starte wird erst eine Instanz der Hauptklasse erstellt und durch einen Menueintrag dann das Eingabefenster geöffnet. Jetzt möchte ich eine neue Instanz des Hauptfensters erstellen durch dieses Fenster und anschließend das alte Hauptfenster schließen. Wie stelle ich das am besten an? Hier sind nochmal die beiden Klassen.
Code:
package Klassen;

import java.awt.*;

import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.table.DefaultTableModel;

/**
 *
 * Description
 *
 * @version 1.0 from 16/07/2020
 * @author
 */

public class GUI extends JFrame implements ActionListener{
  /**
     *
     */
    private static final long serialVersionUID = 1L;
    // start attributes
    
      public static String u[][] = {{"","","",""}};
      public static String rowData[][] = GAEB.Tabellefüllen("Muster-Ausschreibungs-LV-ErdMauerBetonarbeiten-xml32.x83");
      
      private String columnNames[] = {"OZ","Menge","Einheit","Kurztext"};
      private JMenuBar menu = new JMenuBar();
      private JMenu datei = new JMenu("Datei");
      private JMenuItem neu = new JMenuItem("Neu");
      private JMenuItem oeffnen = new JMenuItem("Öffnen");
      private JMenuItem speichern = new JMenuItem("Speichern");
      private JMenuItem beenden = new JMenuItem("Beenden");
      private JTable jTable1 = new JTable(rowData,columnNames);
      
      private JScrollPane jTable1ScrollPane = new JScrollPane(jTable1);
  // end attributes
 
  public GUI() {
    // Frame-Init
          
      super();
        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        int frameWidth = 733;
        int frameHeight = 438;
        setSize(frameWidth, frameHeight);
        Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
        int x = (d.width - getSize().width) / 2;
        int y = (d.height - getSize().height) / 2;
        setLocation(x, y);
        setTitle("Angewandte Programmierung - GAEB -Analyzer");
        setResizable(false);
        Container cp = getContentPane();
        cp.setLayout(null);
        // start components
        
        neu.addActionListener(this);
        oeffnen.addActionListener(this);
        speichern.addActionListener(this);
        beenden.addActionListener(this);
        datei.add(neu);
        datei.add(oeffnen);
        datei.add(speichern);
        datei.add(beenden);
        menu.add(datei);
        setJMenuBar(menu);

        
        
        jTable1ScrollPane.setBounds(0, -2, 724, 398);
        
        cp.add(jTable1ScrollPane);
    
    
    
    // end components
    
    setVisible(true);
  } // end of public GUI
 
  public GUI(String[][] a) {
        // Frame-Init
              
          super();
            setrowData(a);
            setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
            int frameWidth = 733;
            int frameHeight = 438;
            setSize(frameWidth, frameHeight);
            Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
            int x = (d.width - getSize().width) / 2;
            int y = (d.height - getSize().height) / 2;
            setLocation(x, y);
            setTitle("Angewandte Programmierung - GAEB -Analyzer");
            setResizable(false);
            Container cp = getContentPane();
            cp.setLayout(null);
            // start components
            
            neu.addActionListener(this);
            oeffnen.addActionListener(this);
            speichern.addActionListener(this);
            beenden.addActionListener(this);
            datei.add(neu);
            datei.add(oeffnen);
            datei.add(speichern);
            datei.add(beenden);
            menu.add(datei);
            setJMenuBar(menu);

            
            
            jTable1ScrollPane.setBounds(0, -2, 724, 398);
            
            cp.add(jTable1ScrollPane);
        
        
        
        // end components
        
        setVisible(true);
      } // end of public GUI

 
 
  // start methods
 
public void actionPerformed(ActionEvent e) {
        
        if (e.getSource() == neu){
            neu();
        }
        
        if (e.getSource() == oeffnen){
            oeffnen();
        }
        
        if (e.getSource() == speichern){
            speichern();
        }
        
        if (e.getSource() == beenden){
            beenden();
        }
}//Ende actionPerformed

private void beenden() {
    // TODO Auto-generated method stub
      dispose();
}//Ende beenden

private void speichern() {
    // TODO Auto-generated method stub
    
}//Ende speichern

private void oeffnen() {
  GUIoeffnen aa = new GUIoeffnen();
    
}//Ende oeffnen

private void neu() {
    
    GUI z = new GUI(u);
    z.dispose();
    dispose();
    GUI i = new GUI(u);
    
    
  
    
}//Ende neu
public void setrowData(String[][] a) {
    rowData = a ;
}

public String[][] getrowData() {
    return rowData;
}

// end methods
} // end of class GUI
Code:
package Klassen;

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

/**
 *
 * Description
 *
 * @version 1.0 from 23/07/2020
 * @author
 */

public class GUIoeffnen extends JFrame {
  // start attributes
  private JLabel lBittegebeSieIhrenDateipfadan = new JLabel();
  private JTextField jTextField1 = new JTextField();
  private JButton bOeffnen = new JButton();
  // end attributes
 
  public GUIoeffnen() {
    // Frame-Init
    super();
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    int frameWidth = 693;
    int frameHeight = 387;
    setSize(frameWidth, frameHeight);
    Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
    int x = (d.width - getSize().width) / 2;
    int y = (d.height - getSize().height) / 2;
    setLocation(x, y);
    setTitle("Dateipfad angeben");
    setResizable(false);
    Container cp = getContentPane();
    cp.setLayout(null);
    // start components
    
    lBittegebeSieIhrenDateipfadan.setBounds(227, 72, 212, 44);
    lBittegebeSieIhrenDateipfadan.setText("Bitte gebe Sie Ihren Dateipfad an");
    cp.add(lBittegebeSieIhrenDateipfadan);
    jTextField1.setBounds(95, 139, 494, 28);
    cp.add(jTextField1);
    bOeffnen.setBounds(287, 209, 75, 25);
    bOeffnen.setText("Oeffnen");
    bOeffnen.setMargin(new Insets(2, 2, 2, 2));
    bOeffnen.addActionListener(new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
        bOeffnen_ActionPerformed(evt);
      }
    });
    cp.add(bOeffnen);
    // end components
    
    setVisible(true);
  } // end of public GUIoeffnen
 
  // start methods
 
 
 
  public void bOeffnen_ActionPerformed(ActionEvent evt) {
        dispose();
        
        GUI a = new GUI(GAEB.Tabellefüllen(jTextField1.getText()));       
        a.dispose();
        
        GUI b = new GUI(GAEB.Tabellefüllen(jTextField1.getText()));
      
      
      
    
    
  } // end of bOeffnen_ActionPerformed

  // end methods
} // end of class GUIoeffnen
 
Thema: 

Beim JFrame erstellen ein anderes schließen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben