tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
805
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    hanspeter99 hanspeter99 ist offline Grünschnabel
    Registriert seit
    May 2007
    Beiträge
    1
    So erst einmal zu meinem Problem. Hab ein Main Menü das wie folgt aussieht:
    import javax.swing.*;

    import java.awt.event.*;
    import java.awt.*;

    public class Main extends JFrame{

    public Main(){
    super();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //Hintergrund Bild laden
    ImageIcon icon = new ImageIcon(Main.class.getResource("../main_bild.jpg"));
    JLabel bild = new JLabel(icon);
    bild.setSize(icon.getIconWidth(),icon.getIconHeight());

    //Hintergrund setzen und ContentPane durchsichtig machen
    JLayeredPane lay = this.getLayeredPane();
    lay.add(bild,new Integer(-30001));
    lay.setLayer(bild,-31001);
    getRootPane().setOpaque(true);
    ((JComponent) this.getContentPane()).setOpaque(false);

    //Exit Button einfügen
    ExitButton exitb = new ExitButton();
    add(exitb);

    Credits_Button cb = new Credits_Button();
    add(cb);

    //Ueberschrift einfügen
    Ueberschrift ueberschrift = new Ueberschrift();
    getContentPane().add(ueberschrift);


    setSize(1035, 684);
    }
    public static void main(String[] args) {
    // TODO Auto-generated method stub


    Main m = new Main();
    m.show();

    }
    }

    So jetzt will ich über den Button Credits das aktuelle Frame überschreiben was bisher aber nur funktioniert indem Eclipse ein neues Frame darstellt.

    import javax.swing.*;

    import java.awt.*;

    import Main.Ueberschrift;
    import Main.Main;

    public class Credits extends JFrame {

    public Credits(){
    super();
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    //Hintergrund Bild laden
    ImageIcon icon = new ImageIcon(Main.class.getResource("../main_bild.jpg"));
    JLabel bild = new JLabel(icon);
    bild.setSize(icon.getIconWidth(),icon.getIconHeight());

    //Hintergrund setzen und ContentPane durchsichtig machen
    JLayeredPane lay = this.getLayeredPane();
    lay.add(bild,new Integer(-30001));
    lay.setLayer(bild,-31001);
    getRootPane().setOpaque(true);
    ((JComponent) this.getContentPane()).setOpaque(false);

    //Ueberschrift
    Ueberschrift ueberschrift = new Ueberschrift();
    getContentPane().add(ueberschrift);


    setSize(1035, 684);
    }

    public static void main(String[] args){
    Credits c = new Credits();
    c.show();
    }
    }

    /*Credits Button Klasse noch:*/

    public class Credits_Button extends JButton{

    public Credits_Button(){
    super("Credits");

    //Formatierung
    setFont(new Font("Arial", Font.BOLD, 18));
    setSize(400,50);
    setLocation(550,500);
    setOpaque(false);


    //Aktion
    ActionListener al = new ActionListener(){
    public void actionPerformed(ActionEvent e){
    Credits c = new Credits();
    c.show();

    }
    };
    addActionListener(al);


    }
    }


    Wie funktioniert das, dass ich z.B. das Frame der Main überschreibe mit dem Credits Frame oder das Frame der Main schließe.

    Hoffe ihr könnt mir weiter helfen
     

  2. #2
    Kulabac Kulabac ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    181
    Naja, das Frame der Main schließen geht einfach für .setVisible(false).

    Aber das ganze Frame einfach so "überschreiben"? Weiß nicht, was genau du damit meinst. Wäre doch im Prinzip einfacher statt von JFrame von JPanel zu erben und dann einfach das JPanel als einzigen Inhalt des (einzigen) Frames zu nehmen. Vorteil wäre halt, dass man das JPanel auf Knopfdruck aus dem Frame löschen und durch das andere ersetzen kann.
     

Ähnliche Themen

  1. Überschreiben einer Variablen
    Von Cyraid im Forum C/C++
    Antworten: 7
    Letzter Beitrag: 12.06.10, 23:56
  2. Antworten: 4
    Letzter Beitrag: 30.03.10, 23:06
  3. [C++, Qt] Inhalt einer datei überschreiben
    Von Ischterai im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 07.07.09, 09:25
  4. Eigene Stimme mit einer anderen Überschreiben?
    Von HORNSWOGGLE im Forum Audiotechnik, Recording & Audio-Software
    Antworten: 21
    Letzter Beitrag: 16.04.08, 14:57
  5. Antworten: 3
    Letzter Beitrag: 14.12.06, 16:26