日期:2014-05-20  浏览次数:20969 次

[求助]去掉了标题栏后仍然能够拖动窗口
我自己做了一个小程序,为了更加的美观,我把标题栏去掉了,我使用的是JFrame,在Jpanel上安放的JButton部件,同时我在一个类里面建立了三个方法,一个是构造方法,另一个是事件监听public void actionPerformed(ActionEvent e)方法,还有一个是main()方法,现在希望通过接口来实现拖动JTextField的时候能够拖动整个程序框体移动.求实现方法,谢谢.

------解决方案--------------------
addMouseMotionListener 监听鼠标拖动,在拖动时移动frame的位置
------解决方案--------------------
Java code

package net.csdn.www;

import java.awt.Point;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.event.MouseInputAdapter;

public class RemoveTitle {
    public static void main(String[] args) {
        new NoTitleWindow();
    }
}

class NoTitleWindow extends JFrame {

    public NoTitleWindow() {
        setUndecorated(true);
        setBounds(100, 100, 100, 100);
        setVisible(true);
        MouseOperate mo = new MouseOperate();
        addMouseListener(mo);
        addMouseMotionListener(mo);
    }
    
    private class MouseOperate extends MouseInputAdapter {
        private Point point1;

        public void mousePressed(MouseEvent e) {
            point1 = e.getPoint();
        }

        public void mouseDragged(MouseEvent e) {
            Point point2 = new Point();
            point2 = e.getPoint();
            int dx = point2.x - point1.x;
            int dy = point2.y - point1.y;
            int x = getX();
            int y = getY();
            setLocation(x+dx,y+dy);
        }
    }
}

------解决方案--------------------
加这条语句 
System.exit(0);
------解决方案--------------------
探讨

代码如下
Java code

public class Calc extends JFrame implements ActionListener,MouseListener,MouseMotionListener{

JPanel jPanel;
JTextField jTextField,JTFtitle;

public Calc() {
……