Innerhalb der GUI Klasse meine neue Klasse aufrufen

Status
Nicht offen für weitere Antworten.

runT

Mitglied
Hi Zusammen,

Ich komm irgendwie bei meinem Programm nicht weiter. Ich möchte dass bei einer Action-Command (ein Klick auf das menu-Item), ein neues Fenster aufgerufen wird. Dieses neue Fenster JFrame ("DDS-Analyse") habe ich in einer neuen Klasse Analyse.java konstruiert. Könnt Ihr mal reinschauen, weshalb das Fenster nicht geöffnet wird. Es scheint so, dass was getan wird.. aber sofort wieder verschwindet.

Ich hab mal es anders versucht, dass ich mein Aufruf gleich am Anfang meiner Gui-Klasse programmiert habe... klar ist, dass beim Programmstart dann alle Fenster gleichzeitig öffnet incl die neue Klasse.. das möchte ich aber nicht. So sieht die aus:

Gui Klasse:

Code:
/*
 * DamoclesXPGui.java
 *
 * Created on 29. April 2007, 21:11
 *
 * Die Main - Klasse startet das GUI auf, welche wiederum 
 * die anderen Klassen ansteuert.
 * Die folgenden Programmierzeilen stellen das GUI dar, welche
 * für die Fotsetzung der Damocles XP Programmierung ein wichtiger
 * Grundstein ist. Bevor die Applikation vom User benutzt werden kann, wird 
 * ein Anmeldefenster erscheinen, um das Programm zu benutzen. 
 * 
 * Author: R. Badalamenti, Student ABBTS
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package ch.sbb.P_OP_RFT.DamoXP;

/**
 *
 * @author rbadalam
 */
import java.awt.*;  //Layout-Manager
import java.awt.event.*; //Ereignisbehandlung
import javax.swing.*; //Swing-Komponenten
import javax.swing.event.*; //Listener-Interfaces, Adapterklassen
import java.io.*;
import ch.sbb.P_OP_RFT.DamoXP.Analyse;


public class DamoclesXPGui extends JFrame implements ActionListener {
    
//Konstruktor erzeugen
  DamoXPSetDlg damoxpsetdlg;
      { java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DamoXPLogin(new javax.swing.JFrame(),"Anmeldung",true).setVisible(true);
            }
        });
    }
  //DamoXPLogin damoxplogin = new DamoXPLogin();
 
  Analyse analyse = new Analyse();
 

public DamoclesXPGui (String titel) {
    super (titel);

//Look and Feel implementieren resp erzwingen
try {
    UIManager.setLookAndFeel(
            "com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
    }
catch(Exception ex) {
    System.err.println("Ein Fehler ist bei Look and Feel aufgetaucht\n");
}    

//Haupt-Panel erstellen
JPanel m_mainPanel = new JPanel ();
m_mainPanel.setLayout (new BorderLayout () );


//Menü im Norden anfügen
m_mainPanel.add(createMenuBar(), BorderLayout.NORTH);
 
 //Menü im Süden anfügen
 m_mainPanel.add(createStatus(), BorderLayout.SOUTH);
 
//Haupt-Panel in Frame aufnehmen
getContentPane().add(m_mainPanel);

//Fenster in der Mitte des Bildschirmes einrichten
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int x, y;
x = (screenSize.width / 2) - (getSize().width / 2);
y = (screenSize.height / 2) - (getSize().height / 2);
setLocation(x,y);
setVisible(true);
addWindowListener(new MyWindowListener());
setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
 
}

private JMenuBar createMenuBar(){
    
//Menueleiste erstellen
JMenuBar m_menubar = new JMenuBar();

//Menu Daten-Transfer
JMenu m_datentransferMenu = new JMenu ("Datentransfer");
JMenuItem m_downloadddsMenuItem = new JMenuItem ("Download DDS");
JMenuItem m_datasyncMenuItem = new JMenuItem ("Synchronisieren");
JMenuItem m_exitMenuItem = new JMenuItem ("Programm beeenden");
m_downloadddsMenuItem.addActionListener(this);
m_datentransferMenu.add(m_downloadddsMenuItem);
m_datasyncMenuItem.addActionListener(this);
m_datentransferMenu.add(m_datasyncMenuItem);
m_exitMenuItem.addActionListener(this);
m_datentransferMenu.add(m_exitMenuItem);


//Menu Datenbank
JMenu m_datenbankMenu = new JMenu("Datenbank");
JMenuItem m_loksauflistenMenuItem = new JMenuItem("Loks auflisten");
JMenuItem m_loksloeschenMenuItem = new JMenuItem("Loks löschen");
JMenuItem m_ddsloeschenMenuItem = new JMenuItem("DDS löschen");
JMenuItem m_deloeschenMenuItem = new JMenuItem("DE löschen");
JMenuItem m_dateigroesseMenuItem = new JMenuItem ("Datei Grösse");
JMenuItem m_ddsoeffnenMenuItem = new JMenuItem ("DDS Datenbank öffnen");
m_loksauflistenMenuItem.addActionListener(this);
m_datenbankMenu.add(m_loksauflistenMenuItem);
m_loksloeschenMenuItem.addActionListener(this);
m_datenbankMenu.add(m_loksloeschenMenuItem);
m_ddsloeschenMenuItem.addActionListener(this);
m_datenbankMenu.add(m_ddsloeschenMenuItem);
m_deloeschenMenuItem.addActionListener(this);
m_datenbankMenu.add(m_deloeschenMenuItem);
m_dateigroesseMenuItem.addActionListener(this);
m_datenbankMenu.add(m_dateigroesseMenuItem);
m_ddsoeffnenMenuItem.addActionListener(this);
m_datenbankMenu.add(m_ddsoeffnenMenuItem);


//Menu NFS erstellen
JMenu m_NFSMenu = new JMenu("NFS");
JMenuItem m_NFSinitMenuItem = new JMenuItem("NFS initialisieren");
JMenuItem m_LokNrMenuItem = new JMenuItem("Lok-Nr editieren");
m_NFSinitMenuItem.addActionListener(this);
m_LokNrMenuItem.addActionListener (this);
m_NFSMenu.add(m_NFSinitMenuItem);
m_NFSMenu.add(m_LokNrMenuItem);

//Menü Konfiguration kreieren
JMenu m_ConfigMenu = new JMenu ("Konfiguration");
JMenuItem m_ConfigSetupMenuItem = new JMenuItem ("Einstellungen");
m_ConfigSetupMenuItem.addActionListener (this);
m_ConfigMenu.add (m_ConfigSetupMenuItem);

//Hilfe-Menu kreieren
JMenu m_hilfeMenu = new JMenu ("Hilfe");
JMenuItem m_infoMenuItem = new JMenuItem ("Info");
m_hilfeMenu.add(m_infoMenuItem);
m_infoMenuItem.addActionListener (this);

//Menubar kreieren
m_menubar.add(m_datentransferMenu);
m_menubar.add(m_datenbankMenu);
m_menubar.add(m_NFSMenu);
m_menubar.add(m_ConfigMenu);
m_menubar.add(m_hilfeMenu);
//setJMenuBar(m_menubar);

setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);


return m_menubar;

}

