2016-04-17 9 views
0

私のGUI出力は画像1です。画像2のように反対方向にカードを印刷したいのですが、私はJLabelを使って各カードを私のコードとして保存しています。任意の.swingまたは.awtメソッドは私がこれを行うのを助けることができますか?JLabelでカードをカードの反対方向に印刷するには?

CardLabel = LabelCard(cardsInHand); 
int xcoordinate = 100; 
for (JLabel Label : CardLabel){ 
    this.add(Label); 
    Label.setBounds(i += 20 , (int) (frame.getHeight()/5.8 * game.getCurrentIdx() +20 ) , Label.getIcon().getIconWidth(), Label.getIcon().getIconHeight()); 
} 

写真1:

写真2:この例イムで

+0

どちらの画像がどちらですか? 'JLayeredPane'を研究するために少し時間を投資することをお勧めします – MadProgrammer

答えて

0
import java.awt.Graphics2D; 
import java.awt.geom.AffineTransform; 
import java.awt.image.BufferedImage; 
----------------------------------------------------------------------------- 

public static BufferedImage FlippTheImage(BufferedImage bi) { 
     BufferedImage flipped = new BufferedImage(bi.getWidth(), bi.getHeight(), 
     bi.getType()); 
     AffineTransform tran = AffineTransform.getTranslateInstance(0, 
     bi.getHeight()); 
    AffineTransform flip = AffineTransform.getScaleInstance(1d, -1d); 
    tran.concatenate(flip); 

    Graphics2D g = flipped.createGraphics(); 
    g.setTransform(tran); 
    g.drawImage(bi, 0, 0, null); 
    g.dispose(); 

    return flipped; 
    } 

あなたが詳細https://docs.oracle.com/javase/tutorial/2d/advanced/transforming.html

のためdoumentationを見ることができる画像を反転させるAffineTransformを使用して

この方法では、jlabelのアイコンをバッファリングされたイメージに変換できます

関連する問題