我有一个JLabel (有一个图标),当单击JLabel时,我想翻译这个JLabel。我在mouseListener中添加了一个JLabel,但是我没有想出如何执行从坐标(x,y)到坐标(x',y')的转换。
class MyMouseListener extends MouseAdapter {
@Override
public void mouseClicked(MouseEvent e){
final JLabel label = (JLabel) e.getSource();
System.out.println("Player hit label -> " + label.getName() );
// Code for translating JLabel
}
} 发布于 2015-10-07 15:38:05
至于翻译你的JLabel:
首先,必须确保其父级的布局管理器设置为null,或者使用可配置用于执行转换的自定义布局管理器。
一旦你有了它,这是一个简单的事情:
public void mouseClicked(MouseEvent ae) {
JLabel src = (JLabel) ae.getSource();
src.setLocation(src.getLocation().x + delta_x, src.getLocation().y + delta_y);
src.getParent().repaint();
}https://stackoverflow.com/questions/32996279
复制相似问题