Итак, у меня есть jFrame, в котором я создаю основное окно интерфейса чата. В этом окне/jFrame есть несколько кнопок, каждый из которых показывает jDialog (который я создал ранее в Netbeans, перетаскивая jDialog в родительский (?) JFrame).Drag undecorated 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 перестает работать. Я новичок в этом деле jDialogs детей из jFrames, поэтому, пожалуйста, помогите мне с некоторыми рекомендациями :) Спасибо
найти компонентный движок, не забудьте подтвердить этот ответ (-ы) – mKorbel
Для [пример] (http://stackoverflow.com/a/7760896/230513). – trashgod