这个问题在这里已经有答案了:
从内部类对象获取外部类对象(8个答案)
5天前关门了。
我创建了一个side类来帮助管理在所有gui jframe中重用的函数
我使用的是一个未修饰的jframe,并且我添加了一个简单的函数,可以将它拖来拖去
public class SideFunctions {
static int xMouse, yMouse;
public static void frameDragMouseDragged(JFrame frame, MouseEvent e) {
int x = e.getXOnScreen();
int y = e.getYOnScreen();
frame.setLocation(x - xMouse, y - yMouse);
}
public static void frameDragMouseClicked(JFrame frame, MouseEvent e) {
xMouse = e.getX();
yMouse = e.getY();
}
在扩展jframe的entrancescreen类中,我尝试这样做
private void createFrameDragLabel() {
frameDrag = new JLabel();
frameDrag.addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent arg0) {
SideFunctions.frameDragMouseDragged(this, arg0);
}
});
frameDrag.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent arg0) {
SideFunctions.frameDragMouseClicked(this, arg0);
}
});
frameDrag.setBounds(0, 0, 700, 400);
}
我希望'this'引用jframe示例,但它引用的是mousemotionadapter/mouseadapter,如何传递jframe对象本身?
1条答案
按热度按时间5cg8jx4n1#
this
指当前最内部的类,因此MouseAdapter
. 使用EntranceScreen.this
相反。