为什么移动方法不适用于Java?

时间:2014-11-14 18:42:37

标签: java swing

我是Java的新手,我只想知道如何在JFrame中移动图片。 我创建了一个JLabel并使用设计选项卡添加了一个Icon,并将该标签添加到面板中,我希望它在按下按钮时移动。

private void jPanel2KeyPressed(java.awt.event.KeyEvent evt) {                                   
    // TODO add your handling code here:
    switch (evt.getKeyCode())
    {
        case KeyEvent.VK_UP:
            move(0, 10);

            break;
        case KeyEvent.VK_DOWN:
            move(0, -10);

            break; 
        case KeyEvent.VK_LEFT:
            move(-10, 0);

            break; 
        case KeyEvent.VK_RIGHT:
            move(10, 0);
            break;
        default:
            move(0, 10);
            break;
    }
}                      

1 个答案:

答案 0 :(得分:0)

我不知道你想做什么,但是:

  

@Deprecated
  public void move(int x,                      int y)

     

已过时。从JDK version 1.1开始,由setLocation(int,int)替换。

因此,最好在要移动的组件上调用setLocation()

如果您将JPanel附加到另一个面板,则父级的布局可能会让设置新位置无效。如果您将其用作JFrame的ContentPane,则相同。

如果你想移动你的Winwow / JFrame,你必须在Frame而不是面板上调用方法。