tutorials.de Buch-Aktion 02/2012
Like Tree3Danke
  • 1 Beitrag von Akeshihiro
  • 1 Beitrag von vfl_freak
  • 1 Beitrag von Nadriel
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
408
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Eklaf Eklaf ist offline Mitglied Bronze
    Registriert seit
    Jun 2010
    Beiträge
    37
    Hi alle hab da mal ne grundlegende frage. ich muß ein Programm schreiben wo ich sehr viele Frames nutzen werde
    und ich möchte ungerne interne Frames nutzen sondern will immer ein komplett seperaten neuen Frame aufmachen .
    Ich häng mal zwei codes hinzu wo ihr mir das ev erklären könnt .

    Hier der Code des ersten Frame:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    
     package Frameversuche;
     
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
     
    public class Frame1 extends JFrame implements ActionListener
    {
        private JButton btnFrame2Start;
     
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    Frame1 inst = new Frame1();
                    inst.setLocationRelativeTo(null);
                    inst.setVisible(true);
                }
            });
        }
        
        public Frame1() {
            super("Frame1");
            initGUI();
        }
        
        private void initGUI() {
            try {
                setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                getContentPane().setLayout(null);
                {
                    btnFrame2Start = new JButton();
                    getContentPane().add(btnFrame2Start);
                    btnFrame2Start.setText("Frame 2 starten");
                    btnFrame2Start.setBounds(143, 42, 150, 50);
                    btnFrame2Start.addActionListener(this);
                }
                pack();
                setSize(400, 300);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
        public void actionPerformed(ActionEvent e)
        {
            if (e.getSource()== btnFrame2Start)
            {
                //Was muss ich hier schreiben um den 2ten frame zu starten?
            }
        }
    }


    Hier der Code für den 2ten Frame:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    
    package Frameversuche;
     
    import javax.swing.*;
     
    public class Frame2 extends javax.swing.JFrame {
        private JLabel lblText;
     
        public static void main(String[] args) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    Frame2 inst = new Frame2();
                    inst.setLocationRelativeTo(null);
                    inst.setVisible(true);
                }
            });
        }
        
        public Frame2() {
            super("Frame 2");
            initGUI();
        }
        
        private void initGUI() {
            try {
                setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
                getContentPane().setLayout(null);
                {
                    lblText = new JLabel();
                    getContentPane().add(lblText);
                    lblText.setText("Juhu es klappt!");
                    lblText.setBounds(70, 50, 150, 20);
                }
                pack();
                setSize(400, 300);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
     
    }

    Ich hab alles einfach gehalten mir geht es nur um das Prinzip. Danke schon mal
     

  2. #2
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.098
    if (e.getSource()== btnFrame2Start)
    {
    //Was muss ich hier schreiben um den 2ten frame zu starten?
    }
    hmmm, Du benötigst in der Klasse einen Import der Klasse Frame2 und dann sowas :

    Code java:
    1
    2
    3
    4
    5
    6
    
    import Frame2;
    .....
    if (e.getSource()== btnFrame2Start)
    {
        Frame2 meinTollerFrame2 = new Frame();
    }

    Oder verstehe ich Deine Frage nicht richtig

    Gruß
    Klaus
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  3. #3
    Eklaf Eklaf ist offline Mitglied Bronze
    Registriert seit
    Jun 2010
    Beiträge
    37
    Habe ich versucht da bringt er mir aber bei

    import Frame2; //ein Fehler

    und bei

    Frame2 meinTollerFrame2 = new Frame(); //auch
     

  4. #4
    Avatar von Akeshihiro
    Akeshihiro Akeshihiro ist offline Mitglied Platin
    Registriert seit
    Aug 2008
    Ort
    Kirchlengern (NRW)
    Beiträge
    575
    Lass die import-Anweisung weg und mach aus dem "new Frame()" nen "new Frame2()".
    Also
    Code java:
    1
    
    Frame2 meinTollerFrame2 = new Frame2();
    Eklaf bedankt sich. 
    Man sagt, das Schwert eines Samurai sei seine Seele ...

    Mit den Beiträgen ist es wie mit Schwertern: Je besser die Rohstoffe sind und je öfter man diese bearbeitet, desto hochwertiger sind sie.

    Das Schmieden ist eine Kunst; Das Schreiben auch ;)

  5. #5
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.098
    Zitat Zitat von Eklaf Beitrag anzeigen
    Habe ich versucht da bringt er mir aber bei
    import Frame2; //ein Fehler
    und bei
    Frame2 meinTollerFrame2 = new Frame(); //auch
    Sorry - kleiner Tippfehler :

    es muss natürlich heißen "new Frame2()"

    Den Import kannst Du wahrscheinlich auch vergessen, da es ja das gleich package ist !

    Gruß
    Klaus

    [EDIT] zuspät
     
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  6. #6
    Nadriel Nadriel ist offline Mitglied Bronze
    Registriert seit
    Jul 2010
    Ort
    Villach (Kärnten)
    Beiträge
    33
    Hallo Eklaf.

    Hier zwar eine nicht so elegante Lösung, aber sie dürfte funktionieren.
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    import Frameversuche.Frame2;
    ...
     
    if (e.getSource() == btnFrame2Start) {
       Frame2 myFrame2 = new Frame2();
       myFrame2.show(); //Die Methode ist zwar deprecated aber es funktioniert ;)
    }

    MfG
    Nadriel
    Geändert von Nadriel (14.07.10 um 11:38 Uhr)
     

  7. #7
    Avatar von vfl_freak
    vfl_freak vfl_freak ist offline Mitglied Diamant
    Registriert seit
    Aug 2007
    Ort
    Niedersachsen
    Beiträge
    2.098
    Hallo Nadriel,

    ja, "show()" ist deprecated und würde ich nicht mehr verwenden

    Nimm' stattdessen
    Code java:
    1
    2
    3
    4
    
    myFrame2.setVisible( true );
     
    // oder ggf. auch 
    myFrame2.toFront();

    Gruß
    Klaus
    Eklaf bedankt sich. 
    Es ist noch kein Meister vom Himmel gefallen - sonst hätte man schon längst seine Leiche gefunden !!

    Falls ich helfen konnte, wäre eine Bewertung oder ein Danke nett ;-)
    -------------------------------------------------------------------------------------------------
    Ich beantworte keine Fragen per PN !!
    Stellt Eure Fragen im Forum - dann haben alle etwas davon !!

  8. #8
    Nadriel Nadriel ist offline Mitglied Bronze
    Registriert seit
    Jul 2010
    Ort
    Villach (Kärnten)
    Beiträge
    33
    Zitat Zitat von vfl_freak Beitrag anzeigen

    ja, "show()" ist deprecated und würde ich nicht mehr verwenden

    Nimm' stattdessen
    Code java:
    1
    2
    3
    4
    
    myFrame2.setVisible( true );
     
    // oder ggf. auch 
    myFrame2.toFront();
    Ich war bloß zu faul die Methode zu suchen die nicht deprecated ist.

    Gruß
    Nadriel
    Eklaf bedankt sich. 

  9. #9
    Eklaf Eklaf ist offline Mitglied Bronze
    Registriert seit
    Jun 2010
    Beiträge
    37
    Hat geklappt danke euch vielmals ihr seit spitze
     

Ähnliche Themen

  1. mit jQuery von einem Frame Elemente in anderen Frame beschreiben
    Von deluxeondecks im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 04.01.11, 14:16
  2. Antworten: 4
    Letzter Beitrag: 03.03.07, 14:43
  3. Daten in einem Frame auslesen und in einen anderem ausgeben?
    Von BigDundee im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 24.02.05, 11:10
  4. Von einem Frame auf einen anderen zugreifen
    Von JanRei im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 19.11.04, 13:12
  5. Variable aus einem Frame in einem Frame deklarieren
    Von DrEvil im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 09.10.04, 23:48

Stichworte