Java:JFrame上的beetwen getLocation()和getLocationOnScreen()有什么区别?

时间:2016-06-18 15:04:52

标签: java jframe

getLocation()的{​​{1}}和getLocationOnScreen()方法有什么区别?

我想测试这段代码有什么不同,但结果是一样的。我应该使用哪种方法?

JFrame

输出:

public static void main(String args[]) {
    JFrame frame = new JFrame();
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.setLocation(150, 100);
    frame.setVisible(true);

    System.out.println("getLocation: " + frame.getLocation().getX() + " " + frame.getLocation().getY());
    System.out.println("getLocationOnScreen: " + frame.getLocationOnScreen().getX() + " " + frame.getLocationOnScreen().getY());
}

1 个答案:

答案 0 :(得分:0)

当您创建这样的JFrame时,父级为null,因此它就是屏幕。这就是为什么在这里,函数返回相同的值:getLocationOnScreen()返回相对于屏幕的框架位置,getLocation()返回框架相对于其父级的位置,此处为屏幕