В моей программе я использую JFrame и устанавливаю ее панель содержимого в JPanel через setContentPane()
. Иногда JPanel перемещается в верхнем левом углу примерно на 10-15 пикселей, так что справа, а внизу - белые области.JPanel иногда перемещается в верхнем левом углу после запуска программы
Я проверил положение, размер и вставки панели, но все они такие же, как и без проблемы.
public class Window extends JFrame {
private static final long serialVersionUID = 1L;
private DrawPanel dp;
public Window(int width, int height, String title) {
dp = new DrawPanel(); // constructor only calls setFocusable(true);
setResizable(false);
setSize(width, height);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setTitle(title);
setLocationRelativeTo(null);
setContentPane(dp);
setVisible(true);
dp.init(); // only initializes a BufferedImage
}
public DrawPanel getDrawPanel() {
return dp;
}
}
Верхняя картинка, как это должно быть, ниже рисунок показывает проблему:
Я надеюсь, что вы поняли мою проблему и может помочь мне. Спасибо
Просьба предоставить [SSCCE] (http://sscce.org/). –
Рассмотрите возможность использования [runnable example] (https://stackoverflow.com/help/mcve), который демонстрирует вашу проблему. Это не дамп кода, а пример того, что вы делаете, что подчеркивает проблему, с которой вы сталкиваетесь. Это приведет к меньшему путанице и лучшим ответам – MadProgrammer
Вызов 'setResizable (false);', за которым следуют либо 'path', либо' setSize', 'setResizable' изменит размер декодирования кадров на некоторых платформах – MadProgrammer