私は、スイングアプリケーション(rip i know)を作成しており、2つのJLabelsを互いに重ねて配置したいと考えています。シナリオを聞くオーバーレイされたJLabelsを追加する
ゲームは島の鳥瞰図であり、島は格子の四角で区切られています...これらの格子の四角のそれぞれに、1つのアイテムと1つの動物がたくさんあります。 2つのJLabelを作成しました。
JLabel animal = new JLabel();
JLabel item = new JLabel();
イメージを設定するためにanimal.setIcon(...);
を使用しました。今これは完璧に動作していますが、私は動物のラベルの上にイメージを配置したいので、私は2つのグリッドを同じグリッドに表示することができます。
私はこれが正常に動作します(これはgridsquareクラスです)私は、後のJFrameに追加した、のJPanelを拡張したクラスで
if(inputItem!= null){
try{
imgItem = ImageIO.read(inputItem);
itemLabel.setIcon(new ImageIcon(imgItem.getScaledInstance(this.getWidth(), this.getHeight(), Image.SCALE_SMOOTH)));
this.add(itemLabel);
}catch(Exception e){
//do something
}
}
を次のコードを書いています。私はinputAnimalとimgAnimalの変数についても非常によく似たことをしています。ちょうど私がお互いの上にそれらを追加する方法について行くことができますか?私は単純に順次追加しようとしましたが、これはうまくいきません。事前に
おかげでこれらのグリッドの正方形のそれぞれの上に今
あなたは2つのラベルを必要としません。 [OverlayIcon](http://stackoverflow.com/questions/17088599/how-to-combine-two-icons-in-java)が必要です –