-1

パネルをクリックして画面上で少しずつパネルを移動しようとしているだけですが、特定のボタンをクリックしてそれを行う方法も知りたいですか?

private void ActorMouseClicked(java.awt.event.MouseEvent evt) {

    float x =Actor.getAlignmentX();
    float y=Actor.getAlignmentY();
    x = x+1;
    Actor.setAlignmentX(x);
    System.out.println(x);
    invalidate();
    validate();
    repaint();     
   }
4

1 に答える 1

3

配置を変更しても、コンポーネントは移動しません。setLocation()コンポーネントを移動するには、コンポーネントのメソッドを呼び出す必要があります。

invalidate()、valiate()、または repaint() は必要ありません。Swing は、コンポーネントの場所が変更されたときにコンポーネントを再描画するのに十分スマートです。

コードはボタンでも同じです。移動するコンポーネントへの参照を持つ ActionListener を作成してから、その場所を変更します。

また、パネル上のコンポーネントをランダムに移動するには、null レイアウトを使用する必要があります。そのため、コンポーネントの境界を最初に設定する責任もあります。

ここにはたくさんのものがあります。さらに支援が必要な場合は、SSCCEを投稿して、これまでに行ったことを示す必要があります。

于 2013-03-09T21:01:17.733 に答える