private JPanel createStatus(){
//Statusleiste erstellen
JPanel m_statusPanel = new JPanel ();
m_statusPanel.setLayout (new FlowLayout () );



//Text-Label erstellen in der Statusleiste
JLabel m_labelStatus = new JLabel ("Status: ");
JTextField m_textFieldStatus = new JTextField ("Online");
m_textFieldStatus.setColumns (40);
m_textFieldStatus.setEditable (false);

m_statusPanel.add (m_labelStatus);
m_statusPanel.add(m_textFieldStatus);

return m_statusPanel;

}


public class DamoXPLogin extends javax.swing.JDialog {
    /** A return status code - returned if Cancel button has been pressed */
    public static final int RET_CANCEL = 0;
    /** A return status code - returned if OK button has been pressed */
    public static final int RET_OK = 1;
    
    /** Neues Dialogfenster wird erstellt */
    public DamoXPLogin(java.awt.Frame parent, String fenstertitel, boolean modal) {
        super(parent,fenstertitel, modal);
        initComponents();
        
        
    }
    
    /** Rückgabewert - Status des Dialogfenster für OK und Cancel Button
    public int getReturnStatus() {
        return returnStatus;
    }
    
    /** Diese Methode wird innerhalb des Konstruktors aufgerufen um
     *  die Dialog-Fensteroberfläche instanzieren.
     */
    // Konstruktor, das Dialogfenster wird erzeugt
    private void initComponents() {
        okButton = new javax.swing.JButton();
        cancelButton = new javax.swing.JButton();
        name = new javax.swing.JLabel();
        vorname = new javax.swing.JLabel();
        unummer = new javax.swing.JLabel();
        eingabeName = new javax.swing.JTextField();
        eingabeVorname = new javax.swing.JTextField();
        eingabeUNr = new javax.swing.JTextField();
        InfoMessage = new javax.swing.JLabel();
        jMenuBar1 = new javax.swing.JMenuBar();

        //Registrierung der Event-Lauscher der Fenster
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowClosing(java.awt.event.WindowEvent evt) {
                closeDialog(evt);
            }
        });
        //Hier Action-Handler für die Buttons
        okButton.setText("OK");
        okButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                okButtonActionPerformed(evt);
            }
        });

        cancelButton.setText("Cancel");
        cancelButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cancelButtonActionPerformed(evt);
            }
        });

        name.setText("Name:");

        vorname.setText("Vorname:");

        unummer.setText("U-Nummer:");

     /**   eingabeName.addInputMethodListener(new java.awt.event.InputMethodListener() {
            public void caretPositionChanged(java.awt.event.InputMethodEvent evt) {
            }
            public void inputMethodTextChanged(java.awt.event.InputMethodEvent evt) {
                eingabeNameInputMethodTextChanged(evt);
            }
        });

      */
        InfoMessage.setText("Bitte geben Sie Ihren Namen, Vornamen und Ihre U-Nummer ein.");

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(layout.createSequentialGroup()
                        .addContainerGap(421, Short.MAX_VALUE)
                        .addComponent(okButton, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                        .addGap(96, 96, 96)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(InfoMessage, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 392, Short.MAX_VALUE)
                            .addGroup(layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addGroup(layout.createSequentialGroup()
                                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                            .addComponent(unummer, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                                .addComponent(vorname, javax.swing.GroupLayout.DEFAULT_SIZE, 69, Short.MAX_VALUE)
                                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)))
                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED))
                                    .addGroup(layout.createSequentialGroup()
                                        .addComponent(name, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                        .addGap(42, 42, 42)))
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(eingabeName, javax.swing.GroupLayout.DEFAULT_SIZE, 319, Short.MAX_VALUE)
                                    .addComponent(eingabeVorname, javax.swing.GroupLayout.DEFAULT_SIZE, 319, Short.MAX_VALUE)
                                    .addComponent(eingabeUNr, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 319, Short.MAX_VALUE))))))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(cancelButton)
                .addContainerGap())
        );

        layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {cancelButton, okButton});

        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(InfoMessage, javax.swing.GroupLayout.PREFERRED_SIZE, 45, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(32, 32, 32)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(name, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(eingabeName, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(16, 16, 16)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(vorname, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(eingabeVorname, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(26, 26, 26)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(unummer, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(eingabeUNr, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 65, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cancelButton)
                    .addComponent(okButton))
                .addContainerGap())
        );
        pack();
    }// </editor-fold>

    private void eingabeNameInputMethodTextChanged(java.awt.event.InputMethodEvent evt) {                                                   
// 
    }                                                  
    
    //Wie im Email bekanntgegeben, wäre ich froh, wenn du mir ein Tipp geben könntest, wie ich die
    //Felder überprüfen kann, dass beide ausgefüllt sind... hab mal hier nachfolgend begonnen... merci für dini Hilf!
  /**  public boolean fieldsFilled(){
        //Überprüfung ob die Felder ausgefüllt sind
        if((eingabeName.getText().equals("")
            && (eingabeVorname.getText().equals("")
            && (eingabeUNr.getText().equals("")
            )
            return false;
        else return true;
    }
   */
    
    public void okButtonActionPerformed(java.awt.event.ActionEvent evt) {                                         
    if((eingabeName.getText().equals("")) || (eingabeVorname.getText().equals("")) || (eingabeUNr.getText().equals("")))
    {
       //
                    JOptionPane.showMessageDialog(this,"Achtung: Sie müssen alle Felder ausfüllen!","Eingabefehler",JOptionPane.WARNING_MESSAGE);
            { java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new DamoXPLogin(new javax.swing.JFrame(),"Anmeldung",true).setVisible(true);
            }
        });
    }
    
   // return;
    
}
    
    else if (okButton.equals("OK"))
        {
             ausgabeName = eingabeName.getText();
             ausgabeVorname = eingabeVorname.getText();
             ausgabeUNr = eingabeUNr.getText();
        }
     //return;
    doClose(RET_OK);
    }                                        
    
    public void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             
    // doClose(RET_CANCEL);
           
      String cmd = evt.getActionCommand();
        if (cmd.equals("Cancel")) {
                setVisible(false);
                dispose();
                System.exit(0);
            }
        }
       
                                                
    
    /** Hiermit wird das Dialog-Fenster "Anmeldung" zu Beginn der Applikation geschlossen */
    private void closeDialog(java.awt.event.WindowEvent evt) {                             
        doClose(RET_CANCEL);
    }                            
    
    private void doClose(int retStatus) {
        returnStatus = retStatus;
        setVisible(false);
        dispose();
    }
    
    /**
     * @param args the command line arguments
     */
    
    
   // public static void main(String args[]) {

    
    
    // Variablen - Deklaration für das Anmelde-Fenster ganz am Anfang
    private javax.swing.JLabel InfoMessage;
    private javax.swing.JButton cancelButton;
    private javax.swing.JTextField eingabeName;
    private javax.swing.JTextField eingabeUNr;
    private javax.swing.JTextField eingabeVorname;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JLabel name;
    private javax.swing.JButton okButton;
    private javax.swing.JLabel unummer;
    private javax.swing.JLabel vorname;
    // End of variables declaration
    
    private String ausgabeName;
    private String ausgabeVorname;
    private String ausgabeUNr;
    
    private int returnStatus = RET_CANCEL;
}




public void actionPerformed (ActionEvent e) {
    String cmd = e.getActionCommand();
    if (cmd.equals ("DDS Datenbank öffnen")){   //Hier wird die DDS Datenbank geöffnet und in einer Tabellenform angezeigt
    
    new Analyse();
    
}
        /*
    {Analyse analyse = new Analyse();
        analyse.setVisible(true);
        analyse.Analyse();
    }
         */
    else if (cmd.equals ("Programm beenden"))  // Hier wird die Applikation beendet
        setVisible(false);
        System.exit(0);
    
    }
         
        
//  try {
   //   damoxpsetdlg = new DamoXPSetDlg();
 // }
    
    /**
      catch (Exception ex) {
          System.out.println("Es trat ein Fehler auf");
          System.out.println(ex);
      } 
    */    
//}


//private DamoXPSetDlg m_damoxpconfig;

        
/* class CMyActionListener implements ActionListener {
    public void actionPerformed(ActionEvent e) {

    String command = e.getActionCommand();
    if(command.equalsIgnoreCase("Einstellungen")) {
    
 try {
    configProperties.load(new FileInputStream("C:/Documents and Settings/rbadalam/My Documents/ABB TS/Projektstudium2/Netbeans/SBB Projekt/Damocles XP/DamoclesXP/build/System Property/Config.properties"));
    
}
catch (java.io.IOException e) {
    System.out.println(e);
}; //catch Befehl
try {
    UIManager.setLookAndFeel(
            configProperties.getProperty("LookAndFeel"));
}
catch(Exception e) {
    e.printStackTrace();
}

    }    
}
    
}
*/
//Hiermit kann man das Fenster der Applikation schliessen resp. Programm beenden
class MyWindowListener extends WindowAdapter {
    public void windowClosing(WindowEvent e) {
    System.exit(0);
    }
 
}
}

