Hallo ich hoffe ihr könnt mir weiter helfen. Ich bin ziemlich neu in dem Gebiet und muss eine HA abgeben, die Folien der Vorlesung helfen mir leider nicht viel weiter
Ich soll ein Programm schreiben, welches Mithilfe der Maus Linien zeichnet. Es sollen mehrere Linien gezeichnet werden können.
Mit einem Button "New" soll die Zeichenfläche gelöscht werden und es sollen keine Linien mehr zu sehen sein.
Mit einem Button "End" soll ein modaler Dialog erscheinen, der eine Bestätigung für das Ende des Programms abfragt. Bei Antwort "Yes" wird das Programm beendet bei Antwort "No" kehrt man zum Programm zurück
Das habe ich bis jetzt:
Ich soll ein Programm schreiben, welches Mithilfe der Maus Linien zeichnet. Es sollen mehrere Linien gezeichnet werden können.
Mit einem Button "New" soll die Zeichenfläche gelöscht werden und es sollen keine Linien mehr zu sehen sein.
Mit einem Button "End" soll ein modaler Dialog erscheinen, der eine Bestätigung für das Ende des Programms abfragt. Bei Antwort "Yes" wird das Programm beendet bei Antwort "No" kehrt man zum Programm zurück
Das habe ich bis jetzt:
Code:
import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
public class Linien {
public static void main(String args[]) throws Exception {
JFrame f = new JFrame("Linien");
f.setSize(300, 300);
f.setLocation(300, 300);
f.setResizable(false);
JPanel p = new JPanel() {
Point pointStart = null;
Point pointEnd = null;
{
addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
pointStart = e.getPoint();
}
public void mouseReleased(MouseEvent e) {
pointStart = null;
}
});
addMouseMotionListener(new MouseMotionAdapter() {
public void mouseMoved(MouseEvent e) {
pointEnd = e.getPoint();
}
public void mouseDragged(MouseEvent e) {
pointEnd = e.getPoint();
repaint();
}
});
}
public void paint(Graphics g) {
super.paint(g);
if (pointStart != null) {
g.setColor(Color.RED);
g.drawLine(pointStart.x, pointStart.y, pointEnd.x, pointEnd.y);
}
}
};
f.add(p);
f.setVisible(true);
}
}
Zuletzt bearbeitet: