Hi! Ich will ein Rechteck Programmieren, welches sich pro Mausclick um 10° dreht. Ich hab des gefühl, dass ich nah drann bin, steh aber grad irgendwie auf dem Schlauch. Wär cool, wenn ihr mir sagen könntet, was an dem programm nicht stimmt....
Code:
import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.event.MouseListener.*;
import java.awt.geom.*;
import javax.swing.event.*;
import javax.swing.*;
import java.awt.image.*;
public class Square extends JComponent implements MouseInputListener{
AffineTransform at = new AffineTransform();
RechtEck rechteck = new RechtEck();
JFrame frame;
public Square(){
frame = new JFrame("Info2");
frame.setLayout(new BorderLayout());
rechteck.addMouseListener(this);
frame.add(rechteck, BorderLayout.CENTER);
frame.setSize(208, 235);
frame.add(rechteck);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void paint(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
String info = "info2";
Rectangle rectangle = new Rectangle(40, 40, 120, 120);
g2d.setStroke(new BasicStroke(20));
g2d.setColor(Color.BLUE);
g2d.setStroke(new BasicStroke(5));
g2d.draw(rectangle);
g2d.setColor(Color.RED);
g2d.setFont(new Font("ARIAL", Font.PLAIN, 20));
g2d.drawString(info, 85, 105);
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setTransform(at);
repaint();
}
public void mouseClicked(MouseEvent e){
int lastRotate = 0;
int current = 20;
if(e.getButton() == MouseEvent.BUTTON1){
System.out.print("hüüüüüüüüüüüüeeeeeeeeeeeeeeeeeee!!!!!!!!!!");
at.rotate((current - lastRotate) * Math.PI /180);
lastRotate = current;
repaint();
}
}
public static void main(String [] args){
new Square();
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
}
public void mouseReleased(MouseEvent e) {
}
public void mouseDragged(MouseEvent e) {
}
public void mouseMoved(MouseEvent e) {
}
}