int width = 2256;
int height = 1504;
Предполагаю, что ваш экран 2556x1504. Вы даете рамке этот размер. Когда у нас полноэкранная программа (от кнопки по умолчанию ОС выдает в правом верхнем углу окна), она не получает размер экрана. Требуется размер экрана - высота панели задач ОС. Я не знаю, для других операционных систем, но если вы хотите сделать неокрашенный полноэкранный кадр в windows и задействовать панель задач, вы должны использовать это:
public class Frame extends JFrame {
public Frame() {
JPanel p = new JPanel();
int width = 2256;
int height = 1504;
Dimension size = getScreenDimensionWithoutTaskbar(this);
p.setPreferredSize(size);
p.setMinimumSize(size);
p.setMaximumSize(size);
p.setSize(size);
this.setUndecorated(true);
this.setContentPane(p);
this.pack();
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setAlwaysOnTop(true);
this.setVisible(true);
}
public static Dimension getScreenDimensionWithoutTaskbar(Frame frame) {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
int width = screenSize.width;
int height = screenSize.height;
Insets screenInsets = Toolkit.getDefaultToolkit().getScreenInsets(frame.getGraphicsConfiguration());
int taskBarSize = screenInsets.bottom;
return new Dimension(width, height - taskBarSize);
}
public static void main(String[] args) {
new Frame();
}
}