JavaFX Ich kann keinen Kreis richtig zeichnen

Whoami95

Mitglied
Hallo,

ich habe ein Programmierproblem und komme nicht weiter. Wir sollen in unseren Programmierkurs mehrer Kreise auf eine Pane zeichnen. Ich bekomme problemlos hin, dass Kreis aufkreuzen, wenn ich auf meine Pane klicke, aber es gibt das große Problem, dass, wenn ich z.b oben Rechts einen Kreis haben möchte sie nur ganz links am Rande auftauchen und zwar immer wieder untereinandern. Ich habe mich bereits kreuz und quer durch das Internet gesucht, aber nichts richtige gefunden. Ich füge ein Bild ein, damit ihr sehen könnt, wie es bei mir aussieht. Und ich füge ein weiteres Bild ein, wo es grob aussehen könnte, wenn man einen Kreis überall zeichnen kann, wo man will.

Das ist mein Code:

[CODE lang="java" title="Das ist mein Code"]import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.VBox;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;

public class CircleExample extends Application {

public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage primaryStage) {
VBox root = new VBox();

root.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent mouseEvent) {
Circle circle = new Circle(5);
root.getChildren().add(circle);
circle.setCenterY(mouseEvent.getX());






}
});




Scene scene = new Scene(root, 400, 400);
primaryStage.setTitle("Kreis Zeichnen");
primaryStage.setScene(scene);
primaryStage.show();


}
}[/CODE]

Weiss jemand, was ich falsch mache? Danke im Voraus für Eure Hilfe.
 

Anhänge

  • Java_Forum.PNG
    Java_Forum.PNG
    3,1 KB · Aufrufe: 19
  • Java_forum_2.PNG
    Java_forum_2.PNG
    34,5 KB · Aufrufe: 20
K

kneitzel

Gast
Du setzt ja auch die x-Koordinate nicht und die y-Koordinate setzt du auf die x-Koordinate des Mausklicks ...

Setzt die Koordinaten richtig und dann sollte es gehen :)
 

Whoami95

Mitglied
Danke erstmal für die schnelle Antwort.

Ich habe es so ähnich bereits versucht, aber ich scheine es nicht richtig hinzubekommen. Kannst Du bitte ein Beispiel setzen, damit ich weiss, wie Du es genau meinst?
 
K

kneitzel

Gast
Java:
public void handle(MouseEvent mouseEvent) {
   Circle circle = new Circle(5);
   root.getChildren().add(circle);
circle.setCenterX(mouseEvent.getX());
circle.setCenterY(mouseEvent.getY());
}

Etwas in der Art ... halt nur auf dem Handy hier im Forum geschrieben ... ggf. noch schauen, ob getX/getY richtig sind vom Maus-Event ... da gibt es noch weitere Koordinaten, die man sich holen könnte falls die Kreise nicht an der richtigen Position landen ...
 

Neumi5694

Top Contributor
Versuch mal die Koordinaten zu setzen, BEVOR du den Kreis dem root hinzufügst.
Denn ich vermiss da irgendwie das FX-Äquivalent eines repaint, nachdem die Koordinaten gesetzt wurden.

Davon abgesehen kann es nicht wie am Anfang sein. Am Anfang hast du nur eine der Koordinaten - falsch - befüllt, jetzt werden beide richtig befüllt, sofern du den Vorschlag umgesetzt hast.
 
K

kneitzel

Gast
Dann gleich der zweite Fehler: Was nutzt Du denn für eine Komponente um die Kreise hinzu zu fügen? Und was zeichnet diese Komponente aus?

Edit: Als Ergänzung: Die Reihenfolge ist ok - der Code kann dann so stehen bleiben. Nur eine Zeile muss geändert werden (mit Import ggf. zwei Zeilen).
 

Whoami95

Mitglied
Hallo

Danke für die info

ich habe es geschafft

