我想在屏幕上点击的图标进行转换后再传递到控件上,例如我在屏幕上点击的位置为(2,3),经过坐标系转换后为(7,8),我怎么把(7,8)这个点传给控件,请高手帮帮忙,多谢了.

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【skyhits1921】截止到2008-07-15 13:40:30的历史汇总数据(不包括此帖):
    发帖的总数量:10                       发帖的总分数:400                      每贴平均分数:40                       
    回帖的总数量:29                       得分贴总数量:8                        回帖的得分率:27%                      
    结贴的总数量:6                        结贴的总分数:200                      
    无满意结贴数:2                        无满意结贴分:130                      
    未结的帖子数:4                        未结的总分数:200                      
    结贴的百分比:60.00 %               结分的百分比:50.00 %                  
    无满意结贴率:33.33 %               无满意结分率:65.00 %                  
    楼主加油
      

  2.   

    以前也遇到过这重类似的问题,panel中的坐标和frame中的坐标系需要变换,也没找到类库提供的相关类和方法,郁闷。
      

  3.   


    那你就郁闷吧,这个又不难的
        public static Point getLocationOnScreen(MouseEvent e)
        {
            Container source =  (Container)e.getSource();
            Container parent = source.getParent();
            Container win = null;
            int x = e.getX();
            int y = e.getY();
            
            while(parent != null)
            {
                x += parent.getX();
                y += parent.getY();
                win = parent;
                parent = parent.getParent();
            }
            
            if(win != null && win instanceof Window)
            {
                Rectangle desktopBounds = getDesktopBounds((Window)win);
                x += desktopBounds.x;
                y += desktopBounds.y;
            }
            
            return new Point(x, y);
        }
    JDK6中对MouseEvent增加了getLocationOnScreen(),根本就不用自己写
      

  4.   

    我想在JTree中进行监听,如果把MouseEvent里的方法改了,那么就把我的其他组件的监听也更改了,我的意思是我new 一个JTree,只对这个JTree上的坐标进行转换.应该是覆盖addMouseListner这个方法吧.
      

  5.   

    谁让你改MouseEvent里的方法了,你就不能另外写一个方法么!!!我上面帖的那是一个单独的方法,不是重写MouseEvent里的
      

  6.   

    craky你有MSN吗,我给你发一下代码吧,你帮我看一下.我一时说不清楚.
      

  7.   

    我想说的是在哪个方法里写,我该覆盖JTree里的哪个方法.我覆盖了addMouseListner这个方法,但是好象不管用,点击到页面翻译到组件还是原来的点,没有经过转换.我不知道哪里写错了.
      

  8.   

    为什么不发在这里呢,呵呵
    [email protected]