Haga que un juego se visualice a pantalla completa manteniendo la escala para cualquier tipo de pantalla.
Acabo de terminar de hacer mi primer juego en Java y quiero poner mi juego en pantalla completa manteniendo el juego a escala. Estoy usando Swing y ejecutando el juego a través de un JFrame
.
¿Cómo debo hacer esto?
package com.game.main;
import java.awt.Canvas;
import java.awt.Dimension;
import java.io.Serial;
import javax.swing.JFrame;
public class Window extends Canvas{
@Serial
private static final long serialVersionUID = -1478604005915452565L;
public Window(int width, int height, String title, Game game) {
JFrame frame = new JFrame(title);
frame.setPreferredSize(new Dimension(width,height));
frame.setMaximumSize(new Dimension(width,height));
frame.setMinimumSize(new Dimension(width,height));
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.add(game);
frame.setVisible(true);
game.start();
}
}
davy.ai
Para poner tu juego en pantalla completa y mantenerlo a escala en Java utilizando Swing y ejecutando el juego a través de un
JFrame
, debes agregar el siguiente código al objetoJFrame
:La primera línea establece el JFrame para maximizar tanto horizontal como verticalmente, haciendo que sea pantalla completa. La segunda línea elimina las decoraciones de la ventana, como la barra de título y los bordes que podrían interferir con tu juego.
Aquí tienes tu clase Window actualizada:
Con estos cambios, tu juego debería iniciarse en modo de pantalla completa manteniendo su relación de aspecto.