Ich habe ein kleines Programm geschrieben, welches durch Eingabe der x- & y-Koordinate sowie der Breite und Höhe, ein entsprechendes Rechteck zeichnet.
Dazu die 2 Klassen:
Das Programm zeichnet zwar das Rechteck, aber er fragt mich jeweils 2-Mal nach den Werten(s. oben). D.h., er zeichnet das kurz und löscht es gleichzeitig, beim zweiten Zeichnen bleibt es jedoch da. Was muss ich jetzt ändern?
Vielen Dank!???:L
Dazu die 2 Klassen:
Java:
import javax.swing.*;
import java.awt.*;
public class MyGUI {
public static void main(String[] args){
JFrame myFrame = new JFrame("My GUI");
JPanel keyDisplayPanel = new JPanel();
MyCanvas myCanvas = new MyCanvas();
myFrame.setLayout(new BorderLayout(20,20));
keyDisplayPanel.setLayout(new BorderLayout(20,20));
keyDisplayPanel.add(myCanvas, BorderLayout.CENTER);
myFrame.add(keyDisplayPanel, BorderLayout.CENTER);
myFrame.setSize(500,500);
myFrame.setVisible(true);
}
}
Java:
import java.awt.*;
public class MyCanvas extends Canvas {
public void paint(final Graphics g){
System.out.println("Geben Sie bitte die x-Koordinate ein:");
int x= Integer.parseInt(System.console().readLine());
System.out.println("Geben Sie bitte die y-Koordinate ein:");
int y= Integer.parseInt(System.console().readLine());
System.out.println("Geben Sie bitte die Breite ein:");
int width= Integer.parseInt(System.console().readLine());
System.out.println("Geben Sie bitte die Höhe ein:");
int height= Integer.parseInt(System.console().readLine());
if(x>=0 && y>=0 && width>=0 && height>=0){
super.paint(g);
g.drawRect(x, y, width, height);
}
else{
System.out.println("Bitte keine negativen Werte eingeben!");
}
}
}
Das Programm zeichnet zwar das Rechteck, aber er fragt mich jeweils 2-Mal nach den Werten(s. oben). D.h., er zeichnet das kurz und löscht es gleichzeitig, beim zweiten Zeichnen bleibt es jedoch da. Was muss ich jetzt ändern?
Vielen Dank!???:L
Zuletzt bearbeitet von einem Moderator: