jframe无边框后如何用鼠标改变他的位置'
就是当鼠标在jframe里任意位置按着左键不放时,然后就可以这样拖动来改变jframe在屏幕中的位置
好像是一个鼠标事件吧...

解决方案 »

  1. 哈哈, 我也想知道呢, 要不你按 alt + 空格, 看看能不能弹出那个窗口菜单
      

  2. 怎么不可能?
    这个很容易final JFrame frame = new JFrame();
    MouseAdapter ma = new MouseAdapter() {
    private int x = 0;
    private int y = 0;

    @Override
    public void mouseDragged( MouseEvent e ) {
    int nx = e.getX();
    int ny = e.getY();
    Point p = frame.getLocation();
    p.translate( nx - x, ny - y );
    frame.setLocation( p );
    } @Override
    public void mousePressed( MouseEvent e ) {
    if( SwingUtilities.isLeftMouseButton( e ) ) {
    x = e.getX();
    y = e.getY();
    frame.getRootPane().addMouseMotionListener( this );
    }
    } @Override
    public void mouseReleased( MouseEvent e ) {
    if( SwingUtilities.isLeftMouseButton( e ) ) {
    frame.getRootPane().removeMouseMotionListener( this );
    }
    }
    };
    frame.getRootPane().addMouseListener( ma );自己仿照上面的代码些一个窗体出来研究研究吧
      

类似问题 »