Hallo Forum,
stehe vor einem Problem, welches ich nicht lösen kann. Programmiere gerade ein SpaceAdventure in 2D und würde gerne ein HUD-Display unten links anzeigen lassen, jedoch bekomme ich es nicht hin. Es bleibt immer oben in der Mitte stehen.
Was mache ich falsch?
Mein Code:
stehe vor einem Problem, welches ich nicht lösen kann. Programmiere gerade ein SpaceAdventure in 2D und würde gerne ein HUD-Display unten links anzeigen lassen, jedoch bekomme ich es nicht hin. Es bleibt immer oben in der Mitte stehen.
Was mache ich falsch?
Mein Code:
Java:
public class SpaceWindow extends JFrame
{
public final static int SPACE_WIDTH = 1920;
public final static int SPACE_HEIGHT = 1200;
private final SpaceDrawBoard spaceDrawBoard;
public SpaceWindow()
{
createSpaceWindow();
spaceDrawBoard = new SpaceDrawBoard();
add(spaceDrawBoard);
}
private void createSpaceWindow()
{
setTitle(getClass().getSimpleName());
setSize(new Dimension(SPACE_WIDTH, SPACE_HEIGHT));
setVisible(true);
setResizable(false);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Java:
public class SpaceDrawBoard extends JPanel
{
private final HUD hud;
public SpaceDrawBoard()
{
createSDB();
hud = new HUD();
add(hud);
}
private void createSDB()
{
setFocusable(true);
setPreferredSize(new Dimension(SpaceWindow.SPACE_WIDTH, SpaceWindow.SPACE_HEIGHT));
setBorder(new TitledBorder(getClass().getSimpleName()));
}
}
Java:
import java.awt.Dimension;
import javax.swing.JPanel;
import javax.swing.border.TitledBorder;
public class HUD extends JPanel
{
private final Dimension hud_dimension = new Dimension(500, 100);
public HUD()
{
createHUD();
}
private void createHUD()
{
setFocusable(true);
setPreferredSize(hud_dimension);
setBounds(100, SpaceWindow.SPACE_HEIGHT - 250, hud_dimension.width, hud_dimension.height);
setBorder(new TitledBorder("HUD"));
}
}