wie kann ich eine laufende Klasse zum "stopen" bringen und zur main zurückkehren?

Vilkazzz

Mitglied
hallo, als erstes sryfür unklaren topic,ich hatte gestern in JavaFX forum ein sehr detalierte Anfrage gestellt, aber scheinbar war da zu vieles Falsch in meinem Ansatz, denn niemand hat sich gemeldet :/

Es geht aber letzendlich mehr um das Prinzyp als um JavaFX


Also hab ich heute mein Code von anfang an umstrukturiert und die ganze Architektur verändert.

es gibts nun eine Main Klasse, dort wird eine Grafische Oberfläche erzeugt, (Canvas)
und sobald die Maustaste auf der Canvas geklickt wird, wird eine Subklasse namens MakeRect aufgerufen, die die aktuelle x und y position der Maus, sowie die Canvas und gc vererbt bekommen.

Aufgabe dieser Subclass ist bei gedrückter Maustaste einen typischen markierungs Viereckt zu zeichnen, dessen Ecken = aktuelle Mausposition und die Position wo Maus ursprünglich gedrückt wurde sind.

funktioniert auch wunderbar !

jetzt will ich eigentlich, sobald die Maustaste losgelassen wird, die Position und Maaße des gezeichnetes Vierecks vererben (die Variabel habe ich alle deklariert), den Canvis in der Hauptklasse entfernen und dort ein Button erzeugen, welches die Eigentschaften des Vierecks hat.

ich hatte dazu ursprünglich an eine einfache klasse "makeButton" gedacht, welches nur die x,y,höhe, Breite des buttons hat, aber Wie beende ich denn diese MakeRect Klasse ?

Durch mausRelease event kann ich ja alles mögliche auslösen, ich kenne stop, break und end, aber es sind doch Befehle für Schleifen ?

so, hier jetzt mein code.

Main Klasse
Java:
public class Bewerbung extends Application {

    @Override
    public void start(Stage stage) {
        BorderPane pane = new BorderPane();
        Scene scene = new Scene(pane, 800,600);

        Label label = new Label("test");
        label.setText("Hallo, hiermit möchte ich kurz meine derzeitigen Java Kentnisse vorzustellen");
        label.setFont(Font.font("Verdana", 16));
        pane.setTop(label);
        BorderPane.setAlignment(label, Pos.CENTER);

        Label labelBot = new Label("bottom");
        labelBot.setText("bitte die Maus auf die Mittlere Fläche bewegen, dann  durch klicken der linker Maustaste  \n gefolgt von  bewegung  der  Maus einen Viereck erzeugen, \n welches durch das Loslassen der Maustaste durch ein Button Objekt ausgetauscht wird ");
        labelBot.setFont(Font.font("Verdana", 16));
        labelBot.setTextAlignment(TextAlignment.CENTER);
        BorderPane.setAlignment(labelBot, Pos.CENTER);
        pane.setBottom(labelBot);

        //making canvas for center position of borderpane, so i can draw there
       final Canvas canvas = new Canvas(600, 400);
       pane.setCenter(canvas);
        final GraphicsContext gc = canvas.getGraphicsContext2D();
        gc.setFill(Color.LIGHTGRAY);
        gc.fillRect(0,0,canvas.getWidth(), canvas.getHeight());
        canvas.setOnMousePressed(new EventHandler<javafx.scene.input.MouseEvent>() {
            @Override
            public void handle(javafx.scene.input.MouseEvent event) {
                System.out.println("maus klicked");
                MakeRect(event.getX(), event.getY(), canvas, gc);

            }
        });





        stage.setScene(scene);
        stage.show();

      
    }



die Klasse die für das Viereck Zeichnen zuständig ist.
Java:
 public void MakeRect(final double x, final double y, final Canvas canvas, final GraphicsContext gc) {
        System.out.println("maus position x = " + x + " y = " + y);

        canvas.setOnMouseDragged(new EventHandler<javafx.scene.input.MouseEvent>() {
            @Override
            public void handle(javafx.scene.input.MouseEvent event) {
                gc.setFill(Color.LIGHTGRAY);
                gc.fillRect(0,0,canvas.getWidth(), canvas.getHeight());
                double width;
                double height;
               width = x - event.getX();
                height = y - event.getY();

                //rect muss mit positiven werden gemacht werden

                if (width < 0) {
                    width = width * (-1);
                }
                ;
                if (height < 0) {
                    height = height * (-1);
                }
                ;

                //rect muss das oberste linke Ecke des Gebildes finden
                // das wird oben links x und y wert.

                double xx;
                double yy;


                if (x > event.getX()) {
                    xx = event.getX();
                } else xx = x;

                if (y > event.getY()) {
                    yy = event.getY();
                } else yy = y;


                gc.strokeRect(xx, yy, width, height);

            }
        });


        canvas.setOnMouseReleased(new EventHandler<javafx.scene.input.MouseEvent>() {
            @Override
            public void handle(javafx.scene.input.MouseEvent event) {
                //canvas.setVisible(false);
                System.out.println("maus released");
                double width;
                double height;
                System.out.println("x=" + x + " event" + event.getX());
                width = x - event.getX();
                height = y - event.getY();
                //rect muss mit positiven werden gemacht werden

                if (width < 0) {
                    width = width * (-1);
                }
                ;
                if (height < 0) {
                    height = height * (-1);
                }
                ;

                //rect muss das oberste linke Ecke des Gebildes finden
                // das wird oben links x und y wert.

                double xx;
                double yy;


                if (x > event.getX()) {
                    xx = event.getX();
                } else xx = x;

                if (y > event.getY()) {
                    yy = event.getY();
                } else yy = y;

                gc.strokeRect(xx, yy, width, height);

                MakeButton(xx, yy, width, height);



            }
        });


    }

Klasse die ich aufrufen würde nachdem maus losgelassen wurde.

Java:
  public void MakeButton(double x, double y, double width, double height) {

        System.out.println("MAKE BUTTON AKTIVIERT !");

        Button scalierButton = new Button("Klick mich an");
        //scalierButton.setVisible(false);

        scalierButton.setLayoutX(x);
        scalierButton.setLayoutY(y);
        scalierButton.setPrefWidth(width);
        scalierButton.setPrefHeight(height);
        scalierButton.setVisible(true);
        // wie soll ich hier auf die Bpane von der Hauptclass zugreifen ? soll ich die vererben ?




    }

kompletter Code mit imports usw (da ist unaufgeräumt, sry für die Printlines, dies dient zur überwachung ob etwas überhaupt angesprochen wird... )
Java:
package sample;


import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.TextAlignment;
import javafx.stage.Stage;




public class Bewerbung extends Application {

    @Override
    public void start(Stage stage) {
        BorderPane pane = new BorderPane();
        Scene scene = new Scene(pane, 800,600);

        Label label = new Label("test");
        label.setText("Hallo, hiermit möchte ich kurz meine derzeitigen Java Kentnisse vorzustellen");
        label.setFont(Font.font("Verdana", 16));
        pane.setTop(label);
        BorderPane.setAlignment(label, Pos.CENTER);

        Label labelBot = new Label("bottom");
        labelBot.setText("bitte die Maus auf die Mittlere Fläche bewegen, dann  durch klicken der linker Maustaste  \n gefolgt von  bewegung  der  Maus einen Viereck erzeugen, \n welches durch das Loslassen der Maustaste durch ein Button Objekt ausgetauscht wird ");
        labelBot.setFont(Font.font("Verdana", 16));
        labelBot.setTextAlignment(TextAlignment.CENTER);
        BorderPane.setAlignment(labelBot, Pos.CENTER);
        pane.setBottom(labelBot);

        //making canvas for center position of borderpane, so i can draw there
       final Canvas canvas = new Canvas(600, 400);
       pane.setCenter(canvas);
        final GraphicsContext gc = canvas.getGraphicsContext2D();
        gc.setFill(Color.LIGHTGRAY);
        gc.fillRect(0,0,canvas.getWidth(), canvas.getHeight());
        canvas.setOnMousePressed(new EventHandler<javafx.scene.input.MouseEvent>() {
            @Override
            public void handle(javafx.scene.input.MouseEvent event) {
                System.out.println("maus klicked");
                MakeRect(event.getX(), event.getY(), canvas, gc);

            }
        });





        stage.setScene(scene);
        stage.show();

        //DrawTheButton(stage);
    }


  
    public void MakeRect(final double x, final double y, final Canvas canvas, final GraphicsContext gc) {
        System.out.println("maus position x = " + x + " y = " + y);

        canvas.setOnMouseDragged(new EventHandler<javafx.scene.input.MouseEvent>() {
            @Override
            public void handle(javafx.scene.input.MouseEvent event) {
                gc.setFill(Color.LIGHTGRAY);
                gc.fillRect(0,0,canvas.getWidth(), canvas.getHeight());
                double width;
                double height;
               width = x - event.getX();
                height = y - event.getY();

                //rect muss mit positiven werden gemacht werden

                if (width < 0) {
                    width = width * (-1);
                }
                ;
                if (height < 0) {
                    height = height * (-1);
                }
                ;

                //rect muss das oberste linke Ecke des Gebildes finden
                // das wird oben links x und y wert.

                double xx;
                double yy;


                if (x > event.getX()) {
                    xx = event.getX();
                } else xx = x;

                if (y > event.getY()) {
                    yy = event.getY();
                } else yy = y;


                gc.strokeRect(xx, yy, width, height);

            }
        });


        canvas.setOnMouseReleased(new EventHandler<javafx.scene.input.MouseEvent>() {
            @Override
            public void handle(javafx.scene.input.MouseEvent event) {
                //canvas.setVisible(false);
                System.out.println("maus released");
                double width;
                double height;
                System.out.println("x=" + x + " event" + event.getX());
                width = x - event.getX();
                height = y - event.getY();
                //rect muss mit positiven werden gemacht werden

                if (width < 0) {
                    width = width * (-1);
                }
                ;
                if (height < 0) {
                    height = height * (-1);
                }
                ;

                //rect muss das oberste linke Ecke des Gebildes finden
                // das wird oben links x und y wert.

                double xx;
                double yy;


                if (x > event.getX()) {
                    xx = event.getX();
                } else xx = x;

                if (y > event.getY()) {
                    yy = event.getY();
                } else yy = y;

                gc.strokeRect(xx, yy, width, height);

                MakeButton(xx, yy, width, height);



            }
        });


    }

    public void MakeButton(double x, double y, double width, double height) {

        System.out.println("MAKE BUTTON AKTIVIERT !");

        Button scalierButton = new Button("Klick mich an");
        //scalierButton.setVisible(false);

        scalierButton.setLayoutX(x);
        scalierButton.setLayoutY(y);
        scalierButton.setPrefWidth(width);
        scalierButton.setPrefHeight(height);
        scalierButton.setVisible(true);
        // wie soll ich hier auf die Bpane von der Hauptclass zugreifen ? soll ich die vererben ?



    }

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

Times

Bekanntes Mitglied
Was meinst du genau mit dem Beenden der MakeRect - Methode (Du hast Klasse geschrieben, aber denke du meinst Methode oder?) .. ?

Wenn du einfach nur aus der Methode "raushüpfen" möchtest kannst du einfach mit
Java:
return;
den Durchlauf stoppen.

Ansosnten weiss ich nicht was du meinst.. sry
 

Joose

Top Contributor
Du darfst dein Reckteck nur zeichnen wenn du die Maustaste gedrückt hast!
Setze einfach ein entsprechendes Flag auf "true" sobald du die Taste drückst, wenn du sie loslässt wird das Flag auf "false" gesetzt.

Und im Event bei "setOnMouseDragged" machst einfach eine if um den Code der auf das Flag prüft :)

PS: Deine Erklärung war am Anfang sehr wirr, somit musst ich erst überlegen wo dein Problem lag.
Vor allem da du von einer "MakeRect" Klasse sprichst, aber eine Methode meinst! In deiner Methode machst du nichts außer einer Log Ausgabe und dem Canvas 2 EventHandler hinzufügen.
Diese EventHandler reagieren dann entsprechend auf deine Bewegung mit der Maus.
 
Zuletzt bearbeitet:

Vilkazzz

Mitglied
habe das Program soweit zu ende gebracht, macht alles was es muss, sieht nur absolut unordentlich aus :)

danke für die Antworten !

Java:
package sample;


import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.Slider;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.scene.layout.VBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.TextAlignment;
import javafx.stage.Stage;




public class Bewerbung extends Application {

    @Override
    public void start(final Stage stage) {
        final BorderPane pane = new BorderPane();
        final Scene scene = new Scene(pane, 800,600);
        final VBox vBox = new VBox();

        final Label label = new Label("test");
        label.setText("Hallo, hiermit möchte ich kurz meine derzeitigen Java Kentnisse vorzustellen");
        label.setFont(Font.font("Verdana", 16));
        pane.setTop(label);
        BorderPane.setAlignment(label, Pos.CENTER);

        Label labelBot = new Label("bottom");
        String bottomText = new String();
        bottomText = "blabla";


        labelBot.setText("bitte die Maus auf die Mittlere Fläche bewegen, dann  durch klicken der linker Maustaste  \n gefolgt von  bewegung  der  Maus einen Viereck erzeugen, \n welches durch das Loslassen der Maustaste durch ein Button Objekt ausgetauscht wird ");
        labelBot.setFont(Font.font("Verdana", 16));
        labelBot.setTextAlignment(TextAlignment.CENTER);
        BorderPane.setAlignment(labelBot, Pos.CENTER);



       final VBox vBoxBottom = new VBox();
        final Label explainBindings = new Label();
        explainBindings.setText("Durch das scalieren des unten entstandenes Sliders, können sie die Gröse des Buttons direkt beeinflussen \n dies wird durch bind Propertys gemacht \n wenn sie auf den Button klicken, wird der Button über den gesammten Fenster instanziert. \n Ergebnisse hängen von der Größe des Fensters und des Buttons. \n Achtung, die Fenstergröse wird nach dem Klicken nicht mehr veränderbar sein !");
        explainBindings.setFont(Font.font("Verdana", 16));
        explainBindings.setTextAlignment(TextAlignment.CENTER);
        vBoxBottom.getChildren().add(explainBindings);

       pane.setBottom(labelBot);

        final Pane pane2 = new Pane();


        //making canvas for center position of borderpane, so i can draw there
       final Canvas canvas = new Canvas(600, 400);
        vBox.getChildren().add(canvas);


        //diese werden später gebraucht, ich deklariere die hier oben, dami tauch submethoden darauf zugreifen können
       pane.setCenter(vBox);
        vBox.setAlignment(Pos.CENTER);

        final Slider slider = new Slider(0, 2, 1);
        slider.setShowTickMarks(true);
        slider.setShowTickLabels(true);
        slider.setMajorTickUnit(0.25f);
        slider.setBlockIncrement(0.1f);
        slider.setVisible(false);//wird noch nicht gebraucht daher unsichtbar

        final Button button = new Button();
        button.setVisible(false);
        button.scaleXProperty().bind(slider.valueProperty());
        button.scaleYProperty().bind(slider.valueProperty());
        //hier wurden grade die propertys festgelegt, für die ellemente die erst später sichtbar werden.




        button.setOnAction(new EventHandler<ActionEvent>() {

            @Override //Hier wird definiert, dass nach dem buttonclick die mittlere fläche voll von buttons gemacht wird
            public void handle(ActionEvent event) {
                stage.setResizable(false);
               double paneW = pane2.getWidth();
               double paneH = pane2.getHeight();
               int xline = (int) (paneW/button.getWidth());
               int yline = (int) (paneH/button.getHeight());
               double exWidth =  button.getWidth();
                double exHeight = button.getHeight();


                pane2.getChildren().remove(button);
                Button[][] buttons = new Button[xline][yline];// sonst wird je dimension 1 zu viel deklariert.
                for (int x=0;x<xline;x++){
                    for(int y=0;y<yline;y++){
                        buttons[x][y] = new Button();
                        buttons[x][y].setPrefWidth(exWidth);
                        buttons[x][y].setPrefHeight(exHeight);
                        buttons[x][y].setLayoutX(x * exWidth);
                        buttons[x][y].setLayoutY(y * exHeight);
                        slider.setMax(1);// der Bildschirm ist bereits voll, es soll nur noch kleiner werden.
                        buttons[x][y].scaleXProperty().bind(slider.valueProperty());
                        buttons[x][y].scaleYProperty().bind(slider.valueProperty());
                        buttons[x][y].setText("Reihe:"+(y+1)+" Nr."+(x+1));
                        pane2.getChildren().add( buttons[x][y]);





                    }
                }
                //das erklärungs kommentar nachdem die for schleifen durchgelaufen sind.
                Label comment3 = new Label();
                comment3.setText("natürlich können sie mit dem Slider immernoch die Größe von allen skalieren");
                comment3.setFont(Font.font("Verdana", 16));
                vBoxBottom.getChildren().removeAll(explainBindings, slider);
                vBoxBottom.getChildren().addAll(comment3, slider);


            }
        });










        final GraphicsContext gc = canvas.getGraphicsContext2D();
        gc.setFill(Color.LIGHTGRAY);
        gc.fillRect(0,0,canvas.getWidth(), canvas.getHeight());
        canvas.setOnMousePressed(new EventHandler<javafx.scene.input.MouseEvent>() {
            @Override
            public void handle(javafx.scene.input.MouseEvent event) {

                //hier werden die aktuell geklickten Mauspositions x und y gespeichert.
                final double x  = event.getX();
                final double y = event.getY();


                canvas.setOnMouseDragged(new EventHandler<javafx.scene.input.MouseEvent>() {
                    @Override
                    public void handle(javafx.scene.input.MouseEvent event) {
                        gc.setFill(Color.LIGHTGRAY);
                        gc.fillRect(0, 0, canvas.getWidth(), canvas.getHeight());
                        double width;
                        double height;
                        width = x - event.getX();
                        height = y - event.getY();

                        //rect muss mit positiven werden gemacht werden

                        if (width < 0) {
                            width = width * (-1);
                        }
                        ;
                        if (height < 0) {
                            height = height * (-1);
                        }
                        ;

                        //rect muss das oberste linke Ecke des Gebildes finden
                        // das wird oben links x und y wert.

                        double xx;
                        double yy;


                        if (x > event.getX()) {
                            xx = event.getX();
                        } else xx = x;

                        if (y > event.getY()) {
                            yy = event.getY();
                        } else yy = y;


                        gc.strokeRect(xx, yy, width, height);

                    }
                }); //ende von mause draged

                canvas.setOnMouseReleased(new EventHandler<javafx.scene.input.MouseEvent>() {
                    @Override
                    public void handle(javafx.scene.input.MouseEvent event) {
                        //canvas.setVisible(false);

                        double width;
                        double height;

                        width = x - event.getX();
                        height = y - event.getY();
                        //rect muss mit positiven werden gemacht werden

                        if (width < 0) {
                            width = width * (-1);
                        }
                        ;
                        if (height < 0) {
                            height = height * (-1);
                        }
                        ;

                        //rect muss das oberste linke Ecke des Gebildes finden
                        // das wird oben links x und y wert.

                        double xx;
                        double yy;


                        if (x > event.getX()) {
                            xx = event.getX();
                        } else xx = x;

                        if (y > event.getY()) {
                            yy = event.getY();
                        } else yy = y;
                        // those are xx und yy coordinates on Canvas, now we remove canwas, so we must ajjust x and y

                        xx=xx+canvas.getLayoutX();
                        yy = yy+canvas.getLayoutY();

                        gc.strokeRect(xx, yy, width, height);
                        vBox.getChildren().remove(canvas);

                        pane2.getChildren().add(button);
                        pane.setCenter(pane2);

                        // xx und yy müssen jetzt an die pane2 angepasst werden.
                        xx=xx +pane2.getLayoutX();
                        yy=yy +pane2.getLayoutY();
                        button.setLayoutX(xx);
                        button.setLayoutY(yy);
                        button.setPrefWidth(width);
                        button.setPrefHeight(height);
                        button.setText("klick me");
                        button.setVisible(true);

                        slider.setVisible(true);
                        vBoxBottom.getChildren().add(slider);
                        vBoxBottom.setAlignment(Pos.BOTTOM_CENTER);
                        pane.setBottom(vBoxBottom);
                        BorderPane.setAlignment(vBoxBottom,Pos.BASELINE_CENTER);











                    }
                }); //ende von maus released


            }
        });  //ende von maus pressed










        stage.setScene(scene);
        stage.show();


    }



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

dzim

Top Contributor
Ich hab deinen Code mal schnell durch Code-Formatter in meinem Eclipse gejagt und die Imports organisiert.
Übrig bleibt:
  1. Eine Hauptklasse (Bewerbung.java), die die Klasse für die Oberfläche anlegt und aufruft
  2. Ein Klasse, die die Oberfläche erstellt (diesmal mit ordentlichen Java-Methodennamen und noch einmal meinen Hinweisen, die ich schon im anderen Thread angemerkt habe...)

Bewerbung.java
Java:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class Bewerbung extends Application {
	
	@Override
	public void start(Stage stage) {
		BewerbungUI ui = new BewerbungUI();
		Scene scene = new Scene(ui.createContent(), 800, 600);
		stage.setScene(scene);
		stage.show();
	}
	
	public static void main(String[] args) {
		launch(args);
	}
}

BewerbungUI.java
Java:
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.TextAlignment;
import javafx.stage.Stage;

public class BewerbungUI {
	
	private BorderPane mPane;
	
	public Pane createContent() {
		
		if (mPane != null) {
			return mPane;
		}
		
		mPane = new BorderPane();
		
		Label label = new Label("test");
		label.setText("Hallo, hiermit möchte ich kurz meine derzeitigen Java Kentnisse vorzustellen");
		label.setFont(Font.font("Verdana", 16));
		mPane.setTop(label);
		BorderPane.setAlignment(label, Pos.CENTER);
		
		Label labelBot = new Label("bottom");
		labelBot
				.setText("bitte die Maus auf die Mittlere Fläche bewegen, dann  durch klicken der linker Maustaste  \n gefolgt von  bewegung  der  Maus einen Viereck erzeugen, \n welches durch das Loslassen der Maustaste durch ein Button Objekt ausgetauscht wird ");
		labelBot.setFont(Font.font("Verdana", 16));
		labelBot.setTextAlignment(TextAlignment.CENTER);
		BorderPane.setAlignment(labelBot, Pos.CENTER);
		mPane.setBottom(labelBot);
		
		// making canvas for center position of borderpane, so i can draw there
		final Canvas canvas = new Canvas(600, 400);
		mPane.setCenter(canvas);
		final GraphicsContext gc = canvas.getGraphicsContext2D();
		gc.setFill(Color.LIGHTGRAY);
		gc.fillRect(0, 0, canvas.getWidth(), canvas.getHeight());
		canvas.setOnMousePressed(new EventHandler<javafx.scene.input.MouseEvent>() {
			@Override
			public void handle(javafx.scene.input.MouseEvent event) {
				System.out.println("maus klicked");
				drawRect(event.getX(), event.getY(), canvas, gc);
				
			}
		});
		return mPane;
	}
	
	public void drawRect(final double x, final double y, final Canvas canvas, final GraphicsContext gc) {
		System.out.println("maus position x = " + x + " y = " + y);
		
		canvas.setOnMouseDragged(new EventHandler<javafx.scene.input.MouseEvent>() {
			@Override
			public void handle(javafx.scene.input.MouseEvent event) {
				gc.setFill(Color.LIGHTGRAY);
				gc.fillRect(0, 0, canvas.getWidth(), canvas.getHeight());
				double width;
				double height;
				width = x - event.getX();
				height = y - event.getY();
				
				// rect muss mit positiven werden gemacht werden
				
				if (width < 0) {
					width = width * (-1);
				}
				;
				if (height < 0) {
					height = height * (-1);
				}
				;
				
				// rect muss das oberste linke Ecke des Gebildes finden
				// das wird oben links x und y wert.
				
				double xx;
				double yy;
				
				if (x > event.getX()) {
					xx = event.getX();
				} else
					xx = x;
				
				if (y > event.getY()) {
					yy = event.getY();
				} else
					yy = y;
				
				gc.strokeRect(xx, yy, width, height);
				
			}
		});
		
		canvas.setOnMouseReleased(new EventHandler<javafx.scene.input.MouseEvent>() {
			@Override
			public void handle(javafx.scene.input.MouseEvent event) {
				// canvas.setVisible(false);
				System.out.println("maus released");
				double width;
				double height;
				System.out.println("x=" + x + " event" + event.getX());
				width = x - event.getX();
				height = y - event.getY();
				// rect muss mit positiven werden gemacht werden
				
				if (width < 0) {
					width = width * (-1);
				}
				;
				if (height < 0) {
					height = height * (-1);
				}
				;
				
				// rect muss das oberste linke Ecke des Gebildes finden
				// das wird oben links x und y wert.
				
				double xx;
				double yy;
				
				if (x > event.getX()) {
					xx = event.getX();
				} else
					xx = x;
				
				if (y > event.getY()) {
					yy = event.getY();
				} else
					yy = y;
				
				gc.strokeRect(xx, yy, width, height);
				
				drawButton(xx, yy, width, height);
			}
		});
		
	}
	
	public void drawButton(double x, double y, double width, double height) {
		
		if (mPane == null) {
			return;
		}
		
		System.out.println("MAKE BUTTON AKTIVIERT !");
		
		Button scalierButton = new Button("Klick mich an");
		// scalierButton.setVisible(false);
		
		scalierButton.setLayoutX(x);
		scalierButton.setLayoutY(y);
		scalierButton.setPrefWidth(width);
		scalierButton.setPrefHeight(height);
		scalierButton.setVisible(true);
		// hier fehlt noch der Action-Listener am Button...
		
		// Der folgende Code-Schnipsel ist von
		// [url=http://stackoverflow.com/questions/11994366/how-to-reference-primarystage]java - How to reference primaryStage - Stack Overflow[/url]
		Stage parentStage = (Stage) mPane.getScene().getWindow();
		// TODO do whatever you like with the Stage...
		
		// wie ich schon geschrieben habe, wird das aber nicht klappen:
		// du kannst nicht einfach einen JavaFX-Button auf die Stage legen - oder auf das Canvas
		// verwende hier stattdessen die BorderPane (mPane) und lege dort den Button
		// irgendwo ab!
		
		// Wenn du nun unbedingt einen Button auf dem Canvas möchtest, musst du
		// a) ihn selbst zeichnen (wie gesagt: ich wüsste nicht, wie man den normalen
		//    JavaFX-Button sonst hier auf das Canvas bringen sollten
		//    JavaFX 2-Tutorial: [url=http://docs.oracle.com/javafx/2/canvas/jfxpub-canvas.htm]Working with Canvas | JavaFX 2 Tutorials and Documentation[/url]
		// b) und auf dem Canvas einen listener implementieren, der überprüft,
		//    ob du auf der Fläche des Pseudo-"Buttons" geklickt hast.
		
	}
}

Die IDEs (egal ob Eclipse, netBeans oder IntelliJ können dir hinsichtlich der Code-Formatierung viel abnehmen). Schau dir das noch einmal in Ruhe an!
 

Vilkazzz

Mitglied
wahnsin dzim, hab erstmals so überflogen und werde gleich unbedingt im IDE ausprobieren,
hoffe es war nicht zu aufwendig. :/

habe auch im anderem thread deine Antworte mir bereits zum Herzen genommen.

Die buttons wollte ich auch nicht auf canvas zeichnen, ich habe in meinem code zuerst canvas entfernt, dann pane in die Borderpane hingesetzt wo vorher canvas war, und auf diesem Pane dann Button gezeichnet.

aber bei dem chaos kann das niemand merken :)

vielen dank nochmals für die Formatierung, ich werde deine Antworten "studieren" und bei späteren Problemfällen solcher Art habe ich dann scohnmal ein gutes Template wie es geht ;)
 

Flown

Administrator
Mitarbeiter
So um jetzt noch einen guten Code zu schreiben, benötigt man ein gutes Auge damit man selbe Operationsfolgen in Methoden zusammenfasst und die API verwendet um ihn auch lesbarer zu gestalten.

@dzim ist schon eine saubere Arbeit, aber ich erhöhe noch:

Java:
package fx;

import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.TextAlignment;
import javafx.stage.Stage;

public class BewerbungUI {

	private BorderPane mPane;

	public Pane createContent() {

		if (mPane != null) {
			return mPane;
		}

		mPane = new BorderPane();

		Label label = new Label("test");
		label.setText("Hallo, hiermit möchte ich kurz meine derzeitigen Java Kentnisse vorzustellen");
		label.setFont(Font.font("Verdana", 16));
		mPane.setTop(label);
		BorderPane.setAlignment(label, Pos.CENTER);

		Label labelBot = new Label("bottom");
		labelBot.setText("bitte die Maus auf die Mittlere Fläche bewegen, dann  durch klicken der linker Maustaste  \n gefolgt von  bewegung  der  Maus einen Viereck erzeugen, \n welches durch das Loslassen der Maustaste durch ein Button Objekt ausgetauscht wird ");
		labelBot.setFont(Font.font("Verdana", 16));
		labelBot.setTextAlignment(TextAlignment.CENTER);
		BorderPane.setAlignment(labelBot, Pos.CENTER);
		mPane.setBottom(labelBot);

		// making canvas for center position of borderpane, so i can draw there
		final Canvas canvas = new Canvas(600, 400);
		mPane.setCenter(canvas);
		final GraphicsContext gc = canvas.getGraphicsContext2D();
		gc.setFill(Color.LIGHTGRAY);
		gc.fillRect(0, 0, canvas.getWidth(), canvas.getHeight());
		canvas.setOnMousePressed(new EventHandler<javafx.scene.input.MouseEvent>() {
			@Override
			public void handle(javafx.scene.input.MouseEvent event) {
				System.out.println("maus klicked");
				drawRect(event.getX(), event.getY(), canvas, gc);

			}
		});
		return mPane;
	}

	public void drawRect(final double x, final double y, final Canvas canvas,
			final GraphicsContext gc) {
		System.out.println("maus position x = " + x + " y = " + y);

		canvas.setOnMouseDragged(new EventHandler<MouseEvent>() {
			@Override
			public void handle(MouseEvent event) {
				gc.setFill(Color.LIGHTGRAY);
				gc.fillRect(0, 0, canvas.getWidth(), canvas.getHeight());
				drawDraggedRectangle(x, y, gc, event);
			}
		});

		canvas.setOnMouseReleased(new EventHandler<MouseEvent>() {
			@Override
			public void handle(MouseEvent event) {
				// canvas.setVisible(false);
				System.out.println("maus released");
				Rectangle rec = drawDraggedRectangle(x, y, gc, event);
				drawButton(rec.getX(), rec.getY(), rec.getWidth(), rec.getHeight());
			}
		});
	}

	private Rectangle drawDraggedRectangle(final double x, final double y,
			final GraphicsContext gc, MouseEvent event) {
		double width = Math.abs(x - event.getX());
		double height = Math.abs(y - event.getY());

		double xx = Math.min(x, event.getX());
		double yy = Math.min(y, event.getY());

		gc.strokeRect(xx, yy, width, height);
		return new Rectangle(xx, yy, width, height);
	}

	public void drawButton(double x, double y, double width, double height) {

		if (mPane == null) {
			return;
		}

		System.out.println("MAKE BUTTON AKTIVIERT !");

		Button scalierButton = new Button("Klick mich an");
		// scalierButton.setVisible(false);

		scalierButton.setLayoutX(x);
		scalierButton.setLayoutY(y);
		scalierButton.setPrefWidth(width);
		scalierButton.setPrefHeight(height);
		scalierButton.setVisible(true);
		// hier fehlt noch der Action-Listener am Button...

		// Der folgende Code-Schnipsel ist von
		// [url=http://stackoverflow.com/questions/11994366/how-to-reference-primarystage]java
		// - How to reference primaryStage - Stack Overflow[/url]
		Stage parentStage = (Stage) mPane.getScene().getWindow();
		// TODO do whatever you like with the Stage...

		// wie ich schon geschrieben habe, wird das aber nicht klappen:
		// du kannst nicht einfach einen JavaFX-Button auf die Stage legen -
		// oder auf das Canvas
		// verwende hier stattdessen die BorderPane (mPane) und lege dort den
		// Button
		// irgendwo ab!

		// Wenn du nun unbedingt einen Button auf dem Canvas möchtest, musst du
		// a) ihn selbst zeichnen (wie gesagt: ich wüsste nicht, wie man den
		// normalen
		// JavaFX-Button sonst hier auf das Canvas bringen sollten
		// JavaFX 2-Tutorial:
		// [url=http://docs.oracle.com/javafx/2/canvas/jfxpub-canvas.htm]Working
		// with Canvas | JavaFX 2 Tutorials and Documentation[/url]
		// b) und auf dem Canvas einen listener implementieren, der überprüft,
		// ob du auf der Fläche des Pseudo-"Buttons" geklickt hast.

	}
}
 

Vilkazzz

Mitglied
ihr geht ja ab hier :)

dabei wisst ihr wass ich eigentlich von anfang an gesucht habe ;)?

Java:
Stage parentStage = (Stage) mPane.getScene().getWindow();

um diese funktion habe ich am Wochenende im JAvaFX forum gebeten :D
kann ich in einer Klasse stage und scene deklarieren, aber in anderen Klassen Inhalte hinzufügen ?

da hatte ich halt das Problem, dass ich bis zum Drawbutton kam, aber es nicht schaffte zurück auf die Scene zuzugreifen und dort den button zu plazieren :)

Also hab ich alles komplett umgebaut damit es funktioniert, ihr konntet so verstehen was ich wollte und tada, ich habe die Syntax bekommen die ich am anfang suchte :)

zum glück habe ich sicherheits Kopie von meiner original Klasse behalten, also werde ich es morgen einfach mit dem
neu gewonnenem Wissen editieren :)

ich bin sehr dankbar für die fertigen codes von euch und werde die vorgeschlagenen return Methoden schamlos kopieren :)
 

dzim

Top Contributor
Touché @Flown ;-)

Aber ich habe wirklich seinen Code nur etwas auseinandergezogen (Klassen, meine ich) und hab es formatiert (und unten ein paar Anmerkungen rangeschrieben).

Übrigens: Ich bin mir immer noch nicht ganz sicher, was eigentlich der Titel dieses Threads aussagen soll, ich habe aber die leise Befürchtung, dass @Vilkazzz hier noch einen Gedankenfehler drin hat. Wenn das so ist: Im originalen Code gab es die Methode "MakeRect" - das ist aber wie gesagt eine Methode und keine Klasse! (Nur für den Fall, dass du das in den falschen Hals bekommen hast.)
 

Vilkazzz

Mitglied
ja, stimts, es war Methode, DAS war wahrscheinlich auch der Grund wieso mir keiner eine Antwort geben konnte, denn die Frage war so gesehen falsch formuliert.

Aber solange ihr Geduld mir mir habt, kann ich ja solche Sachen hier erlernen.

Uff, will noch irgendwas mit FXML und MySQL machen, dan hab ich wohl grob die basics drinn und kann nach einem Ausbildungsplatz suchen.:rtfm:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Kerstininer Vererbung Hilfe beim lernen von Objektorientierung für eine Klausur Java Basics - Anfänger-Themen 10
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
D 2 ArrayListen gleich sortieren bzw. eine Liste anhand einer anderen Sortieren Java Basics - Anfänger-Themen 6
T Ich brauche eine Schleife die eine beliebige Zahl so lange durch 10 teilt bis zur Null Java Basics - Anfänger-Themen 5
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
M Vergleichen, ob eine Liste länger als andere ist Java Basics - Anfänger-Themen 6
T Methode soll etwas ausrechnen und zurückgeben (klappt nd) hat wer eine Idee? Java Basics - Anfänger-Themen 11
Shadowrunner Variablen Gibt es eine Möglichkeit die Ziffern/Stellen einer Zahl fest zu legen? Java Basics - Anfänger-Themen 3
Kingdako Wie löse ich eine Mathematische Formel mit Arrays und Schleifen? Java Basics - Anfänger-Themen 32
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
G Wie wartet man bis ein URL eine Antwort zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Intelij, wie kann ich einstellen, dass die aktuelle Klasse ausgeführt wird, wenn ich aufs Startsymbol drücke, gibts da eine Tastenkombination? Java Basics - Anfänger-Themen 11
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
T Eingabe durch eine Zahl dividieren nachgucken? Java Basics - Anfänger-Themen 4
M mit Maven eine ausführbare Jar bauen Java Basics - Anfänger-Themen 7
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
J Zugriff auf eine 2. Klasse die per UI-Designer erstellt wurde Java Basics - Anfänger-Themen 1
M Eine Funktion zuweisen Java Basics - Anfänger-Themen 3
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
A Methoden Guten Tag , ich wollte so machen dass wenn meine frog an eine fly/bee geht dann an meine Tafel geht der zahl +1 hoch. Java Basics - Anfänger-Themen 2
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
J Beim Start des Programms zB. eine Linie in JPanel ausgeben Java Basics - Anfänger-Themen 4
L Methoden Eine Methode um zu testen ob es ein Nachbar gibt Java Basics - Anfänger-Themen 10
S Eine Idee umsetzen ganz schnell!? Java Basics - Anfänger-Themen 68
I Grundsatzfrage: Belegt eine Referenz auf 'null' RAM, und wenn ja - wieviel ;-) ? Java Basics - Anfänger-Themen 5
jeff98 Wie kann man in Java eine Zeichenformation ausgeben? Java Basics - Anfänger-Themen 9
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
_user_q Wie eine Methode/Funktion aus einer Klasse mit Constructor aufrufen? Java Basics - Anfänger-Themen 20
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
M Prüfen on eine Zahl im String enthalten ist Java Basics - Anfänger-Themen 3
U jUnit 5 Test für eine addMethode Java Basics - Anfänger-Themen 18
frager2345 Singleton-Muster Java ->Nur eine Instanz einer Klasse erzeugen können Java Basics - Anfänger-Themen 45
A Eclipse IDE - Wie bekomme ich eine ältere Version Java Basics - Anfänger-Themen 6
F Wie kann ich eine Funktion schreiben, die nur in bestimmten Fällen einen Wert zurückgibt? Java Basics - Anfänger-Themen 5
berserkerdq2 Warum muss man manchmal in der RUnmethode sleep in eine schleife tun? Java Basics - Anfänger-Themen 9
berserkerdq2 Findet eine parallele Verarbeitung in Java bei Threads erst statt, wenn man die Methoden auch synchronized? Und wie sieht bei Conditions aus? Java Basics - Anfänger-Themen 8
berserkerdq2 Wozu benötigt man den BiPredicate, kann ich nicht einfach eine normale Methode nutzen, statt BiPredicate? Java Basics - Anfänger-Themen 3
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Zwei Klassen Erben von der Klasse A, die eine Klasse kann ich an Methoden übergeben, die als Parameter A haben, die andere nicht? Java Basics - Anfänger-Themen 3
berserkerdq2 Sende eine Nachricht an den Client und leere den Ausgabestorm, was ist damit genau gemeint? Java Basics - Anfänger-Themen 3
S Eine Variable in einem Array speichern Java Basics - Anfänger-Themen 5
sserio Prüfen, ob eine Zahl eine periodische Zahl ist Java Basics - Anfänger-Themen 20
L Anpassung der Spaltenbreite auch auf eine zweite Tabelle anwenden Java Basics - Anfänger-Themen 8
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
JordenJost Java ist auch eine Insel für Anfänger Java Basics - Anfänger-Themen 2
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
berserkerdq2 Ich gebe eine ArrayList als List zurück per MEthode, wie kann ich nun aber die ArrayList speichern? Java Basics - Anfänger-Themen 46
berserkerdq2 Überprüfen ob eine Schreibberechtigung auf ein file exisitert bzw. ob man dieses file löschen kann, wie? Java Basics - Anfänger-Themen 9
sserio Java Fx, wie erstellt man einen EventHandler, der durch das Drücken eines Button Texte in eine Table view einfügt Java Basics - Anfänger-Themen 17
M Eine Methode die erkennt ob die ein gegebene zahl größer oder kleiner sein muss Java Basics - Anfänger-Themen 2
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
F Suche nach betreuender Person für eine Jahresarbeit der 12. Klasse. Java Basics - Anfänger-Themen 6
X Hilfe beim Übertragen in eine For-Schleife Java Basics - Anfänger-Themen 1
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
A Wenn eine Zahl durch 7 teilbar ist, soll statt der Zahl ein ‘*‘ angezeigt werden. java? Java Basics - Anfänger-Themen 47
U Warum gibt das eine Nullpointerexception? (Switch) Java Basics - Anfänger-Themen 6
U Warum kriege ich hier eine nullpointer exception, sehe den Fehler nicht (swing) Java Basics - Anfänger-Themen 1
K Warum gibt mir z. B. 40^128 eine Zahl? Ich dachte mit xor kann man nur booleanwerte erhalten, also prüfen ob etwas whar oder falsch ist? Java Basics - Anfänger-Themen 1
M Wie lassen sich Objektkonstanten initialisieren, wenn sie eine Bedingung erreichen? Java Basics - Anfänger-Themen 6
K Präzedenregeln in Java sagen, dass +expr und -expr vor + von Addition und - von Addition stehen, warum wird dann z. B. a+b als eine Addition ausgeführ Java Basics - Anfänger-Themen 7
M Wie schreibe ich eine if-Verzweigung um, so dass ein Bedingungsoperator benutzt wird? Java Basics - Anfänger-Themen 9
M Wie kann eine Methode für ein vorhandenes "Array von char" einen Index-Wert zurückliefern? Java Basics - Anfänger-Themen 3
M Wie kann eine Methode (string) eine andere Methode (void) mit zufälligen int-Werten aufrufen? Java Basics - Anfänger-Themen 4
M Wie verknüpfe ich eine Bedingung mit einer Methode ohne if-Verzweigung & Bedingungsoperator? Java Basics - Anfänger-Themen 2
M Wie kann eine Methode eine andere Methode um Werte wie z.B. 1 erhöhen? Java Basics - Anfänger-Themen 6
B Methoden Rekursiv festellen, ob eine Zahl gerade-oft vorkommt oder nicht Java Basics - Anfänger-Themen 4
M Wie kann ich eine Methode aus einem Interface in eine Klasse implementieren, so dass sie ihre Funktion ausführt? Java Basics - Anfänger-Themen 7
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
Kiki01 Wie würde eine geeignete Schleife aussehen, die die relative Häufigkeit für jeden Charakter in einem Text bestimmt? Java Basics - Anfänger-Themen 3
M Wie richte ich eine Diagonale an Robotern in einer World ein? Java Basics - Anfänger-Themen 15
O Wie erstelle ich eine Instanz in einer Klasse für die ich die Instanz will? Java Basics - Anfänger-Themen 4
EchtKeineAhnungManchmal Hallo :) ich bekomme es nicht hin eine Fehlermeldung auszugeben über die GUI Java Basics - Anfänger-Themen 3
S Kann ich eine jar anschauen wie sie gecoded wurde? Java Basics - Anfänger-Themen 2
A Eine Textdatei auslesen Java Basics - Anfänger-Themen 16
A Objekte mit Parametern in eine Liste packen Java Basics - Anfänger-Themen 19
Poppigescorn scan.nextInt() wiederholen bis eine Zahl eingeben wird Java Basics - Anfänger-Themen 7
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
B Programm, dass alle 3 Tage eine Webseite öffnet? Java Basics - Anfänger-Themen 20
N Variabel in eine class mit "extends JLabel" übertragen Java Basics - Anfänger-Themen 2
C Programm das feststellen kann, ob eine eingegebene Zahl einem Schaltjahr entspricht, richtig geschrieben? Java Basics - Anfänger-Themen 11
Vivien Auf eine Variable von einer anderen Klasse aus zugreifen Java Basics - Anfänger-Themen 3
B eine methode erstellen Java Basics - Anfänger-Themen 7
F Wann ist es eine Instanz und wann nicht? Java Basics - Anfänger-Themen 1
E Warum lässt sich eine Klasse nicht starten, wenn eine andere Klasse in dem Modul fehlerhaft ist? Java Basics - Anfänger-Themen 1
J Alle .java Dateien von einem Verzeichnis in eine Zip speichern Java Basics - Anfänger-Themen 2
H Kann eine while-Schleife ein Programm blockieren? Java Basics - Anfänger-Themen 8
P eine kleine Aufgabe mit Audio Java Basics - Anfänger-Themen 1
O zweidimensionales array in eine csv-Datei Java Basics - Anfänger-Themen 1
P Wie rufe ich Methoden mit einer Referenz auf eine Klasse||Objekt auf Java Basics - Anfänger-Themen 4
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
M Nach einer erstmaligen Eingabe, eine zweite Eingabe nur noch gegen bestätigung möglich Java Basics - Anfänger-Themen 2
TimoN11 Java - Eine oder mehrere Eingaben möglich machen Java Basics - Anfänger-Themen 6
A Wie schaffe ich das eine while Schleife addiert danach subtrahirt? Java Basics - Anfänger-Themen 1
Y Einfügen in eine doppelt verkettete Liste Java Basics - Anfänger-Themen 8
T Ich habe eine Variabel die nicht Methoden übergreifend ist. Kann mir jemand Helfen :) Java Basics - Anfänger-Themen 5
H Daten aus einer Datei in eine Liste speichern Java Basics - Anfänger-Themen 23
Tino1993 for-Schleife, die eine vorgegebene Anzahl von Zeichen ausgibt Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben