Я изучаю разработку игр на Java. Вот два способа, которым я научился инициализировать JPanel, прикрепленный к JFrame. Каковы различия между этими двумя, и какой из них был бы более правильным?Правильный способ инициализации JFrame с помощью JPanel
Обратите внимание, что в Метод 1, Скелет не расширяет JFrame. В Способ 2 он делает.
Метод 1:
Board.java
public class Board extends JPanel {
public Board() {
setPreferredSize(new Dimension(300, 280));
}
}
Skeleton.java
public class Skeleton {
public static void main(String[] args) {
JFrame window = new JFrame("Skeleton");
window.setContentPane(new Board());
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.pack();
window.setVisible(true);
}
}
Способ 2:
Board.java
public class Board extends JPanel {
public Board() {}
}
Skeleton.java
public class Skeleton extends JFrame {
public Skeleton() {
add(new Board());
setTitle("Skeleton");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300, 280);
setLocationRelativeTo(null);
setVisible(true);
setResizable(false);
}
public static void main(String[] args) {
new Skeleton();
}
}