Sir Zu Zwat Skrevet 9. februar 2010 Del Skrevet 9. februar 2010 (endret) Hei, Driver å skal få en firkant til å rotere/rulle bortover i et JPanel. Får den til å flytte seg bortover, men ikke rulle. Her er koden min: import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.*; import java.io.IOException; import java.net.URL; import java.util.Calendar; import javax.imageio.ImageIO; import javax.swing.*; public class Firkant extends JFrame { private JPanel panel = new Panel(); public int T = 0; public Firkant() { super( "Firkant" ); setSize(600, 600); setResizable( false ); Timer t = new Timer(1, new ActionListener() { public void actionPerformed( ActionEvent e ) { T += 1; panel.repaint(); } }); t.start(); Container c = getContentPane(); c.setLayout( new FlowLayout() ); c.add( panel ); } class Panel extends JPanel { public Panel() { setPreferredSize(new Dimension(600, 600)); setBackground(Color.DARK_GRAY); } public void paint( Graphics g ) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; Rectangle2D rect; g2.setColor( Color.white ); if( T < 250 ) { rect = new Rectangle2D.Float(T, 50, 100, 50); } else if( T < 650 ) { rect = new Rectangle2D.Float(250, (50 + T) - 250, 100, 50); } else rect = new Rectangle2D.Float(250, 450 - (T - 650), 100, 50); g2.draw( rect ); g2.drawLine(0, 100, 250, 100); g2.drawLine(350, 100, 600, 100); g2.drawLine(250, 100, 250, 400); g2.drawLine(350, 100, 350, 400); g2.drawLine(0, 100, 250, 400); g2.drawLine(350, 400, 600, 100); g2.drawLine(250, 500, 350, 500); } } public static void main( String[] args ) { Firkant vindu = new Firkant(); vindu.setVisible( true ); vindu.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); } } Endret 9. februar 2010 av Sir Zu Zwat Lenke til kommentar
pgdx Skrevet 9. februar 2010 Del Skrevet 9. februar 2010 Hva er din overordnede strategi på å få den til å rotere, da? Lenke til kommentar
Sir Zu Zwat Skrevet 9. februar 2010 Forfatter Del Skrevet 9. februar 2010 Bruke AffineTransform, men får det ikke til å virke. Får bare nye firkanter istedenfor at den roterer. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå