Hallo, zusammen.
Ich bin ein blutiger Java-Anfänger, falls also das Thema im Anfänger-bereich angemessener ist: bitte verschieben.
Ich schreibe momentan ein Programm, das das Mandelbrot-Fraktal ausgibt. Um Zoom einbinden zu können, müsste das Programm auf einen Mausklick reagieren, was nicht funktioniert.
Nach einigem Probieren habe ich ein deutlich vereinfachtes Testprogramm geschrieben, um mich aufs Wesentliche zu konzentrieren. In dem folgenden Programm sollte (als Ziel), wenn man klickt, das Rechteck verschoben werden.
Könntet ihr mir Hinweise geben, warum das nicht funktioniert, bzw schlau leitende Rückfragen stellen?
Ich bin ein blutiger Java-Anfänger, falls also das Thema im Anfänger-bereich angemessener ist: bitte verschieben.
Ich schreibe momentan ein Programm, das das Mandelbrot-Fraktal ausgibt. Um Zoom einbinden zu können, müsste das Programm auf einen Mausklick reagieren, was nicht funktioniert.
Nach einigem Probieren habe ich ein deutlich vereinfachtes Testprogramm geschrieben, um mich aufs Wesentliche zu konzentrieren. In dem folgenden Programm sollte (als Ziel), wenn man klickt, das Rechteck verschoben werden.
Könntet ihr mir Hinweise geben, warum das nicht funktioniert, bzw schlau leitende Rückfragen stellen?
Java:
package test;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
public class Test extends JPanel implements MouseListener{
public static void main(String[] args) {
Test mandel;
mandel = new Test();
}
private int xstart,ystart,xend,yend;
Test (){
JFrame frame =new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new MyComponent());
frame.setVisible(true);
frame.setSize(1460 ,1000);
frame.getContentPane().setBackground(Color.BLACK);
xstart = 20;
xend = 200;
ystart = 20;
yend = 200;
frame.addMouseListener(this);
}
@Override
public void mouseClicked(MouseEvent me) {
xstart = xstart + 20;
xend = xend -20;
ystart = ystart + 20;
yend = yend - 20;
repaint();
}
public void mousePressed(MouseEvent me) { }
public void mouseReleased(MouseEvent me) { }
public void mouseEntered(MouseEvent me) { }
public void mouseExited(MouseEvent me) { }
class MyComponent extends JComponent {
@Override
public void paintComponent(Graphics g) {
super.paintComponent( g );
Graphics2D g2 = (Graphics2D) g;
g2.drawRect(xstart,ystart,xend,yend);
}
}
}