JLayeredPaneにJLabelをいくつか追加して、あとからいろいろ操作してます。
JLayeredPane imageArea;
まず、背景画像を表示するためのJLabelを追加します。
JLabel background;
imageArea.add(background, new Integer(0));
次にキャラクター表示するためのJLabelを追加します。
JLabel[] character;
imageArea.add(character[c], new Integer(2));
//デフォルトは2で、キャラクター同士の優先順位を1~3で設定
そのあと、画像を変更して、
String imagePath;
character[c].setIcon(null);
character[c] = new JLabel(new ImageIcon(this.getClass().getResource(imagePath)));
またaddし直します。
imageArea.add(character[c], new Integer(2));
すると、優先順位が低いはずのbackgroundよりも後ろに表示されてしまいます。
あとからaddしたものほど後ろに表示されるというのは知っていますが、JLayeredPaneの場合はレイヤーによって優先順位が決められるはずですよね?
どうすれば同じ位置に表示できますか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。