怎么不可能? 这个很容易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 );自己仿照上面的代码些一个窗体出来研究研究吧
这个很容易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 );自己仿照上面的代码些一个窗体出来研究研究吧