所以,我在我建立一個聊天的主界面窗口的JFrame。該窗口/ JFrame中有幾個按鈕,其每一個示出一個JDialog(我Netbeans中拖動一個JDialog到父(先前創建的?)的JFrame)。將未修飾的JDialog
我的問題是,這兩個窗口都設置爲undecorated = true
,所以我希望讓用戶拖動和通過點擊和拖動窗口的
在我已經通過下面的代碼來完成這個一切jFrames只是initComponents()
後:
final Point point = new Point(0,0); // Why 'final' and not simply Point point?
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
if(!e.isMetaDown()){
point.x = e.getX();
point.y = e.getY();
System.out.println("Ratón pulsado: " + point.x + "," + point.y);
}
}
});
addMouseMotionListener(new MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
if(!e.isMetaDown() && point.y <= 17){ //Coordinates of title bar, any X and up to 17px from the top border
Point p = getLocation();
setLocation(p.x + e.getX() - point.x, p.y + e.getY() - point.y);
System.out.println("Ratón movido: " + (p.x + e.getX() - point.x) + "," + (p.y + e.getY() - point.y));
}
}
});
不過,我不知道如何在的JDialog使用此代碼。當我右鍵單擊它在導航器,並選擇自定義代碼,那麼我不能在那裏,因爲整個的JFrame停止工作粘貼。我是JFrames的jDialogs兒童的新東西,所以請幫助我一些指導:)謝謝
搜索組件動,別忘了給予好評這個(這些)的答案(S) – mKorbel 2013-04-07 20:25:20
的作者對於[示例](http://stackoverflow.com/a/7760896/230513)。 – trashgod 2013-04-07 20:55:47