Und hier noch meine neue Klasse Analyse:
Code:
/*
 * Analyse.java
 *
 * Created on 18. Juli 2007, 15:06
 *
 * Die Analyse- Klasse wird die DDS-Daten, welche vom Miklas(-Diagnoserechner) bereitgestellt werden,
 * in einer detaillierten Tabellendarstellung strukturiert. Es geht hier um die folgenden Information der
 * Lok-Störung: Datum und Uhrzeit, wann die Störung erfolgt ist; welches Fahrzeugleitgerät (FLG) und 
 * zusätzlich die Störmeldung. Zusätzlich in der unteren Bildschirmhälfte sind auch zwei Fenster eingeblendet.
 * Auf der linken unteren Fensterhälfte sind die Informationen und auf der rechten Seite sind Umfelddaten, der
 * jeweils ausgewählten Daten-Zeile in der oberen Tabelle.
 */

package ch.sbb.P_OP_RFT.DamoXP;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Arrays;
import java.util.StringTokenizer;
import java.util.Vector;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JScrollPane;
import javax.swing.JTable; 

import javax.swing.table.DefaultTableModel; 

import java.text.Collator;
import java.util.Comparator;


/**
 *
 * @author rbadalam
 */
public class Analyse extends JFrame {
    private JTable table;
    

    
    /** Creates a new instance of Analyse */
    public Analyse() {
        super("Daten-Analyse DDS");
         read();
         dataLoad();
         setVisible(true);
         
        
 
      
         
      
  
    
 
       
      
//     String[] colTitle;
//     colTitle = {"Datum/Uhrzeit", "FLG", "Störungstext"};
        
    }
    
