G
Gast
Gast
Habe folgende Klassen:
Und hier der MainFrame für die Panels:
P.S.: sysController, GamePanel und HighscorePanel habe ich mal weggelassen, die Spielen heir nicht so die Rolle. Das Problem ist nämlich, dass beim Anzeigen des MainFrame die Buttons und das Label vom MenuPanel nicht angezeigt werden. Die Buttons werden erst sichtbar, wenn man die Maus drüberbewegt, das Label überhaupt nicht.
Nach Minimieren und Maximieren muss man das gleiche Spiel wiederholen.
Das MenuPanel mit seinen Komponenten sollte aber von alleine Sichtbar sein.
Was fehlt?
Code:
public class BackgroundPanel extends JPanel {
private MenuPanel p_menu = new MenuPanel();
private GamePanel p_game = new GamePanel();
private HighscorePanel p_highscores = new HighscorePanel();
private JLabel l_bgImage = new JLabel(new ImageIcon("background.jpg"));
public BackgroundPanel(){
initPanel();
initL_bgImage();
addComponents();
}
public void initPanel(){
setBounds(0, 0, Game.WIDTH, Game.HEIGHT + 100);
setVisible(true);
}
public void initL_bgImage(){
l_bgImage.setBounds(0, 0, Game.WIDTH, Game.HEIGHT + 100);
}
public void addComponents(){
add(l_bgImage);
add(p_menu);
add(p_game);
add(p_highscores);
}
public JLabel getL_bgImage(){
return l_bgImage;
}
public MenuPanel getP_menu(){
return p_menu;
}
public GamePanel getP_game(){
return p_game;
}
public HighscorePanel getP_highscores(){
return p_highscores;
}
}
Code:
public class MenuPanel extends JPanel {
private String directory = "D:\\My Documents\\Programs\\Games & Fun\\Saloon Gunners\\gui\\";
private JLabel l_header = new JLabel(new ImageIcon("saloon_gunners.gif"));
private JButton b_startGame = new JButton("Start Game");
private JButton b_viewHighscores = new JButton("View Highscores");
private JButton b_exit = new JButton("Exit");
public MenuPanel(){
initPanel();
initComponents();
addComponents();
}
public void initPanel(){
setBounds(0, 0, Game.WIDTH, Game.HEIGHT);
setLayout(null);
setOpaque(false);
}
public void initComponents(){
l_header.setBounds(200, 30, 400, 150);
b_startGame.setBounds(300, 160, 200, 100);
b_viewHighscores.setBounds(300, 265, 200, 100);
b_exit.setBounds(300, 370, 200, 100);
}
public void addComponents(){
add(l_header);
add(b_startGame);
add(b_viewHighscores);
add(b_exit);
}
}
Und hier der MainFrame für die Panels:
Code:
public class MainFrame extends JFrame {
private Controller sysController = new Controller();
private BackgroundPanel p_background = new BackgroundPanel();
public MainFrame(Controller sysController) {
this.sysController = sysController;
initFrame();
getContentPane().add(p_background);
}
private void initFrame(){
setVisible(false);
setTitle("Saloon Gunners");
setLayout(null);
setSize(Game.WIDTH, Game.HEIGHT + 100);
setResizable(false);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
setVisible(true);
}
}
P.S.: sysController, GamePanel und HighscorePanel habe ich mal weggelassen, die Spielen heir nicht so die Rolle. Das Problem ist nämlich, dass beim Anzeigen des MainFrame die Buttons und das Label vom MenuPanel nicht angezeigt werden. Die Buttons werden erst sichtbar, wenn man die Maus drüberbewegt, das Label überhaupt nicht.
Nach Minimieren und Maximieren muss man das gleiche Spiel wiederholen.
Das MenuPanel mit seinen Komponenten sollte aber von alleine Sichtbar sein.
Was fehlt?