Я следую за видео этого парня: https://www.youtube.com/watch?v=1gir2R7G9ws. Кроме того, я использую Netbeans. Каждый раз, когда я запускаю его, например, когда я пытался использовать предпочтительный размер вместо заданного размера, он все равно выводит небольшое окно.Почему мой кадр устанавливается в небольшое окно каждый раз, когда я его запускаю?
public class APCSGame extends Canvas implements Runnable{
...
public final int WINWIDTH=1000,WINHEIGHT=500, SCALE=1;;
JFrame frame;
private BufferedImage backgroundMenu=null;
public APCSGame(){
frame=new JFrame("Testing it out boiiiii");
setSize(WINWIDTH*SCALE,WINHEIGHT*SCALE);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(null);
frame.add(this);
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
...
public static void main(String[] args) {
new APCSGame().start();
}
}
Не помещайте темы, пожалуйста, упростите свой код в [mcve], то есть простую программу, в которую вы помещаете изображение внутри 'JFrame'. Не расширяйте 'Canvas', он принадлежит AWT, вместо этого используйте' JPanel'. Также см. [Следует ли избегать использования setPreferred/Maximum/MinimumSize?] (Http://stackoverflow.com/questions/7229226/should-i-avoid-the-use-of-setpreferredmaximumminimumsize-methods-in-java-swi) (ДА). Вместо этого переопределите 'getPreferredSize' вашего холста (или' JPanel') – Frakcool
Я говорю с вами. Разве вы не читали, что ['pack()'] (https://docs.oracle.com/javase/7/docs/api/java/awt/Window.html#pack()) делает? Он уважает 'preferredSize' компонентов и изменяет размер вашего фрейма до минимального размера, где все компоненты имеют свой' preferredSize' уважаемый – Frakcool
Uh ... Я просто прокомментировал вызов setLayout, и он работал нормально. –