    /** This method is called from within the constructor to
     * initialize the form.

     */
//Komponenten innerhalb des JFrame erzeugen und Tabelle vorbereiten
    public void dataLoad() {
        jSeparator1 = new javax.swing.JSeparator();
        jMenuBar2 = new javax.swing.JMenuBar();
        jMenu2 = new javax.swing.JMenu();
        jMenuBar3 = new javax.swing.JMenuBar();
        jMenu1 = new javax.swing.JMenu();
        jScrollPane1 = new javax.swing.JScrollPane();
        AnalyseDatenTable = new javax.swing.JTable();
        AnalyseInformation = new javax.swing.JLabel();
        AnalyseUmfeldDaten = new javax.swing.JLabel();
        AnalyseLokNr = new javax.swing.JLabel();
        jScrollPane4 = new javax.swing.JScrollPane();
        InputSearch = new javax.swing.JTextArea();
        jScrollPane2 = new javax.swing.JScrollPane();
        jScrollPane5 = new javax.swing.JScrollPane();
        AnalyseDatenInformation = new javax.swing.JTextArea();
        jScrollPane7 = new javax.swing.JScrollPane();
        AnalyseDatenUmfeldDaten = new javax.swing.JTextArea();
        jMenuBar1 = new javax.swing.JMenuBar();
        jMenu3 = new javax.swing.JMenu();
        load = new javax.swing.JMenuItem();
        jMenu4 = new javax.swing.JMenu();
        jMenuItem2 = new javax.swing.JMenuItem();

        jMenu2.setText("Menu");
        jMenuBar2.add(jMenu2);

        jMenu1.setText("Menu");
        jMenuBar3.add(jMenu1);

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        addWindowListener(new java.awt.event.WindowAdapter() {
            public void windowActivated(java.awt.event.WindowEvent evt) {
                formWindowActivated(evt);
            }
        });
        
        String columnNames[] = {"Datum/Uhrzeit", "FLG", "Störungsmeldung"};
        Object rowData[][] = (Object[][])input.toArray( new Object[ input.size() ][] );
        AnalyseDatenTable.setModel(new StringTableModel(rowData, columnNames));
        
        //Arrays.sort(rowData,1,890,new NameCoperator());

         
         
            
              /*
                 new Object [][] {
                {null, null, null},
                {null, null, null},
                {null, null, null},
                {null, null, null}
            }, 
               */
             
             /*
            new String [] {
                "Datum/Uhrzeit", "FLG", "Störungsmeldung"
              }
        ));
              */
        jScrollPane1.setViewportView(AnalyseDatenTable);

        AnalyseInformation.setText("Information");

        AnalyseUmfeldDaten.setText("Umfelddaten");

        AnalyseLokNr.setText("Suche nach:");

        jScrollPane4.setHorizontalScrollBarPolicy(javax.swing.ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
        jScrollPane4.setVerticalScrollBarPolicy(javax.swing.ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER);
        jScrollPane4.setHorizontalScrollBar(null);
        jScrollPane4.setWheelScrollingEnabled(false);
        InputSearch.setColumns(20);
        InputSearch.setRows(5);
        jScrollPane4.setViewportView(InputSearch);

        AnalyseDatenInformation.setColumns(20);
        AnalyseDatenInformation.setEditable(false);
        AnalyseDatenInformation.setRows(5);
        AnalyseDatenInformation.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                AnalyseDatenInformationFocusGained(evt);
            }
        });

        jScrollPane5.setViewportView(AnalyseDatenInformation);

        jScrollPane2.setViewportView(jScrollPane5);

        AnalyseDatenUmfeldDaten.setColumns(20);
        AnalyseDatenUmfeldDaten.setEditable(false);
        AnalyseDatenUmfeldDaten.setRows(5);
        jScrollPane7.setViewportView(AnalyseDatenUmfeldDaten);

        jMenu3.setText("Datei");
        load.setText("Datei öffnen");
        jMenu3.add(load);

        jMenuBar1.add(jMenu3);

        jMenu4.setText("Filtern");
        jMenuItem2.setText("Sortieren");
        jMenu4.add(jMenuItem2);

        jMenuBar1.add(jMenu4);

        setJMenuBar(jMenuBar1);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(AnalyseInformation)
                            .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 248, Short.MAX_VALUE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(layout.createSequentialGroup()
                                .addComponent(AnalyseUmfeldDaten)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 214, Short.MAX_VALUE))
                            .addComponent(jScrollPane7, javax.swing.GroupLayout.DEFAULT_SIZE, 275, Short.MAX_VALUE)))
                    .addGroup(layout.createSequentialGroup()
                        .addComponent(AnalyseLokNr)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(jScrollPane4, javax.swing.GroupLayout.DEFAULT_SIZE, 136, Short.MAX_VALUE)
                        .addGap(348, 348, 348))
                    .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 529, Short.MAX_VALUE))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addGap(44, 44, 44)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(jScrollPane4, 0, 14, Short.MAX_VALUE)
                    .addComponent(AnalyseLokNr, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 140, Short.MAX_VALUE)
                .addGap(8, 8, 8)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(AnalyseInformation, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(AnalyseUmfeldDaten, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane7, javax.swing.GroupLayout.DEFAULT_SIZE, 115, Short.MAX_VALUE)
                    .addComponent(jScrollPane2))
                .addContainerGap())
        );
        pack();
    }// </editor-fold>                        

    private void AnalyseDatenInformationFocusGained(java.awt.event.FocusEvent evt) {                                                    
// TODO add your handling code here:
    }                                                   

    private void formWindowActivated(java.awt.event.WindowEvent evt) {                                     
// TODO add your handling code here:
    }                                    
    


    
    // Variables declaration - do not modify                     
    private javax.swing.JTextArea AnalyseDatenInformation;
    private javax.swing.JTable AnalyseDatenTable;
    private javax.swing.JTextArea AnalyseDatenUmfeldDaten;
    private javax.swing.JLabel AnalyseInformation;
    private javax.swing.JLabel AnalyseLokNr;
    private javax.swing.JLabel AnalyseUmfeldDaten;
    private javax.swing.JTextArea InputSearch;
    private javax.swing.JMenu jMenu1;
    private javax.swing.JMenu jMenu2;
    private javax.swing.JMenu jMenu3;
    private javax.swing.JMenu jMenu4;
    private javax.swing.JMenuBar jMenuBar1;
    private javax.swing.JMenuBar jMenuBar2;
    private javax.swing.JMenuBar jMenuBar3;
    private javax.swing.JMenuItem load;
    private javax.swing.JMenuItem jMenuItem2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JSeparator jSeparator1;
    Vector input;   //die ist die Variable für den Vektor
    // End of variables declaration    
    
       
 public void read(){
    
      try {
         BufferedReader eingabe = new BufferedReader(new FileReader("C:\\beispiel.txt"));
         int gelesen;
         String eingabezeile;

         eingabezeile=eingabe.readLine();

         input = new Vector(); // #### in diesem Vector speichern

         while( eingabezeile != null )
         {
            StringTokenizer token= new StringTokenizer (eingabezeile);

            String[] felder =eingabezeile.split(",");
           /*
            Vector row = new Vector();
            for (int i=0;i<felder.length;i++){
                row.addElement(felder[i]);
            }
            */

            StringBuffer text =new StringBuffer(10);
            input.add( felder );
            eingabezeile=eingabe.readLine();
         }
         
 /*    
         Object rowData[][] = (Object[][])input.toArray( new Object[ input.size() ][] );
         Arrays.sort(rowData,1,890,new NameCoperator());

         
         String columnNames[] = {"Datum/Uhrzeit", "FLG", "Störungsmeldung"};

         table.setModel( new StringTableModel( rowData, columnNames ));
                 

     */         
      }
      catch( IOException ex ){
         ex.printStackTrace();
      }
     
    
  }
 /*
 private void search(){
  String text = AnalyseDatenTable.();
  String search = InputSearch.getText();
  String[] felder = eingabezeile.split(",");
 }
  */

    
