Я делаю подобную Scorched Earth игру на Java (для моего экзаменационного проекта: D), но у меня есть эта проблема. Я рисую окно (JFrame), задаю компоновку BorderLayout, применяю расширенный JPanel и упаковываю окно, но после того, как оно было упаковано, оно показывает некоторое расширенное белое пространство слева и снизу.
Это мой основной класс:
public class Main {
public static void main(String[] args) {
javax.swing.JFrame frame = new javax.swing.JFrame("game title");
panel p = new panel(new java.awt.Dimension(512, 512));
frame.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(new java.awt.BorderLayout());
frame.getContentPane().add(p, java.awt.BorderLayout.CENTER);
frame.pack();
frame.setResizable(false);
frame.setVisible(true);
}
}
Панель
- это мой класс JPanel, который в конструкторе устанавливает свой предпочтительный размер для аргумента (512x512). Я проверил это как на Windows, так и на Linux, и ошибка в обоих местах, и размер белого разрыва отличается от ОС к ОС.
Это мой класс панели:
class panel extends javax.swing.JPanel{
panel(java.awt.Dimension size){
setPreferredSize(size);
}
public void paint(java.awt.Graphics g){
g.setColor(java.awt.Color.BLUE);
g.fillRect(0, 0, 512, 512);
}
}
Пожалуйста, помогите!