1

必要な座標JPanelに一連の s を追加する必要がある があります。JLabelこれらJLabelの には、矢印キーを使用して新しい位置を決定するキー リスナーが割り当てられます。

より具体的には、1つしかない場合の方法を知っていますがJLabel、それ以上のものを置くと、物事が台無しになります。矢印キーを使用している間、最初のJLabel動きはありますが、他のすべてがJLabel消えます。

JLabel特定の座標に aを配置し、後で矢印キーを使用してそれらを移動する方法を作成するためのヒントを誰かに教えてJLabelもらえますか?

よろしくお願いします

4

2 に答える 2

1

JDesktopPaneまたはJLayeredPaneを使用してみることができます。これは、JPanelsと同じように機能しますが、レイアウトは使用しません。これらを使用すると、境界を使用するため、常にこのようなjlabelの境界を設定する必要があります。

JLabel label = new JLabel("Hello");
label.setBounds(0, 0, 100, 20);
//label.setBounds(x, y, width, height);
pane.add(label)

そのラベルを移動する必要がある場合は、次のようなものを使用できます

int xx = label.getBounds().getX();
int yy = label.getBounds().getY();
int ww = label.getBounds().getWidth();
int hh = label.getBounds().getHeight();

//to the right 10 units
xx+=10;
label.setBounds( xx, yy, ww, hh );
于 2012-05-16T19:30:39.357 に答える
0

repaint()UIの更新に使用していると思います。ところで、あなたが呼んでいるコンポーネントはrepaint()どれですか?

于 2012-05-15T03:58:25.210 に答える