/*
 public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Analyse().setVisible(true);
            }
        });
    }
 */
 
   
   
   
}

und für die Analyse Klasse brauchts noch die StringTableModel hier:

Code:
*
 * StringTableModel.java
 *
 * Created on 31. Juli 2007, 10:31
 *
 * Dies ist die Tabellenform für die Daten-Ansicht der DDS. Diese Klasse wird innerhalb der Analyse-Klasse
 * verwendet, um die Daten aus dem csv-File in die Tabelle zu importieren.
 */

package ch.sbb.P_OP_RFT.DamoXP;

import javax.swing.table.DefaultTableModel;
/**
 *
 * @author rbadalam
 */
public class StringTableModel extends DefaultTableModel {
    
    /** Creates a new instance of StringTableModel */
    public StringTableModel(Object[][] data, String[] names) {
             super( data, names );
      }

      // Eine Angabe, welchen Typ von Objekten in den Columns angezeigt werden soll
      public Class getColumnClass(int columnIndex) {
         return String.class;
      }

      // Jede Zelle ist nicht editierbar
      public boolean isCellEditable(int rowIndex, int columnIndex) {
         return false;
      } 
    }

Besten Dank für Eure Tipps und Hinweise zu meinem Code.

Gruss aus der Schweiz,

Rob
 

Marco13

Top Contributor
Poste nur den relevanten Teil. Am besten ein compilierbares Beispiel. Oder sag, wo die problematische Stelle liegt. Diesen GUI-Builder-Quäl-Kot WILL ich mir ehrlich gesagt garnicht ansehen.
Code:
import javax.swing.*;
import java.awt.event.*;

class Analyse extends JFrame
{
    public Analyse()
    {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(100,100);
        getContentPane().add(new JLabel("Hello"));
    }
}


class MenuTest extends JFrame
{
    public static void main(String args[])
    {
        new MenuTest();
    }

