求救::无标题栏的窗体拖动
怎么在java中实现没有标题栏的窗体拖动
如何得到屏幕的坐标
问题点数:100、回复次数:4Top
1 楼hitman9099(hitman)回复于 2006-02-19 17:50:26 得分 0
难道就没有个高手告诉俺么Top
2 楼aaa2003gf(珍惜 (MSN:aaa2003gf@hotmail.com))回复于 2006-02-19 17:57:38 得分 10
你给窗体添加鼠标监听,就能得到鼠标当前的坐标
e.getX();
e.getY();Top
3 楼hitman9099(hitman)回复于 2006-02-19 18:01:17 得分 0
我添加了 可是mouseMoved这个事件只能得到当前frame的坐标 而得不到整个屏幕的坐标Top
4 楼mq612(五斗米)回复于 2006-02-19 19:03:42 得分 90
import java.awt.event.MouseMotionAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.JFrame;
import javax.swing.JPanel;
/**
* 利用鼠标监听解决无标题窗体的移动问题
*/
public class Test {
private JFrame frame = null;
JPanel pane = null;
int mouseX = 0;
int mouseY = 0;
public Test() {
frame = new JFrame();
frame.setUndecorated(true);
pane = (JPanel) frame.getContentPane();
pane.addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent mouseEvent) {
if (mouseEvent.getButton() == mouseEvent.BUTTON1) {
mouseX = mouseEvent.getX();
mouseY = mouseEvent.getY();
}
}
});
pane.addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
if (e.getModifiers() == e.BUTTON1_MASK) {
frame.setLocation(frame.getX() + e.getX() - mouseX,
frame.getY() + e.getY() - mouseY);
}
}
});
frame.setSize(300, 200);
frame.setVisible(true);
}
public static void main(String args[]) {
Test t = new Test();
}
}Top




