Я сейчас играю в игру. Если я запускаю титульный экран, я иногда не получаю никакого контента, и экран становится черным, иногда при запуске программы все работает отлично, а иногда просто показывает заголовок, но без кнопки.
Вот код:
package de.creapermann.main;
import java.awt.Color;
import java.awt.Container;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
public class GUI {
// create
JFrame TitleScreen = new JFrame();
Container con = new Container();
JPanel TitlePanel = new JPanel();
JPanel StartButtonPanel = new JPanel();
JLabel Name = new JLabel();
Font TitleFront = new Font("Times New Roman", Font.PLAIN, 170);
Font StartFont = new Font("Times New Roman", Font.PLAIN, 70);
JButton StartButton = new JButton();
JPanel WaffePanel = new JPanel();
JPanel SpielerPanel = new JPanel();
TitleScreenHandler tsHandler = new TitleScreenHandler();
public GUI() {
// TITLE SCREEN
// opti
TitleScreen.setTitle("Shooter Game");
TitleScreen.setExtendedState(JFrame.MAXIMIZED_BOTH);
TitleScreen.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
TitleScreen.setResizable(false);
TitleScreen.getContentPane().setBackground(Color.BLACK);
TitleScreen.setLayout(null);
TitleScreen.setVisible(true);
TitleScreen.requestFocus();
TitleScreen.addKeyListener(new KeyHandler());
TitleScreen.add(con);
con = TitleScreen.getContentPane();
TitlePanel.setBounds(470, 150, 1000, 250);
TitlePanel.setBackground(Color.BLACK);
con.add(TitlePanel);
Name.setText("Shooter Game");
Name.setForeground(Color.WHITE);
Name.setFont(TitleFront);
TitlePanel.add(Name);
StartButtonPanel.setBounds(800, 770, 300, 100);
StartButtonPanel.setBackground(Color.BLACK);
StartButtonPanel.setBorder(null);
con.add(StartButtonPanel);
StartButton.setBackground(Color.BLACK);
StartButton.setForeground(Color.WHITE);
StartButton.setFont(StartFont);
StartButton.setText("Start");
StartButton.setBorder(null);
StartButton.addActionListener(tsHandler);
StartButtonPanel.add(StartButton);
WaffePanel.setLocation(914, 917);
WaffePanel.setSize(30, 75);
WaffePanel.setBackground(Color.WHITE);
WaffePanel.setLayout(null);
WaffePanel.setVisible(false);
con.add(WaffePanel);
SpielerPanel.setBounds(914 - 28, 992, 88, 32);
SpielerPanel.setBackground(Color.WHITE);
SpielerPanel.setLayout(null);
SpielerPanel.setVisible(false);
con.add(SpielerPanel);
}
// Main Game GUI
public void MainGameGUI() {
WaffePanel.setVisible(true);
TitlePanel.setVisible(false);
StartButtonPanel.setVisible(false);
SpielerPanel.setVisible(true);
con.addKeyListener(new KeyHandler());
}
public class TitleScreenHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
MainGameGUI();
}
}
}