使getX()和getY()方法获取面板的位置,而不是框架

时间:2015-03-20 18:57:27

标签: java

我使用getX()类中的getY()MouseListener方法来获取面板的位置,但它获取了框架的位置相反,它包括标题栏的顶部和侧面,所以它没有得到我想要的位置。我也有:

@Override
public Dimension getPreferredSize() {
    return new Dimension(300, 300);
}
我的paint类中的

方法覆盖框架,所以当你在图形中绘制,并设置x和y的绘制位置时,它会将它设置为面板位置,而不是框架位置,但我不会我知道如何使它,以便MouseListener类做同样的事情。请帮忙。谢谢。

MouseListener类的代码:

package events;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;

public class Events implements ActionListener, MouseListener, MouseMotionListener {

    static Events events = new Events();

    int x;
    int y;

    public void actionPerformed(ActionEvent e) {
    }

    public void mousePressed(MouseEvent e) {
    }

    public void mouseReleased(MouseEvent e) {
    }

    public void mouseEntered(MouseEvent e) {
    }

    public void mouseExited(MouseEvent e) {
    }

    public void mouseClicked(MouseEvent e) {
        x = e.getX();
        y = e.getY();

        System.out.println("X:" + x + " " + "Y:" + y);
    }

    public void mouseMoved(MouseEvent e) {
    }

    public void mouseDragged(MouseEvent e) {
    }
}

1 个答案:

答案 0 :(得分:0)

没关系。我可以调用面板x和y位置的面板名称。但不管怎样,谢谢。

x = P.g.getX();
y = P.g.getY()
相关问题