Java 如何将对象从一个JButton移动到另一个JButton?

Java 如何将对象从一个JButton移动到另一个JButton?,java,swing,jbutton,Java,Swing,Jbutton,基本上,我已经创建了一个板,其中填充了扩展Jbuttons的boardFields,实现了ActionListeners。 在将一个单元添加到一个boardField后,我无法找到将其移动到另一个boardField的方法。 这是密码 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.Mou

基本上,我已经创建了一个板,其中填充了扩展Jbuttons的boardFields,实现了ActionListeners。 在将一个单元添加到一个boardField后,我无法找到将其移动到另一个boardField的方法。 这是密码

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JButton;

@SuppressWarnings("serial")
public class BoardField extends JButton implements ActionListener,
    MouseListener {

public Boolean isOccupied;
public Unit occupiedBy;
public Integer locationOnBoard;
public Unit beingMoved;
public Boolean clicked = false;

public BoardField(Integer locationOnBoard, Unit occupiedBy,
        Boolean isOccupied) {
    super();
    this.locationOnBoard = locationOnBoard;
    this.occupiedBy = occupiedBy;

    this.addActionListener(this);
    this.addMouseListener(this);

}

@Override
public void actionPerformed(ActionEvent e) {
    System.out.println("button");
    if (clicked == false) {
        setBeingMoved(occupiedBy);
        occupiedBy = null;
        clicked = true;
    } else {
        setOccupiedBy(beingMoved);
        clicked = false;
        beingMoved = null;
    }

}

@Override
public void mouseClicked(MouseEvent arg0) {
    System.out.println("clicked");

}

@Override
public void mouseEntered(MouseEvent arg0) {
    System.out.println("entered");

    if (occupiedBy != null) {
        setText(" " + occupiedBy.getUnitType().getName() + ": "
                + occupiedBy.getQuantity());
    } else {
        setText("null");
    }

}`
很抱歉设置了代码格式,但即使我按了ctrl+K,它看起来也是这样。
谢谢你的帮助。

看看这个。你的意思是和动作监听器一样好,还是取而代之?我尝试过用鼠标点击来代替,但没有效果。提示:添加@MelihAltıntaş或其他人,@对于通知此人一条新评论很重要。@KrystianGroszyk:这里还有一条相关信息。希望这也能有所帮助:-