Я ищу ответ на вопрос, почему треугольник не вращается, когда я нажимаю клавишу.
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.geom.GeneralPath;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Beta extends JPanel implements KeyListener
{
private static final long serialVersionUID = 1L;
private int LEFT = 0, RIGHT = 1;
Beta()
{
addKeyListener(this);
}
public void paintComponent( Graphics g )
{
repaint(); // call superclass's paintComponent
точки треугольника
int[] xPoints = {-50, 0, 50};
int[] yPoints = {0, -50, 0};
Graphics2D g2d = ( Graphics2D ) g;
GeneralPath star = new GeneralPath(); // create GeneralPath object
// set the initial coordinate of the General Path
star.moveTo(-50, 0);
// create the star--this does not draw the star
for ( int count = 1; count < xPoints.length; count++ )
star.lineTo( xPoints[ count ], yPoints[ count ] );
star.closePath(); // close the shape
g2d.translate( getWidth()/2, getHeight()/2 ); // translate the origin to (150, 150)
// rotate around origin and draw stars in random colors
повернуть
g2d.rotate( Math.PI / 40.0 );
g2d.setColor(Color.RED);
g2d.fill( star );
}
@Override
public void keyTyped(KeyEvent e) {
// TODO Auto-generated method stub
}
нажать клавишу, чтобы нарисовать
public void keyPressed(KeyEvent ke)
{
switch(ke.getKeyCode())
{
default: repaint();
}
}
@Override
public void keyReleased(KeyEvent e) {
// TODO Auto-generated method stub
}
public static void main( String[] args )
{
JFrame frame = new JFrame( "Space Battle Beta" );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
//add Panel to frame
Beta shapes2JPanel = new Beta();
frame.add( shapes2JPanel ); // add shapes2JPanel to frame
frame.setBackground(Color.BLACK);
frame.setSize( 315, 330 ); // set frame size
frame.setVisible( true ); // display frame
}
} // end class Shapes2JPanel
Не удается повернуть треугольник.
repaint ()
не работает или это что-то еще?