[CODE lang="java" title="Kreise Zeichnen"]import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.BorderPane;
import javafx.scene.shape.Circle;
import javafx.stage.Stage;


public class CircleExample extends Application {

public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage primaryStage) {
BorderPane root = new BorderPane();


root.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent mouseEvent) {
Circle circle = new Circle(5);
root.getChildren().addAll(circle);
circle.setCenterX(mouseEvent.getX());
circle.setCenterY(mouseEvent.getY());






}
});



Scene scene = new Scene(root, 400, 400);
primaryStage.setTitle("Kreis Zeichnen");
primaryStage.setScene(scene);
primaryStage.show();


}
}
[/CODE]

So klappt es. Ich habe es geschafft. Mein fehler war, dass ich statt der "Borderpane" die "VBox" genutzt habe. Danke für eure Hilfe
 
K

kneitzel

Gast
Wobei Du ja ja von der BorderPane keinerlei Funktionalität benötigst, die dieser einer normalen Pane hinzufügt. Daher ist die Frage, wieso du BorderPane gewählt hast und nicht einfach Pane, von dem BorderPane abgeleitet ist.

Zumal die BorderPane ja in der Regel auch so benutzt wird, dass man den einzelnen Elementen einen spezifischen Node (Also in der Regel wieder ein Container) zuweist, daher ja auch die setXXX Methoden (setTop, setBottom, setRight, ...).

