ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
805
805
EMPFEHLEN
-
11.05.07 15:57 #1
- 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
-
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
-
Überschreiben einer Variablen
Von Cyraid im Forum C/C++Antworten: 7Letzter Beitrag: 12.06.10, 23:56 -
[OOP] Vererbung einer Klasse / Wert lässt sich nicht überschreiben
Von einfach nur crack im Forum PHPAntworten: 4Letzter Beitrag: 30.03.10, 23:06 -
[C++, Qt] Inhalt einer datei überschreiben
Von Ischterai im Forum C/C++Antworten: 2Letzter Beitrag: 07.07.09, 09:25 -
Eigene Stimme mit einer anderen Überschreiben?
Von HORNSWOGGLE im Forum Audiotechnik, Recording & Audio-SoftwareAntworten: 21Letzter Beitrag: 16.04.08, 14:57 -
MouseEvents bei einer JCheckBox überschreiben
Von zeto im Forum JavaAntworten: 3Letzter Beitrag: 14.12.06, 16:26





Zitieren
Login