    public MenuTest()
    {
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(100,100);
        JMenu menu = new JMenu("Menu");
        JMenuItem menuItem = new JMenuItem("Item");
        menuItem.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                Analyse analyse = new Analyse();
                analyse.setVisible(true);
            }
        });
        menu.add(menuItem);
        JMenuBar menuBar = new JMenuBar();
        setJMenuBar(menuBar);
        menuBar.add(menu);
        setVisible(true);
    }
}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
ralfb1105 JavaFX HTTP Download task im Hintergrund innerhalb GUI AWT, Swing, JavaFX & SWT 70
ralfb1105 JavaFX Label lässt sich innerhalb service Task nicht updaten? AWT, Swing, JavaFX & SWT 22
W Swing JTable Zeilenumbruch innerhalb einer Zelle AWT, Swing, JavaFX & SWT 3
J JavaFX Rectangle innerhalb eines Rectangle oder Panes positionieren? AWT, Swing, JavaFX & SWT 1
D TAB Taste innerhalb eines JSpinner AWT, Swing, JavaFX & SWT 2
M PDF einlesen und innerhalb Pane anzeigen AWT, Swing, JavaFX & SWT 5
M Swing JPanel innerhalb eines Frames verschieben AWT, Swing, JavaFX & SWT 3
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2
A Swing Textübergabe innerhalb der Anwendung in unterschiedlichen Fenster AWT, Swing, JavaFX & SWT 8
M Java FX Innerhalb einem FXML-Dialog weiteren FXML-Dialog einblenden AWT, Swing, JavaFX & SWT 3
C JTable Drag and Drop von Zeilen innerhalb einer Table AWT, Swing, JavaFX & SWT 2
U Bild innerhalb hatml code anzeigen AWT, Swing, JavaFX & SWT 5
M Mehrere Fenster innerhalb einer Application AWT, Swing, JavaFX & SWT 3
L Swing Component alignment innerhalb einer JList AWT, Swing, JavaFX & SWT 3
R JTextField Eingabefeld innerhalb verschieben AWT, Swing, JavaFX & SWT 2
P setStroke komplett innerhalb eines Rectangles AWT, Swing, JavaFX & SWT 4
D JDialog alwaysOnTop, aber nur innerhalb der Applikation AWT, Swing, JavaFX & SWT 3
D Bestimmtes JPanel innerhalb eines JTabbedPane ansprechen AWT, Swing, JavaFX & SWT 2
D Drag-Action: Innerhalb meiner View? AWT, Swing, JavaFX & SWT 3
S Swing JButton mit ActionListener innerhalb einer JTable AWT, Swing, JavaFX & SWT 4
H Swing Ausrichtung innerhalb der Reiterlasche eines JTabbedPanes AWT, Swing, JavaFX & SWT 9
K JButtons innerhalb eines JPanels verschieben (DRAG&DROP) AWT, Swing, JavaFX & SWT 5
A SWT Scrollable Composite innerhalb eines Composites AWT, Swing, JavaFX & SWT 3
JuliaOne Komponenten innerhalb eine JScrollpane werden auch ausserhalb davon gezeichnet! AWT, Swing, JavaFX & SWT 7
M Swing Rahmen innerhalb des JButton entfernen AWT, Swing, JavaFX & SWT 2
D JTables, Test highlighten innerhalb einer Zelle AWT, Swing, JavaFX & SWT 5
J Swing Container innerhalb eines JPanels erfragen AWT, Swing, JavaFX & SWT 3
N rootPane überschreibt bg Innerhalb von secs AWT, Swing, JavaFX & SWT 5
G MousePosition innerhalb eines MouseWheelEvents AWT, Swing, JavaFX & SWT 2
B SWT - Drag & Drop innerhalb einer Table AWT, Swing, JavaFX & SWT 3
hdi Layout innerhalb eines JScrollPane AWT, Swing, JavaFX & SWT 4
A Drag & Drop von Zeilen innerhalb einer Tabelle AWT, Swing, JavaFX & SWT 2
R Gelöst: panelGrösse innerhalb eines JFrames AWT, Swing, JavaFX & SWT 7
I Text innerhalb von Rectangle rendern AWT, Swing, JavaFX & SWT 3
T Auf Fenster innerhalb der Anwendung zugreifen-auch elegant? AWT, Swing, JavaFX & SWT 2
A Hintergrundfrabe eines JButtons innerhalb eines JToolBar AWT, Swing, JavaFX & SWT 4
A Aktualisierung eines Bildes innerhalb einer Komponente AWT, Swing, JavaFX & SWT 7
T erkennen ob innerhalb oder außerhalb von canvas gezeichnet AWT, Swing, JavaFX & SWT 2
L TreePath eines Objektes innerhalb eines JTree ermitteln? AWT, Swing, JavaFX & SWT 1
B einzelne Zellen scrollbar machen innerhalb einer Tabelle AWT, Swing, JavaFX & SWT 3
javasdann JTable sichtbare Zeilen innerhalb von JScrollPane ermitteln AWT, Swing, JavaFX & SWT 5
G JTable Zeilenumbruch innerhalb einer Zelle bzw. columnHeader AWT, Swing, JavaFX & SWT 1
M Eigene Java Klasse für allgemeine Grafikelemente AWT, Swing, JavaFX & SWT 8
Jose05 Aus einer normalen Java Klasse eine FXML-Klasse laden AWT, Swing, JavaFX & SWT 12
W Gibt es einen "automatischen Listener" in Swing oder JTable oder der ATM-Klasse? AWT, Swing, JavaFX & SWT 14
_user_q Versionscode aus build.gradle in Java-Klasse ausgeben lassen AWT, Swing, JavaFX & SWT 14
H MouseAdapter Klasse nutzen wenn eigene Klasse bereits von anderer erbt AWT, Swing, JavaFX & SWT 13
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
T JavaFX TableColumn in separate Klasse auslagern AWT, Swing, JavaFX & SWT 7
Monokuma KeyEvent in der Canvas Klasse AWT, Swing, JavaFX & SWT 0
B Was würden Profis an meiner Klasse verbessern? AWT, Swing, JavaFX & SWT 1
B JavaFX Verständnisfrage EventHandler<ActionEvent> Implementierung in meiner Klasse AWT, Swing, JavaFX & SWT 2
B JavaFX Farbe eines Quadrates in einer separaten Klasse ändern AWT, Swing, JavaFX & SWT 4
S Stream API, Anonyme Klasse AWT, Swing, JavaFX & SWT 8
B JavaFX Von welcher Klasse und zu welchem Zeitpunkt werden Event-Objekte erstellt? AWT, Swing, JavaFX & SWT 3
N Aufruf einer anderen Klasse durch Button ActionListener AWT, Swing, JavaFX & SWT 2
F jTree und das Model aus einer eigenen Klasse AWT, Swing, JavaFX & SWT 1
F Jtree aus Klasse mit Arraylisten AWT, Swing, JavaFX & SWT 1
L Javafx Controller Klasse in Maven AWT, Swing, JavaFX & SWT 7
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
J Bild von anderer Klasse will nicht laden AWT, Swing, JavaFX & SWT 1
L CardLayout in einer Klasse? AWT, Swing, JavaFX & SWT 2
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
ralfb1105 Swing Ausführung einer SwingWorker Klasse stoppen AWT, Swing, JavaFX & SWT 4
xYurisha JLabel Text einer geöffneten Gui über eine andere Klasse ändern! AWT, Swing, JavaFX & SWT 3
J 2D-Grafik Background einer Jpanel Klasse ändern AWT, Swing, JavaFX & SWT 1
J JFram Location aus Konstruktor einer anderen Klasse auslesen AWT, Swing, JavaFX & SWT 10
J 2D-Grafik Background Image Klasse AWT, Swing, JavaFX & SWT 14
K Frame aus anderer Klasse schließen AWT, Swing, JavaFX & SWT 3
M Eigene Klasse mit Grafikobjekten schreiben AWT, Swing, JavaFX & SWT 4
0 Swing JTable aus anderer Klasse updaten AWT, Swing, JavaFX & SWT 5
it_is_all Event Handling ActionListener in anderer Klasse klappt nicht AWT, Swing, JavaFX & SWT 4
L JavaFX button über andere Klasse ändern AWT, Swing, JavaFX & SWT 7
K über Button andere Java Klasse aufrufen AWT, Swing, JavaFX & SWT 15
C Nach Aufruf von anderer Klasse streikt Grafik AWT, Swing, JavaFX & SWT 1
S per Button Variableninhalt aus anderer Klasse holen AWT, Swing, JavaFX & SWT 3
F AWT Robot Klasse Screenshot nach Pixelmustern in bestimmten Radius um Bildschirmmittelpunkt absuchen AWT, Swing, JavaFX & SWT 13
K JButton auf anderer Klasse AWT, Swing, JavaFX & SWT 6
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
Java_RY AWT Frame in eine eigene klasse auslagern und aufrufen AWT, Swing, JavaFX & SWT 6
L JavaFX Verbindung zwischen Beschreibung und Listener (Codebehind Klasse) AWT, Swing, JavaFX & SWT 4
J JTextfield automatisch aus zweiter Klasse aktualisieren AWT, Swing, JavaFX & SWT 5
J JavaFX Tableview Daten hinzufügen aus anderer Klasse AWT, Swing, JavaFX & SWT 7
Ghostman1711 GUI Java von Klasse mit Application Windows anderes Application Window aufrufen AWT, Swing, JavaFX & SWT 6
K JTable in extra Klasse, Zugriff in einer anderen klasse nicht möglich AWT, Swing, JavaFX & SWT 26
D JavaFX Probleme bei Service-Klasse beim ändern der GUI AWT, Swing, JavaFX & SWT 8
T Klasse über JButton schließen AWT, Swing, JavaFX & SWT 4
N JavaFX Erweitern der Line(Shape)-Klasse AWT, Swing, JavaFX & SWT 1
T Durch klicken eines Buttons Klasse wechseln AWT, Swing, JavaFX & SWT 2
7 JavaFX Verwendung einer ResizableCanvas-Klasse in fxml-Datei AWT, Swing, JavaFX & SWT 3
A JavaFX Von Klasse auf Controller Inhalt zugreifen AWT, Swing, JavaFX & SWT 9
L Swing Teile eines JPanel in eigene Klasse auslagern AWT, Swing, JavaFX & SWT 3
J Eigene Klasse auf Basis Textfield in SceneBuilder anzeigen AWT, Swing, JavaFX & SWT 4
B Swing Auf JList-Elemente aus einer anderen Klasse zugreifen AWT, Swing, JavaFX & SWT 1
J JavaFX Mehrfache Benutzung von Methoden einer Klasse AWT, Swing, JavaFX & SWT 17
B Jlabel Text von anderen Klasse aus ändern AWT, Swing, JavaFX & SWT 9
stylegangsta Eigene Klasse für JButton aus dem JFrame abrufen AWT, Swing, JavaFX & SWT 29
N JavaFX GUI Elemente einer anderen (FXML)Klasse ansprechen AWT, Swing, JavaFX & SWT 16
O JTabeddpane aber jedes JPanel als eigene Klasse anlegen AWT, Swing, JavaFX & SWT 7
B Swing GUI in einer anderen Klasse aufrufen AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben