JFrame im JFrame starten

Alexius

Mitglied
Hallo zusammen,

ich habe da ein Problemchen und hoffe das ihr mir hier helfen könnt. Nu zu meinem Problem.
Ich erweitere grade eine große App. Momentaner Stand der App ist, das nach dem Start der Benutzer eine Gui mit mehreren Buttons sieht. Hinter jedem Button steckt eine bestimmte Funktion. Was ich jetzt machen muss - Frame erstllen, welcher ein paar Textfelder hat und ein Button "ok". Der Button hat nen Listener. Sobald Button "ok" betätigt wird, werden die Daten in Textfeldern ausgeglesen/gespeichert, Frame wird geschlössesn und das Hauptprogramm startet. Das Frame, Textfelder, Button, Listener etc. hab ich gemacht nur der Aufruf nicht. Meine Main sieht so aus:
Java:
public static void main(final String[] args)
    {
        try
        {
            new myProg().setVisible(true);
        }
        catch (Exception e)
        {
            e.printStackTrace();
            JOptionPane.showMessageDialog(null, e.getMessage(), "Fehler", JOptionPane.ERROR_MESSAGE);
            System.exit(-1);
        }
    }
Im Listener den ich für Button "ok" geschrieben habe, setze ich myProg().setVisible(false) und mache new mainProg().setVisible(true).
Mehr Info zum Fehler was ich habe kann ich auch nicht geben da das gesamte Prog. auf einem CE-Gerät läuft und einege .dll's brauch die CE hat. Also ich kann das bei mir nicht Debugen und gucken wo das Problem ist.

Wenn mir jemand nen Tipp geben kann wie ich so ne JFrame-Verschachtelung hinkriegen kann, wäre ich sehr dankbar.

Alexius
 
du schreibst überhaupt nicht was das Problem ist, was funktioniert, was nicht usw.

am ehesten gibts noch
> Das Frame, Textfelder, Button, Listener etc. hab ich gemacht nur der Aufruf nicht.

fehlt da an vorletzter Stelle ein Wort wie 'geht'? was genau meinst du jetzt eigentlich,
den Start des ersten Frames, den Start des zweiten Frames, sonst etwas?

ein vollständiges Programm ließe viel eher verstehen, worum es dir überhaupt geht, dlls und CE spielen keine Rolle,
lasse alle Frames leer oder fülle sie mit einfachen Buttons und stelle nur nach, welche Klassen es gibt, wer wann wo was aufruft usw.
 
fehlt da an vorletzter Stelle ein Wort wie 'geht'?
genau, da war ich mit meinen Gedanken wohl schon ein bischen weiter.

Java:
public class MainFrame extends JFrame implements ActionListener, IProgressListener
{
    public MainFrame()
    {
        super();
        
        initLookAndFeel();
        initComponents();
    }
  
     private void initLookAndFeel()
    {
         //Background-, Button-, Dialogfarbe etc. festlegen
    }
   
    private void initComponents()
    {
        JPanel Pane = new JPanel(new BorderLayout());
        final JPanel Buttons = new JPanel(new GridBagLayout());
        JPanel Progress = new JPanel(new GridBagLayout());
        final JPanel startPanel = new JPanel(new GridLayout(6, 2)); //myPanel die muss der Benutzer als 1. sehen
        GridBagConstraints gbc = new GridBagConstraints();

        Pane.add(Buttons, BorderLayout.CENTER);
        Pane.add(Progress, BorderLayout.SOUTH);
        Pane.add(startPanel, BorderLayout.CENTER);
        ....//wietere Componente die hier nicht relevant sind
    }

    ...
So, wenn ich jetzt startPanel auslasse, wird beim Aufruf Panel "Button" geladen welche viele Buttons hat. Ich muss jetzt startPanel so einfügen das beim Start des Programs startPanel zuerst gestartet wird. Sprich: Benutzer startet das Program und sieht starPanel wo er Daten eintragen muss (Datum, Name etc.). Wenn die Daten engetragen wurden drückt der Benutzer Button "Ok", Daten werden gelesen/gespeichert, startPanel wird geschlössen und Panel "Button" wird aufgerufen. Und genau hier hab ich mein Problem - startPanel schliessen und Panel "Button" aufrufen.

Hoffe das damit ihr was anfangen könnt.
"JFrame im JFrame starten" - weis net was ich mir dabei gedacht habe 😳
 

Neue Themen


Zurück
Oben