Aber das einfach nur als Anregung und als Ratschlag, sich die einzelnen Klassen noch etwas mehr im Detail anzusehen....
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
JojoSand Java Programm wird nicht gestartet - keinen Fehlerhinweis AWT, Swing, JavaFX & SWT 9
L JDialog hat manchmal keinen Inhalt AWT, Swing, JavaFX & SWT 2
S Swing JPanel nimmt keinen KeyListener an AWT, Swing, JavaFX & SWT 7
L JPanel zeigt keinen Inhalt AWT, Swing, JavaFX & SWT 1
Tausendsassa Frame öffnet aber zeigt keinen Inhalt... AWT, Swing, JavaFX & SWT 10
T bekomme keinen Focus auf JTextField AWT, Swing, JavaFX & SWT 3
F JPanel "zeichnet" keinen Text AWT, Swing, JavaFX & SWT 14
F JTextArea hat keinen Rahmen AWT, Swing, JavaFX & SWT 10
P Swing Dialog zeigt keinen Inhalt in Verbindung mit JFrame AWT, Swing, JavaFX & SWT 18
Nicklas2751 Table View zeigt keinen Inhalt nur leere Zeilen AWT, Swing, JavaFX & SWT 2
C JPanel mit FlowLayout in JScrollPane - keinen Scrollbalken AWT, Swing, JavaFX & SWT 2
Developer_X AWT Component added keinen MouseListener AWT, Swing, JavaFX & SWT 7
L Swing JDialog zeigt keinen Inhalt an AWT, Swing, JavaFX & SWT 5
D JScrollPane zeigt keinen Inhalt AWT, Swing, JavaFX & SWT 2
W JTextArea/TextArea kriegt keinen Fokus AWT, Swing, JavaFX & SWT 6
0x7F800000 createImage() hat keinen bock irgendwas zu kreieren.[fertig] AWT, Swing, JavaFX & SWT 3
J JTextPane bekommt keinen Focus! AWT, Swing, JavaFX & SWT 3
B Komponente in JTable bekommt keinen Focus AWT, Swing, JavaFX & SWT 3
M JTextPane schreibt keinen farbigen Text! AWT, Swing, JavaFX & SWT 7
Luma Keinen Cursor in JDialog? AWT, Swing, JavaFX & SWT 9
O JFileChooser: kann keinen ActionListener hinzufügen AWT, Swing, JavaFX & SWT 12
M JScrollPane zeigt einfach keinen ScrollBar AWT, Swing, JavaFX & SWT 2
L 2D-Grafik Linie von Kreis zu Kreis AWT, Swing, JavaFX & SWT 3
S Kreis vergrößern/verkleinern mit Buttons AWT, Swing, JavaFX & SWT 1
S GUI Kreis zeichnen AWT, Swing, JavaFX & SWT 13
M JavaFX Bild zur ImageView in einem Kreis anzeigen. AWT, Swing, JavaFX & SWT 4
L 2D-Grafik Dreieck in einem Kreis??? AWT, Swing, JavaFX & SWT 1
T Swing / Kreis zeichnen AWT, Swing, JavaFX & SWT 2
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
D Swing Manuellen Kreis zeichen AWT, Swing, JavaFX & SWT 22
T Kreis in Jlabel darstellen. AWT, Swing, JavaFX & SWT 13
J Grafik (Kreis) schneller bewegen? AWT, Swing, JavaFX & SWT 6
E Kreis-Mal-Programm AWT, Swing, JavaFX & SWT 7
S Kreis in Kreis AWT, Swing, JavaFX & SWT 5
P Elemente im Kreis aufstellen AWT, Swing, JavaFX & SWT 5
M 2D-Grafik "Unvollständiger" Kreis(kontur) AWT, Swing, JavaFX & SWT 8
T Einen Kreis anzeigen AWT, Swing, JavaFX & SWT 14
B 2D-Grafik Text in einem Kreis zentrieren AWT, Swing, JavaFX & SWT 3
Semox 2D-Grafik Radialer Verlauf in einem Kreis AWT, Swing, JavaFX & SWT 4
T 2D-Grafik Kreis "von Hand" zeichnen -> jedesmal repaint()? AWT, Swing, JavaFX & SWT 6
P Swing FocusTraversalPolicy dreht sich im Kreis AWT, Swing, JavaFX & SWT 2
J Java2D Kreis/Kurven Frage AWT, Swing, JavaFX & SWT 2
Semox Swing Kreis löschen durch Mausklick in der Nähe AWT, Swing, JavaFX & SWT 2
Dit_ Ein Kreis als Graphics2D oder als Ellipse2D Objekt AWT, Swing, JavaFX & SWT 19
K Wenn Mauszeiger in der Nähe vom Kreis, soll Kreis an eine andere Stelle springen AWT, Swing, JavaFX & SWT 8
Spin Hilfe - Erklärungsbedarf für Kreis AWT, Swing, JavaFX & SWT 5
H Punkte im Kreis AWT, Swing, JavaFX & SWT 3
G kreis malen -> welche funktion? AWT, Swing, JavaFX & SWT 3
G Farbe ändern bei Klick auf einen Kreis AWT, Swing, JavaFX & SWT 5
M Kreis mit gedrückter Maus bewegen AWT, Swing, JavaFX & SWT 20
U Farbe von Kreis AWT, Swing, JavaFX & SWT 3
G Kreis zeichnen und mit Maus ziehen AWT, Swing, JavaFX & SWT 3
S Kreis als JFrame AWT, Swing, JavaFX & SWT 9
TheJavaKid Kreis, Rechteck, Linie. verschieben AWT, Swing, JavaFX & SWT 5
T Kreis ActionListener AWT, Swing, JavaFX & SWT 5
Juelin if Abfrage funktioniert nicht richtig AWT, Swing, JavaFX & SWT 10
P AWT Programm funktioniert nicht richtig AWT, Swing, JavaFX & SWT 35
G Button auswerten und ausgeben ob richtig oder falsch AWT, Swing, JavaFX & SWT 1
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
MouseEvent richtig initialisieren AWT, Swing, JavaFX & SWT 1
T ScrollEvent richtig(er) abfangen? AWT, Swing, JavaFX & SWT 0
B Output GUI funktioniert nur beim ersten Mal richtig. AWT, Swing, JavaFX & SWT 4
princess_sara1997 .jar Datei führt den Code nicht richtig aus AWT, Swing, JavaFX & SWT 19
M JavaFX kann man da noch was am code vereinfachen design technisch sieht nicht richtig aus... AWT, Swing, JavaFX & SWT 15
S Swing Coding richtig einfügen AWT, Swing, JavaFX & SWT 3
F Swing Adapt Row Height funktioniert nicht richtig :( AWT, Swing, JavaFX & SWT 7
C Polygon Koordinaten richtig sortieren AWT, Swing, JavaFX & SWT 7
E Komponenten von JScrollPane werden nicht richtig ermittelt AWT, Swing, JavaFX & SWT 2
coolian ActionListener funktonirt nicht richtig auf JMenuItem AWT, Swing, JavaFX & SWT 4
J Parallele Aktionen in Java FX richtig durchführen. AWT, Swing, JavaFX & SWT 5
zhermann FX Label text wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 12
D JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 1
Joker4632 JavaFX GridPane richtig implementieren AWT, Swing, JavaFX & SWT 7
K Swing GUI aktualisiert nicht richtig AWT, Swing, JavaFX & SWT 5
X JavaFX AreaChart area höhe wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 2
A Swing Zeichnung wird nicht richtig dargestellt AWT, Swing, JavaFX & SWT 4
I Neues JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
R Swing Bewegung eines Graphics Objektes innerhalb eines JPanels funktioniert nicht richtig AWT, Swing, JavaFX & SWT 2
D Swing Warum erhalte ich keine Ausgabe? Funktioniert der equals-vergleich in actionPeformed nicht richtig? AWT, Swing, JavaFX & SWT 3
V JFrame wird nicht richtig angezeigt! AWT, Swing, JavaFX & SWT 2
H UpdatePolicy wird nicht richtig gesetzt / funktioniert nicht AWT, Swing, JavaFX & SWT 5
C Swing GUI extrem langsam - GUI-Code richtig ausführen AWT, Swing, JavaFX & SWT 1
M JavaFX TextArea richtig formatieren AWT, Swing, JavaFX & SWT 4
A SWT Wie legt man ein UI vom Programmcode her richtig an? AWT, Swing, JavaFX & SWT 3
C KeyPressed funktioniert auf iOS nicht richtig? AWT, Swing, JavaFX & SWT 4
M "ImageIO.read()" liest Bild nicht richtig ein AWT, Swing, JavaFX & SWT 3
A Swing Frames richtig erstellen AWT, Swing, JavaFX & SWT 3
W SWT Dialog richtig schließen? AWT, Swing, JavaFX & SWT 0
F AWT Grafik wird nicht richtig aktualisiert AWT, Swing, JavaFX & SWT 2
B mouseOnEntered ( Controller richtig implementieren) AWT, Swing, JavaFX & SWT 4
M Repaint mittels Button richtig aufrufen klappt nicht AWT, Swing, JavaFX & SWT 1
K Initialisierung von Oberfläche Richtig? AWT, Swing, JavaFX & SWT 5
TheSorm Swing JScroolBar richtig benutzen AWT, Swing, JavaFX & SWT 0
D Panel in Panel zentriert nicht richtig AWT, Swing, JavaFX & SWT 3
K Swing JList - Element richtig hinzufügen AWT, Swing, JavaFX & SWT 4
D Swing fullscreen switch geht nicht richtig AWT, Swing, JavaFX & SWT 8
F Swing Wie verwalte ich meine Panels richtig? AWT, Swing, JavaFX & SWT 2
X LayoutManager gridBagLayout wird nicht richtig Dargestellt AWT, Swing, JavaFX & SWT 5
M KeyListener richtig implementieren AWT, Swing, JavaFX & SWT 3
M BorderLayout JPanel liegt nicht richtig an AWT, Swing, JavaFX & SWT 12

Ähnliche Java Themen

Neue Themen


Oben