在屏幕上找到一个点

时间:2013-07-09 18:07:59

标签: java coordinates

似乎有许多与此类似的问题,但我找不到直接回答问题的问题。

基本上,我在一个框架内有2个矩形。 (制作游戏时我的画面,我的“画面”和我的“等级”)。我知道屏幕的宽度和高度以及水平的宽度和高度。

当我点击屏幕并点击我点击的X()时,它会返回屏幕上的点(因为无论我在哪里,屏幕上的坐标都不会改变,IE(0,0)是屏幕的左上角,(screen.width,screen.height)位于右下角)是一个问题,因为屏幕上的对象需要跨越Level。

我想知道是否有一种简单的方法可以获得信息水平。举个例子:

屏幕 -            宽度= 10,高度= 5。            点击=(5,2) 水平-            宽度= 20,Hieght = 10            点击=(?,?)

1 个答案:

答案 0 :(得分:0)

我不完全明白你的意思:

  

屏幕 - 宽度= 10,高度= 5.单击=(5,2)级别 - 宽度= 20,高度= 10单击=(?,?)

但是如果你只是想在“水平”矩形上得到它们相对于矩形点击的点(即(0,0)将是反转的左上角)那么你可以得到'水平'矩形组件实现MouseListener,如此

component.addMouseListener(new MouseListener() {
    @Override
    public void mouseClicked(MouseEvent e) {
         int x = e.getX();
         int y = e.getY();
         System.out.println(x+","+y);//these co-ords are relative to the component
    }
});