Это мой код JFrame:
public static int width = 800;
public static int height = 600;
public static void main(String[]args){
JFrame frame= new JFrame("RETRO");
frame.add(new Screen());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(width,height);
frame.setVisible(true);
frame.setResizable(false);
}
В основном, когда я хочу, чтобы что-то переместилось к краю экрана, я должен добавить дополнительные пиксели для его работы (наверное, потомусам кадр вместо размера дисплея? Однако оригиналы работают нормально (x = 0, y = 0)).Пример:
public double getX(){
if(x<0)
x=0;
if(x+getImage().getWidth(null)>Game.width-6)
x=Game.width-6-getImage().getWidth(null);
return x;
}
public double getY(){
if(y<0)
y=0;
if(y+getImage().getHeight(null)>Game.height-26)
y=Game.height-26-getImage().getHeight(null);
return y;
}
Есть ли способ обойти это?Я не думаю, что размер JFrame будет одинаковым на всех компьютерах, не говоря уже о догадках.Скорее сделайте это намного аккуратнее и гибче, используя переменную выхода из компонента JFrame.Существует ли что-то вроде frame.getDisplayWidth и функции Height?