2016-04-17 13 views
0

Meine GUI-Ausgabe ist Bild 1. Ich möchte die Karte in die entgegengesetzte Richtung, wie in Bild 2 drucken. Ich verwende JLabel, um jede Karte als meinen Code gespeichert zu speichern. Irgendeine .swing oder .awt Methode kann mir dabei helfen?Wie Karte von JLabel in der entgegengesetzten Richtung in GUI drucken?

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()); 
} 

Bild 1:

Bild 2:

+0

Welches Bild ist welches? Ich könnte Ihnen auch vorschlagen, dass Sie etwas Zeit investieren, um 'JLayeredPane' zu ​​erforschen – MadProgrammer

Antwort

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; 
    } 

in diesem Beispiel im Affine mit dem Bild kippen Sie die doumentation https://docs.oracle.com/javase/tutorial/2d/advanced/transforming.html um weitere Informationen sehen

können Sie Ihr Symbol in jlabel in Buffefed Bild durch diese Methode konvertieren