JavaFx Album

Sandro95

Bekanntes Mitglied
Welche? Was "sagt" diese? Meldung?
Das ist die MEldung wenn ich im target nicht ein bild auswähle ( was eig ja auch kein Sinn macht ein Bild zu kopieren und das dann in ein anderes Bild reinzukopieren ) oder ?


java.nio.file.FileAlreadyExistsException: C:\Users\waf-l\Desktop\A&L Projekt
at sun.nio.fs.WindowsFileCopy.copy(WindowsFileCopy.java:124)
at sun.nio.fs.WindowsFileSystemProvider.copy(WindowsFileSystemProvider.java:278)
at java.nio.file.Files.copy(Files.java:1274)
at main.lambda$null$1(main.java:211)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74)
 

mihe7

Top Contributor
OK, Du musst den Dateinamen im Zielverzeichnis mit angeben, also nicht nur den Ordner sondern auch den Dateinamen dazupacken.

Und, weil es mir gerade auffällt: warum hast Du den Code im Button? Du brauchst doch nur etwas wie das FileSystemAlbum von oben zu nehmen und deren Methoden im Button aufzurufen - diese Trennung ist ja Sinn und Zweck der Sache.
 

Sandro95

Bekanntes Mitglied
@mihe7 ja das habe ich dann ja aber dan nwar da nur ein neuer Ordner "stern4 " welcher aber komplett leer war . und das gewünschte Bild ist nicht drin

weil das ja durch den Klick auf den Add button passieren soll
 

Sandro95

Bekanntes Mitglied
OK, Du musst den Dateinamen im Zielverzeichnis mit angeben, also nicht nur den Ordner sondern auch den Dateinamen dazupacken.

Und, weil es mir gerade auffällt: warum hast Du den Code im Button? Du brauchst doch nur etwas wie das FileSystemAlbum von oben zu nehmen und deren Methoden im Button aufzurufen - diese Trennung ist ja Sinn und Zweck der Sache.
aber ja das stimm muss ich umändern um die bessere Trennung zu haben un das der code schöner ist
 

mihe7

Top Contributor
ja das habe ich dann ja aber dan nwar da nur ein neuer Ordner "stern4 " welcher aber komplett leer war . und das gewünschte Bild ist nicht drin
?!?

Hier
Java:
Path target = Paths.get("C:\\Users\\waf-l\\Desktop\\A&L Projekt");
gibst Du als Zieldatei einen bereits existierenden Ordner an, daher:
java.nio.file.FileAlreadyExistsException: C:\Users\waf-l\Desktop\A&L Projekt
Sprich, die Datei C:\Users\was-l\Desktop\A&L Projekt existiert bereits.
 

Sandro95

Bekanntes Mitglied
?!?

Hier
Java:
Path target = Paths.get("C:\\Users\\waf-l\\Desktop\\A&L Projekt");
gibst Du als Zieldatei einen bereits existierenden Ordner an, daher:

Sprich, die Datei C:\Users\was-l\Desktop\A&L Projekt existiert bereits.
Muss ich dann immer einen neuen Ordner erstellen ein adden oder wie ?

Ich möchte ja nur best in mate Bilder von einem Ordner in einen anderen reinkopieren @mihe7
 

mihe7

Top Contributor
Nein, Du musst im target den Dateinamen mit angeben.

Wie hier
Java:
            Path oldPath = image.path();
            Path newPath = getRatingDir(newRating).resolve(oldPath.getFileName());
            Files.move(oldPath, newPath);

machst Du halt
Java:
                    Path source = Paths.get(bildpfad.getText());
                    Path target = Paths.get("C:\\Users\\waf-l\\Desktop\\A&L Projekt").resolve(source.getFileName());
                    Files.copy(source, target);
 

Sandro95

Bekanntes Mitglied
Nein, Du musst im target den Dateinamen mit angeben.

Wie hier
Java:
            Path oldPath = image.path();
            Path newPath = getRatingDir(newRating).resolve(oldPath.getFileName());
            Files.move(oldPath, newPath);

machst Du halt
Java:
                    Path source = Paths.get(bildpfad.getText());
                    Path target = Paths.get("C:\\Users\\waf-l\\Desktop\\A&L Projekt").resolve(source.getFileName());
                    Files.copy(source, target);


So , jetzt habe ich das so gemacht und im textfield de pfad des bildes angegeben doch wieder kommt ne Exception



java.nio.file.FileAlreadyExistsException: C:\Users\waf-l\Desktop\A&L Projekt\babe
at sun.nio.fs.WindowsFileCopy.copy(WindowsFileCopy.java:124)
at sun.nio.fs.WindowsFileSystemProvider.copy(WindowsFileSystemProvider.java:278)
at java.nio.file.Files.copy(Files.java:1274)
at main.lambda$null$1(main.java:211)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114)




Java:
  b3.setOnAction((ActionEvent event) ->{


                   Path source = Paths.get(bildpfad.getText());
                   Path target = Paths.get("C:\\Users\\waf-l\\Desktop\\A&L Projekt").resolve(source.getFileName());

                   try {
                       Files.copy(source,target);
                   } catch (IOException ex) {
                       ex.printStackTrace();
                   }


               });
 
K

kneitzel

Gast
Falls Du überschreiben willst, kannst Du das entsprechend CopyOptions setzen (StandardCopyOption.REPLACE_EXISTING).

Das würde sogar für leere Verzeichnisse funktionieren.

Und bitte nicht als Vorwurf empfinden: Versuch doch etwas mehr mit der Dokumentation zu arbeiten! Ich habe ja einige Hinweise gegeben...

So hättest Du dem Link folgen können und dann hättest Du die verschiedenen copy Methoden gesehen.
Ich habe die CopyOptions angesprochen - das sind doch Links, also einmal auf das CopyOption geklickt und Du hättest das gesehen. Ok,die ist leer, aber es gibt abgeleitete Klassen - Das findet sich ja alles in der Doku. Also click auf StandardCopyOption.

Die JavaDoc geben in der Regel keine Code-Beispiele. Da wäre aber auch schnell etwas zu finden:

Das liefert ggf. nicht so schöne Beispiele, aber z.B. der erste Treffer ist bei mir:
Da wird dann ein Path per get geholt (ok) aber es wird ein String künstlich zusammen gebaut. Das macht Path.get aber doch, wenn man mehrere Argumente übergibt. Also sowas wie:
Path target = Paths.get(System.getProperty("user.home"), "tmp").resolve(source.getFileName());
oder
Path target = Paths.get(System.getProperty("user.home"), "tmp", source.getFileName().toString());
wäre aus meiner Sicht sauberer. Aber das ist Feinheit. Die Funktionalität ist ja das Wichtige und die bekommt man recht gut zu sehen.

Dieses schnell in die Doku schauen und diese zu verstehen sowie das Navigieren in der Doku sind etwas, das muss man üben Ebenso das suchen mit Google. Daher wirklich die Empfehlung, das etwas mehr zu versuchen und zu machen. (Und das ist der Hintergrund, wieso ich dann so Hinweise auf die Doku gebe!)
 

Sandro95

Bekanntes Mitglied
Gibts denn die Datei?
Nein , im Zielordner gibt es die Datei nicht nur in der Quelle.
Wenn ich das jetzt ausführe mit der Option wie @kneitzel meinte erstellt er mir im Ziel ordner ein ein neuen Ordner namens Babe welcher aber leer ist


Falls Du überschreiben willst, kannst Du das entsprechend CopyOptions setzen (StandardCopyOption.REPLACE_EXISTING).

Das würde sogar für leere Verzeichnisse funktionieren.

Und bitte nicht als Vorwurf empfinden: Versuch doch etwas mehr mit der Dokumentation zu arbeiten! Ich habe ja einige Hinweise gegeben...

So hättest Du dem Link folgen können und dann hättest Du die verschiedenen copy Methoden gesehen.
Ich habe die CopyOptions angesprochen - das sind doch Links, also einmal auf das CopyOption geklickt und Du hättest das gesehen. Ok,die ist leer, aber es gibt abgeleitete Klassen - Das findet sich ja alles in der Doku. Also click auf StandardCopyOption.

Die JavaDoc geben in der Regel keine Code-Beispiele. Da wäre aber auch schnell etwas zu finden:

Das liefert ggf. nicht so schöne Beispiele, aber z.B. der erste Treffer ist bei mir:
Da wird dann ein Path per get geholt (ok) aber es wird ein String künstlich zusammen gebaut. Das macht Path.get aber doch, wenn man mehrere Argumente übergibt. Also sowas wie:
Path target = Paths.get(System.getProperty("user.home"), "tmp").resolve(source.getFileName());
oder
Path target = Paths.get(System.getProperty("user.home"), "tmp", source.getFileName().toString());
wäre aus meiner Sicht sauberer. Aber das ist Feinheit. Die Funktionalität ist ja das Wichtige und die bekommt man recht gut zu sehen.

Dieses schnell in die Doku schauen und diese zu verstehen sowie das Navigieren in der Doku sind etwas, das muss man üben Ebenso das suchen mit Google. Daher wirklich die Empfehlung, das etwas mehr zu versuchen und zu machen. (Und das ist der Hintergrund, wieso ich dann so Hinweise auf die Doku gebe!)

Ich nehme das auf keinen fall als Vorwürf , ich bin dnkbar von euch lernen zu können !
Nur finde ich die Dokumentationen oft etwas schwierig zu verstehen .. aber ja ich veruche es ab jetzt etwas mehr auf jeden fall
 
K

kneitzel

Gast
Dann gib doch mal zur Kontrolle dein source und target aus. Stimmen die Werte?
Mach auf einer Eingabeaufforderung ein dir mit dem Inhalt aus source: wird die Datei angezeigt?

Nicht, dass du da nur ein Verzeichnis angibst und keine Datei. Das Files.copy dient dem kopieren von einer Datei - also keine ganzen Verzeichnisse oder so.
 

Sandro95

Bekanntes Mitglied
Ich bins wieder , leider komme ihc beim Laden nicht weiter ..
Alos ich hab jetzt folgenedes gemacht : Ich serialisiere die Objekte in einer Liste( die Objekte bestehen aus nem String pfad, int String bewertung )
Diese deserialisiere ich , was auch beim ersten Bild aus der Datei klappt .
Pro Scene soll ein Bild mit der Bewertung dargstellt werden , wenn ich dann auf nnext klicke kommt immer ein IndexOutOufBounds , obwohl aber i nder Datei sich 3 Objekte befinden .

Vlt könnt ihr mir helfen ..
 
Zuletzt bearbeitet von einem Moderator:
K

kneitzel

Gast
Dann musst du den genauen Code zeigen (als in Code Tags und nicht als Bildschirmfoto) - von der Stelle, wo der Fehler auftritt aber auch was sonst so dazu gehört (Deserialisierung und wie Du die Daten hältst und so)

Du kannst dem aber doch auch im Debugger sehr leicht selbst auf den Grind gehen: Schau doch an der Stelle, an der die Exception geworfen wird, die vorhandenen Daten im Debugger an. Dann siehst Du, auf welchen Index du zugreifst und ob es den gibt (ja wohl nicht, wenn eine IndexOutOfBoundsException geworfen wird) ... Für uns dürfte das recht schwer sein, da den Überblick zu bekommen. (Hier empfehle ich Dir, dich auch mal etwas mit Clean Code zu beschäftigen - wenn eine Methode nicht ganz auf den Bildschirm passt dann ist das schon ein schlechtes Zeichen. Einrücktiefe von 7 ist auch bedenklich, ... Und gehört natürlich auch zu Clean Code: saubere Trennung von Verantwortlichkeiten und so - hängt beim SOLID Principle mit der Single Responsibility zusammen... Hier also eine größere Trennung zwischen View und Controller bzw. Model. (Nach welchem Pattern man da vorgeht, ist erst einmal egal. Die Namen ändern sich dann halt etwas.)
 

Sandro95

Bekanntes Mitglied
Dann musst du den genauen Code zeigen (als in Code Tags und nicht als Bildschirmfoto) - von der Stelle, wo der Fehler auftritt aber auch was sonst so dazu gehört (Deserialisierung und wie Du die Daten hältst und so)

Du kannst dem aber doch auch im Debugger sehr leicht selbst auf den Grind gehen: Schau doch an der Stelle, an der die Exception geworfen wird, die vorhandenen Daten im Debugger an. Dann siehst Du, auf welchen Index du zugreifst und ob es den gibt (ja wohl nicht, wenn eine IndexOutOfBoundsException geworfen wird) ... Für uns dürfte das recht schwer sein, da den Überblick zu bekommen. (Hier empfehle ich Dir, dich auch mal etwas mit Clean Code zu beschäftigen - wenn eine Methode nicht ganz auf den Bildschirm passt dann ist das schon ein schlechtes Zeichen. Einrücktiefe von 7 ist auch bedenklich, ... Und gehört natürlich auch zu Clean Code: saubere Trennung von Verantwortlichkeiten und so - hängt beim SOLID Principle mit der Single Responsibility zusammen... Hier also eine größere Trennung zwischen View und Controller bzw. Model. (Nach welchem Pattern man da vorgeht, ist erst einmal egal. Die Namen ändern sich dann halt etwas.)
ich hab es versucht mit dem debugger aber verstehe nicht den Fehler , er sagt mir immer das die Size nur 1 ist aber das kann gar nicht sein
Clean code gebe ich dir recht , aber ich möchte erstmal das verdammte Ding zum laufen bekommen :D ..
Was soll ich dir schicken , damit du mal grob rüber schauen kannst ? @kneitzel
 
K

kneitzel

Gast
Dann schau doch im Debugger die Datenstruktur an. Du kannst doch sehen, wie viele Elemente in der ArrayList ist. Aber ganz offensichtlich ist das nur ein Element drin, daher musst Du einmal im Detail schauen, wo Du das erstellst / füllst.
 

Sandro95

Bekanntes Mitglied
Also hier sidn die beiden Scenen wo das erste Bild ( was auch klappt ) angezeigt wird und das zweite.



Java:
b7.setOnAction((ActionEvent event3)-> primstage.close());


                   box7.setPadding(new Insets(0,20,15,10));
                   //setze die Ausrichtung nach rechts
                   box7.setAlignment(Pos.BOTTOM_RIGHT);
                   //setze die Innenabstände der Buttons auf10
                   box7.setSpacing(10);

                   box8.setPadding(new Insets(50,0,0,0));
                   box8.setAlignment(Pos.TOP_CENTER);

                   // IDS Setzen
                   box7.setId("box7");
                   b7.setId("button7");
                   b8.setId("button8");


                   pane4.setBottom(box7);
                   pane4.setTop(box8);

                  //FileObjekt.setObjektList(FileObjekt.laden());
                  //ArrayList<FileObjekt> neu = FileObjekt.getObjektList();

                   Label labelBewertung = new Label(leereListe.get(0).toString());

                   labelBewertung.setId("bildBewertung");

                   box7.getChildren().addAll(b7,b8);
                   box8.getChildren().add(labelBewertung);



                   try {
                       FileInputStream input = new FileInputStream(leereListe.get(0).getPfad());
                       Image image = new Image(input);
                       ImageView view = new ImageView(image);
                       view.setId("view1");
                       view.setImage(image);

                       //Dem Bild eine neue Größe setzen (verkleinern)
                       view.setFitHeight(200);
                       view.setFitWidth(300);


                       pane4.setCenter(view);

                   } catch (FileNotFoundException ex) {
                       ex.printStackTrace();
                   }

                   b8.setOnAction((ActionEvent event5)->{

                       BorderPane pane5 = new BorderPane();


                       HBox box9 = new HBox();
                       HBox box10 = new HBox();


                       Button b9 = new Button("CLOSE");
                       Button b10 = new Button("NEXT");



                       b9.setOnAction((ActionEvent event3)-> primstage.close());


                       box9.setPadding(new Insets(0,20,15,10));
                       //setze die Ausrichtung nach rechts
                       box9.setAlignment(Pos.BOTTOM_RIGHT);
                       //setze die Innenabstände der Buttons auf10
                       box9.setSpacing(10);

                       box10.setPadding(new Insets(50,0,0,0));
                       box10.setAlignment(Pos.TOP_CENTER);

                       // IDS Setzen
                       box9.setId("box9");
                       b9.setId("button9");
                       b10.setId("button10");


                       pane5.setBottom(box9);
                       pane5.setTop(box10);

                      // FileObjekt.setObjektList(FileObjekt.laden());
                       //ArrayList<FileObjekt> neu2 = FileObjekt.getObjektList();


                        // hier passiert der Fehler
                       Label labelBewertung1 = new Label(leereListe.get(1).toString());



                       box9.getChildren().addAll(b9,b10);
                       box10.getChildren().add(labelBewertung1);



                       try {
                           FileInputStream input = new FileInputStream(leereListe.get(1).getPfad());
                           Image image = new Image(input);
                           ImageView view = new ImageView(image);
                           view.setId("view2");
                           view.setImage(image);

                           //Dem Bild eine neue Größe setzen (verkleinern)
                           view.setFitHeight(200);
                           view.setFitWidth(300);


                           pane5.setCenter(view);

                       } catch (FileNotFoundException ex) {
                           ex.printStackTrace();
                       }



                   });

Die Datei welche ich am Anfang des Programm lade ist diese : Hier befinden sich wie man sieht mehre Objekte drin. @kneitzel , @Mart 1636836248900.png
 
K

kneitzel

Gast
Diese Ausschnitte geben uns keine Informationen, denen wir irgendwas hilfreiches entnehmen können.

Du musst schauen, was Du wo mit dieser ArrayList machst. Wenn da mal mehrere Objekte drin sind und dann nur noch eins, dann wirst du ja in der Zwischenzeit irgendwas gemacht haben.

Und da erkennst Du auch ein Problem mit all diesem Kuddelmuddel: Du hast nichts gekapselt, überall kann (und wird teilweise) darauf zugegriffen. Dann hast Du keine klare Aufteilung, das heisst an jeder Stelle kann Dein Code alles machen. Es gibt also keinen Verlass darauf, dass eine Stelle wirklich nur das macht, was auch ihre Benennung (z.B. durch Methodennamen und so) aussagt. Das macht eine Fehlersuche extrem schwer.
 
K

kneitzel

Gast
Ich denke, er meint das für Deine Datei, aber so wie die aussah wirst Du Die bereits per ObjectInputStream einlesen. Und für das Lesen der Bilder ist das natürlich nicht sinnvoll.
 

Sandro95

Bekanntes Mitglied
ja die implementierung ist sehr verschachtelt und als außenstehender schwer zu verstehen .. daran muss ich noch arbeiten ..Suche seit tagen den Fehler aber werde einfach nicht fündig
 

Sandro95

Bekanntes Mitglied
Ich denke, er meint das für Deine Datei, aber so wie die aussah wirst Du Die bereits per ObjectInputStream einlesen. Und für das Lesen der Bilder ist das natürlich nicht sinnvoll.
Könnte ich vlt die ZIP Datei exportieren und dir schicken ? Dann könntest du wen ndu mal kurz zeit hast( muss nicht heute seim) drüber schauen ? wäre dir mga dankbar.. @kneitzel
 
Zuletzt bearbeitet:
K

kneitzel

Gast
ja, kannst du mir gerne mal zusenden. Evtl. komme ich morgen dazu, mir das mal anzusehen. Aber ich bin derzeit relativ mit einem anderen Thema (Amateurfunk) ausgelastet. Aber schauen wir mal. Senden kannst Du es z.B. an konrad@kneitzel.de (Am besten nicht als Anhang sondern über einen Download Link / teilen über google drive oder so)
 

Sandro95

Bekanntes Mitglied
ich kann dir das ja auch hier einfach per direkt Nachricht schicken , oder ? @kneitzel und ein danke an euch beiden !
Schicke es dir bzw euch dann gleich mal , und klar mach dir kein Stress vlt findest du bzw ihr ja mal kurz zeit um drüber zu schauen @Mart @kneitzel
 
M

Mart

Gast
Java:
        try(FileOutputStream out = new FileOutputStream(file2,true); ObjectOutputStream obOut = new ObjectOutputStream(out)){
            obOut.writeObject(Main.leereListe);
            System.out.println("Datei wurde erfolgreich geladen");

        }
also ich denke dein problem ist dass du im moment gar nicht mehr selber weist was passiert im code.. ich möchte nicht böse klingen

du hast 4 zip dateien und in diesen zip dateien sind auch nochmal zip dateien .. es ist besser wie ostern

ich hab das ding entpackt und die 3 Klassen die du hast mal angesehen

dein problem ist folgender maßen:
du hast den Spaghetti Code erzeugt dass du durch static selber nicht mehr weißt was leereliste ist, beim speichern kann man davon ausgehen dass es im richtigen Zustand sein" könnte "aber in welchem Zustand es beim Laden ist ist fraglich
der Code ist in dem aktuellen Stand nicht lesbar
die Fehlersuche dauert nur solange weil du dich selber nicht mehr auskennst wegen dem static
zusätzlich hast du in der Objekt orientierten Sprache 2 Objekte erzeugt in der Summe die zur Umsetzung des albums benutzt werden, der Rest ist static oder fx


in dem aktuellen Stand wird das helfen schwer weils niemand lesen kann
 

Sandro95

Bekanntes Mitglied
Java:
        try(FileOutputStream out = new FileOutputStream(file2,true); ObjectOutputStream obOut = new ObjectOutputStream(out)){
            obOut.writeObject(Main.leereListe);
            System.out.println("Datei wurde erfolgreich geladen");

        }
also ich denke dein problem ist dass du im moment gar nicht mehr selber weist was passiert im code.. ich möchte nicht böse klingen

du hast 4 zip dateien und in diesen zip dateien sind auch nochmal zip dateien .. es ist besser wie ostern

ich hab das ding entpackt und die 3 Klassen die du hast mal angesehen

dein problem ist folgender maßen:
du hast den Spaghetti Code erzeugt dass du durch static selber nicht mehr weißt was leereliste ist, beim speichern kann man davon ausgehen dass es im richtigen Zustand sein" könnte "aber in welchem Zustand es beim Laden ist ist fraglich
der Code ist in dem aktuellen Stand nicht lesbar
die Fehlersuche dauert nur solange weil du dich selber nicht mehr auskennst wegen dem static
zusätzlich hast du in der Objekt orientierten Sprache 2 Objekte erzeugt in der Summe die zur Umsetzung des albums benutzt werden, der Rest ist static oder fx


in dem aktuellen Stand wird das helfen schwer weils niemand lesen kann
Also ist jeder Versuch hoffnungslos zu helfen ?
@Mart
 
K

kneitzel

Gast
Warte es erst Mal ab. Wenn ich nachher des ansehe, dann werde ich auch Refactorings machen.

Was ich schon gesehen habe: Du willst Dir git ansehen :)
 
K

kneitzel

Gast
Also je länger ich drauf schaue, desto gruseliger wird es :)

Ein Refactoring ist da sehr schwer, da ich da auch wenig ausprobieren kann auf meinem System und es sonst ja keinerlei Tests gibt....

Du nutzt Java 1.8? Ist das gesetzt oder kann man auf eine aktuelle Version gehen? Ist eher nebensächlich, aber ich würde da halt auch auch eher ein Maven Projekt draus machen oder so. (Liegt jetzt einfach nur daran, dass ich so kein JavaFX auf meinem Rechner habe und das über eine Abhängigkeit laden möchte. Für Dich wäre dies ein Punkt, der absolut nebensächlich ist.)

Aber zu Deinem Code:
- Achte auf Code Formatierungen. Mengen an Leerzeilen sind unnötig. Kommentare im Code sind - außerhalb von JavaDoc - unnötig und wenn nicht unnötig zu 99% Zeichen, dass Du Bezeichner umbenennen solltest. Dann waren die Dateien nicht alle richtig eingerückt meine ich. Hier gibt es aber gute Plugins zur Code Formatierung. ==> Ctrl-Alt-Shift-L drücken - da kannst Du dann auch Haken setzen bei optimize imports und so -> Schon ist das Code deutlich besser :)

- Lambdas mit { ... } => Taugt nur, wenn Du von Anderen beschimpft, bespuckt oder geschlagen werden willst. Hier das, was in den Klammern ist in eine Methode packen und dann bitte die Methode im Labda aufrufen. So hat der Code dann auch direkt eine kleine Dokumentation in Form des Namens der Methode ... (==> Das ist ein Trick, wie man auf Komemntare im Code verzichten kann:

Java:
// Hier mache ich was tolle
// ...
// ...
Java:
   macheWasTolles();



private void macheWasTolles() {
    // ...
    // ...
}

Der Code selbst hat jetzt den Kommentra drüber (steht ja in der Methoden Signatur) und im laufenden Code hast Du jetzt sozusagen nur noch den "Kommentar", der zu einem Methodenaufruf wurde.


- Dann Trennung von Ebenen: Du hast eine Oberfläche. Und dann hast Du Objekte, mit denen Du arbeitest, also z.B. Deine Bewertungen. Da wird nichts vermischt. Es kann also nicht sein, dass Dein Model FileSystemImageAlbum dann plötzlich UI Controls hat.

- Positiv: Try with Resources! Super! Das ist etwas Positives! Da ganz kleines Mimimi von mir: Wenn Du da mehrere Dinge drinnen hast, dann packe diese auf getrennte Zeilen, also einfach nach dem ; noch einen Zeilenumbruch einfügen. Oder alternativ: Du kannst Die Konstruktoren verschachteln new ObjectInputStream(new FileInputStream(...))


Aber an der Stelle laufe ich dann noch in gewisse Verständnisprobleme hinein, da ich Dein Daten-Modell nicht verstehe. Du hast Bewertung als String, aber es dürfen dann nur "1" - "5" vorkommen? Das nur als ein Punkt, der halt aufschlägt, der an für sich unkritisch ist, aber der halt zu leichten Irritationen führt. Und so kleine Punkte kommen an mehreren Stellen und alle zusammen machen es schwer, alles nach zu vollziehen.

Die Frage ist da jetzt auch, wie man da überhaupt mit umgeht. Ich sehe es gerade nicht als zielführend an, hier den bestehenden Code anzupassen.
Ich würde da lieber neu Anfangen - zumal da ja auch noch nicht so viel an Code ist.

Kannst Du mir evtl. etwas Hintergrundwissen zu Deinem Projekt geben? Ist das einfach nur ein privates Projekt? Etwas für Schule / Uni, das Du abgeben willst (und wo Du ggf. auch Dinge aus dem Lehrplan befolgen musst, spezielle Wünsche des Verantwortlichen erfüllen musst, wo fremde Leistungen als Deine ausgeben als Betrug gewertet werden würde ...) - Eine solche Einordnung wäre wichtig, da davon ggf. weitere Fragen und das weitere Vorgehen abhängen würden.
Bei einem rein privaten Projekt kann ich Dir eher Code hier geben, den du 1:1 übernimmst - niemand wird danach suchen und dir dann Betrug vorwerfen. Vereinfacht einiges, denn bei letzterem müssen wir Dich maximal mit der Nase drauf stoßen, so dass es dann von Dir gekommen ist.
Bei Lehrplänen müsste man wissen, was Dir vermittelt wurde. Beispiel: Wenn da ein Lehrer meint, dass in In Code Kommentare ein Muss sind und ich schimpfe mit dir, dann ist das kontraproduktiv.
Ohne Lehrpläne kann man dann auch deutlich mehr mit einbauen - dann wird es z.B. ein Maven Projekt mit Unit Tests und so. Da würde man Dich dann schnell in sowas etwas einweisen.

(Du merkst - der Gedanke ist, Dich hier ggf. einfach etwas mehr an die Hand zu nehmen und zu führen...)
 

Sandro95

Bekanntes Mitglied
Also je länger ich drauf schaue, desto gruseliger wird es :)

Ein Refactoring ist da sehr schwer, da ich da auch wenig ausprobieren kann auf meinem System und es sonst ja keinerlei Tests gibt....

Du nutzt Java 1.8? Ist das gesetzt oder kann man auf eine aktuelle Version gehen? Ist eher nebensächlich, aber ich würde da halt auch auch eher ein Maven Projekt draus machen oder so. (Liegt jetzt einfach nur daran, dass ich so kein JavaFX auf meinem Rechner habe und das über eine Abhängigkeit laden möchte. Für Dich wäre dies ein Punkt, der absolut nebensächlich ist.)

Aber zu Deinem Code:
- Achte auf Code Formatierungen. Mengen an Leerzeilen sind unnötig. Kommentare im Code sind - außerhalb von JavaDoc - unnötig und wenn nicht unnötig zu 99% Zeichen, dass Du Bezeichner umbenennen solltest. Dann waren die Dateien nicht alle richtig eingerückt meine ich. Hier gibt es aber gute Plugins zur Code Formatierung. ==> Ctrl-Alt-Shift-L drücken - da kannst Du dann auch Haken setzen bei optimize imports und so -> Schon ist das Code deutlich besser :)

- Lambdas mit { ... } => Taugt nur, wenn Du von Anderen beschimpft, bespuckt oder geschlagen werden willst. Hier das, was in den Klammern ist in eine Methode packen und dann bitte die Methode im Labda aufrufen. So hat der Code dann auch direkt eine kleine Dokumentation in Form des Namens der Methode ... (==> Das ist ein Trick, wie man auf Komemntare im Code verzichten kann:

Java:
// Hier mache ich was tolle
// ...
// ...
Java:
   macheWasTolles();



private void macheWasTolles() {
    // ...
    // ...
}

Der Code selbst hat jetzt den Kommentra drüber (steht ja in der Methoden Signatur) und im laufenden Code hast Du jetzt sozusagen nur noch den "Kommentar", der zu einem Methodenaufruf wurde.


- Dann Trennung von Ebenen: Du hast eine Oberfläche. Und dann hast Du Objekte, mit denen Du arbeitest, also z.B. Deine Bewertungen. Da wird nichts vermischt. Es kann also nicht sein, dass Dein Model FileSystemImageAlbum dann plötzlich UI Controls hat.

- Positiv: Try with Resources! Super! Das ist etwas Positives! Da ganz kleines Mimimi von mir: Wenn Du da mehrere Dinge drinnen hast, dann packe diese auf getrennte Zeilen, also einfach nach dem ; noch einen Zeilenumbruch einfügen. Oder alternativ: Du kannst Die Konstruktoren verschachteln new ObjectInputStream(new FileInputStream(...))


Aber an der Stelle laufe ich dann noch in gewisse Verständnisprobleme hinein, da ich Dein Daten-Modell nicht verstehe. Du hast Bewertung als String, aber es dürfen dann nur "1" - "5" vorkommen? Das nur als ein Punkt, der halt aufschlägt, der an für sich unkritisch ist, aber der halt zu leichten Irritationen führt. Und so kleine Punkte kommen an mehreren Stellen und alle zusammen machen es schwer, alles nach zu vollziehen.

Die Frage ist da jetzt auch, wie man da überhaupt mit umgeht. Ich sehe es gerade nicht als zielführend an, hier den bestehenden Code anzupassen.
Ich würde da lieber neu Anfangen - zumal da ja auch noch nicht so viel an Code ist.

Kannst Du mir evtl. etwas Hintergrundwissen zu Deinem Projekt geben? Ist das einfach nur ein privates Projekt? Etwas für Schule / Uni, das Du abgeben willst (und wo Du ggf. auch Dinge aus dem Lehrplan befolgen musst, spezielle Wünsche des Verantwortlichen erfüllen musst, wo fremde Leistungen als Deine ausgeben als Betrug gewertet werden würde ...) - Eine solche Einordnung wäre wichtig, da davon ggf. weitere Fragen und das weitere Vorgehen abhängen würden.
Bei einem rein privaten Projekt kann ich Dir eher Code hier geben, den du 1:1 übernimmst - niemand wird danach suchen und dir dann Betrug vorwerfen. Vereinfacht einiges, denn bei letzterem müssen wir Dich maximal mit der Nase drauf stoßen, so dass es dann von Dir gekommen ist.
Bei Lehrplänen müsste man wissen, was Dir vermittelt wurde. Beispiel: Wenn da ein Lehrer meint, dass in In Code Kommentare ein Muss sind und ich schimpfe mit dir, dann ist das kontraproduktiv.
Ohne Lehrpläne kann man dann auch deutlich mehr mit einbauen - dann wird es z.B. ein Maven Projekt mit Unit Tests und so. Da würde man Dich dann schnell in sowas etwas einweisen.

(Du merkst - der Gedanke ist, Dich hier ggf. einfach etwas mehr an die Hand zu nehmen und zu führen...)


Erst einmal danke das du dir so viel Mühe gibst um mir zu helfen ,das weiß ich wirklich zu schätzen !!

Also .. das ganze ist ein Hobbyprojekt , hat keien Richtlinien oder sonst was deswegen kannst du mic gerne mehr an die Hand nehmen.Gibt nichts besseres, als von den besteb zu lernen :)
Ich hatte gelernt , dass Lambdas sinnvoll sind , sollte ich lambdas am besten umgehen ?
Java 1.8 habe ich drauf , weil ich dort am besten mit JavaFx klar komme

Die FileSystemAlbum klasse ist unnötig , muss noch gelöscht werden. Ich mache alles pber die FileObjekt Klasse.
Mit Clean code werde ich mich ab heute bzw gestern mehr befassen .. das ist wahr ist grausam bei mir :D ..
 
K

kneitzel

Gast
Ok, dann schaue ich mal, was ich da vorbereiten kann. Ich muss mir da noch paar Gedanken machen und auch ein paar Dinge vorbereiten.

Grobe Vorstellung:
- Erste Grundlagen zu git werden notwendig sein. Hast Du schon einen Account bei github, gitlab, Microsofts Azure Zeug unter visualstudio.com, ....? Ansonsten leg mal bei github einen Account an und da dann ein Repository. Bei dem Repository gehst Du dann in Settings > Manage Access und fügst mich (kneitzel) dann einfach mal dazu.
- Du bekommst einen Rahmen an die Hand, der auf Java 17 und Maven aufsetzen wird und den ich kurz erläutern werde. Das ist ein Rahmen, den man aber in erster Linie so nutzen kann ohne alles bis ins Detail zu verstehen. Bei Problemen / Anpassungen kann hier zur Not immer schnell jemand helfen und unterstützen.
- Es wird einen kurzen Überblick zu Unit Tests geben - die sind da halt auch schon direkt mit drin. Da geht es nicht gleich um Test Driven Development (TDD), sondern nur um eine kleine Möglichkeit, wie Du dann Dinge austesten kannst. (Halt etwas, das derzeit deinen Code zumüllt. Du probierst was aus und das wird dann auskommentiert oder so)
- Nach diesen ersten Schritten geht es dann mit dem Coding los. Und da bauen wir dann mal gemeinsam den Code auf. Wenn wir soweit sind, dann machen wir einen Termin für eine Google Meet Session aus und dann gehen wir das strukturiert an (Und erläutern zuerst noch die ersten Punkte).
 

Sandro95

Bekanntes Mitglied
Das hört sich sehr gut am , hab mir jetzt einen Account bei Gitlab erstellt schaue mri das eben mit der Repository an und füge dich dann nachher hinzu . Muss ich dafür erst ein Projekt bei Gitlab erstellen ?

Der Ablauf gefällt mir sehr gut , mach dir aber kein Stress wir haben aller Zeit der welt danke noch mal !
Setzen wir dann also den Code von vorne neu auf ? @kneitzel
Ok, dann schaue ich mal, was ich da vorbereiten kann. Ich muss mir da noch paar Gedanken machen und auch ein paar Dinge vorbereiten.

Grobe Vorstellung:
- Erste Grundlagen zu git werden notwendig sein. Hast Du schon einen Account bei github, gitlab, Microsofts Azure Zeug unter visualstudio.com, ....? Ansonsten leg mal bei github einen Account an und da dann ein Repository. Bei dem Repository gehst Du dann in Settings > Manage Access und fügst mich (kneitzel) dann einfach mal dazu.
- Du bekommst einen Rahmen an die Hand, der auf Java 17 und Maven aufsetzen wird und den ich kurz erläutern werde. Das ist ein Rahmen, den man aber in erster Linie so nutzen kann ohne alles bis ins Detail zu verstehen. Bei Problemen / Anpassungen kann hier zur Not immer schnell jemand helfen und unterstützen.
- Es wird einen kurzen Überblick zu Unit Tests geben - die sind da halt auch schon direkt mit drin. Da geht es nicht gleich um Test Driven Development (TDD), sondern nur um eine kleine Möglichkeit, wie Du dann Dinge austesten kannst. (Halt etwas, das derzeit deinen Code zumüllt. Du probierst was aus und das wird dann auskommentiert oder so)
- Nach diesen ersten Schritten geht es dann mit dem Coding los. Und da bauen wir dann mal gemeinsam den Code auf. Wenn wir soweit sind, dann machen wir einen Termin für eine Google Meet Session aus und dann gehen wir das strukturiert an (Und erläutern zuerst noch die ersten Punkte).
 

Sandro95

Bekanntes Mitglied
hast du vlt Discord , sonst könnte man aucch darüber kommunizieren (Falls du das möchtest)
Hab jetzt ein Projekt bei Gitlab erstellt und ne Reposentory , müsstest jetzt eine Einladung bekommen haben
@kneitzel
 
Zuletzt bearbeitet:
K

kneitzel

Gast
Also Discord habe ich zwar auch, aber für sowas taugt es schlicht nichts. Oder willst Du meinen Bildschirm (FHD) mit 720p sehen? Schriften und so wirst Du da kaum lesen / erkennen können :)

Und die Abos sind auch sowas von unnötig. Vor allem auch lachhaft! 100MB Dateien kann man dann hochladen. Echt? Das man als Privatperson kein Abos hat, wie diese Firmen haben, ist ja klar, aber es gibt genug andere Tools ohne solche Einschränkungen. Ich habe privat die GSuite daher der Vorschlag mit Google Meet aber ich bin da offen - es sollte nur eben etwas taugen. In der Regel kann man sich bei den vernünftigen Tools auch einfach per Webbrowser anmelden und es nutzen - ohne groß Software zu installieren.
 

Sandro95

Bekanntes Mitglied
Also Discord habe ich zwar auch, aber für sowas taugt es schlicht nichts. Oder willst Du meinen Bildschirm (FHD) mit 720p sehen? Schriften und so wirst Du da kaum lesen / erkennen können :)

Und die Abos sind auch sowas von unnötig. Vor allem auch lachhaft! 100MB Dateien kann man dann hochladen. Echt? Das man als Privatperson kein Abos hat, wie diese Firmen haben, ist ja klar, aber es gibt genug andere Tools ohne solche Einschränkungen. Ich habe privat die GSuite daher der Vorschlag mit Google Meet aber ich bin da offen - es sollte nur eben etwas taugen. In der Regel kann man sich bei den vernünftigen Tools auch einfach per Webbrowser anmelden und es nutzen - ohne groß Software zu installieren.
Haha ja okay verstehe , verständlich.
Hast du dir Einladung jetzt bekommen, @kneitzel ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Juelin starten maven javafx programm ohne netbeans AWT, Swing, JavaFX & SWT 38
Juelin javax.swing in javafx AWT, Swing, JavaFX & SWT 1
MiMa JUnit5 im JavaFX Projekt AWT, Swing, JavaFX & SWT 2
Juelin in javafx Event auslösen AWT, Swing, JavaFX & SWT 4
MiMa Fonts, Icons, Bilder in JavaFX Anwendung AWT, Swing, JavaFX & SWT 5
MiMa SwingFXUtils in JavaFX 20 AWT, Swing, JavaFX & SWT 6
MiMa JavaFX Fenstertitel zu klein. AWT, Swing, JavaFX & SWT 1
MiMa JavaFX JAR unter Windows ausführen schlägt fehl? AWT, Swing, JavaFX & SWT 5
I JavaFX JavaFx-Anwendung für die Erstellung einer Windows-Anwendung? AWT, Swing, JavaFX & SWT 6
Hatsi09 Javafx MediaPlayer spielt nicht immer AWT, Swing, JavaFX & SWT 3
Hatsi09 Javafx Neuladen von ImageView und MediaView AWT, Swing, JavaFX & SWT 3
Maxim6394 JavaFX Umlaute in JavaFX GUI AWT, Swing, JavaFX & SWT 12
Maxim6394 JavaFX Scene Builder - Crash bei eigener Komponente AWT, Swing, JavaFX & SWT 2
Ernesto95 JavaFX JavaFX GUI mit sehr vielen Update requests AWT, Swing, JavaFX & SWT 4
Telisti Javafx Image wird nicht richtig integiert AWT, Swing, JavaFX & SWT 8
J Netbeans die JavaFX-Anwendung wird nicht ausgeführt AWT, Swing, JavaFX & SWT 16
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
tommybalbor JavaFx Anwendung klappt nicht für macOs Nutzern, wenn ich zwei dependecies bei maven hinzufüge AWT, Swing, JavaFX & SWT 6
JavaSchmecktLecker JavaFX JavaFX Ordner automatisch verlinken AWT, Swing, JavaFX & SWT 2
melaniemueller Taschenrechner JavaFX AWT, Swing, JavaFX & SWT 4
R auto. Importanweisungen für javafx funktioniert in Eclipse nicht mehr AWT, Swing, JavaFX & SWT 4
thor_norsk JavaFX Anwendung stürzt ab AWT, Swing, JavaFX & SWT 4
berserkerdq2 Skalieren sich javafx objekte automatisch auf die Bildschirmgröße AWT, Swing, JavaFX & SWT 6
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
B Java Projekt mit JavaFX und jfoenix ausführbar machen AWT, Swing, JavaFX & SWT 46
H JavaFX wie JavaFX Projekt aufsetzen? AWT, Swing, JavaFX & SWT 10
thor_norsk JavaFX - Grafikkarte AWT, Swing, JavaFX & SWT 7
MiHimbert Rückmeldung an den aufrufenden JAVAFX-Dialog AWT, Swing, JavaFX & SWT 1
MiMa JavaFX Runtime components are Missing??? AWT, Swing, JavaFX & SWT 3
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
B JavaFX Sprachumschaltung mit Button auf der HMI AWT, Swing, JavaFX & SWT 6
H JavaFX Fehlende JavaFX Package AWT, Swing, JavaFX & SWT 10
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
G JavaFX Line Chart mit Farbverlauf/Gradient in Linie AWT, Swing, JavaFX & SWT 1
thor_norsk JavaFX, FXML und SceneBuilder AWT, Swing, JavaFX & SWT 6
_user_q Über installDist exportiertes Programm wirft "Unsupported JavaFX configuration" AWT, Swing, JavaFX & SWT 0
CodingBerlin JavaFX Programm läuft nur unter Eclipse AWT, Swing, JavaFX & SWT 1
H Fehler: Zum Ausführen dieser Anwendung benötigte JavaFX-Runtime-Komponenten fehlen AWT, Swing, JavaFX & SWT 44
temi JavaFX "Frames" in JavaFx - passende Komponente? AWT, Swing, JavaFX & SWT 13
G JavaFX Steuerung bzw. Test von externer JavaFX Anwendung (liegt nur als jar vor) AWT, Swing, JavaFX & SWT 9
_user_q [JavaFX] Spinner so einstellen, dass er nicht leer bleiben darf? AWT, Swing, JavaFX & SWT 6
S Javafx getResource-Pfad wird nicht erkannt AWT, Swing, JavaFX & SWT 7
A JavaFX exportierte Jar ohne beim starten die Libs hinzufügen? AWT, Swing, JavaFX & SWT 2
J JavaFX Schiffe versenken mit JavaFX und Scene builder AWT, Swing, JavaFX & SWT 3
Encera ArrayList mit eigenen Objekten in JavaFX sortieren und ausgeben AWT, Swing, JavaFX & SWT 50
L JavaFx Textformatierung mittels Datenbank und Funktion anpassen AWT, Swing, JavaFX & SWT 5
sserio Wie funktioniert ein Controller bei JavaFx? AWT, Swing, JavaFX & SWT 1
sserio Kann man bei JavaFx ein Fenster aufkommen lassen? AWT, Swing, JavaFX & SWT 1
Jose05 JavaFx Fxml: GUI aus einer anderen Klasse starten AWT, Swing, JavaFX & SWT 1
Tassos JavaFX/Problem mit der Maussteuerung in Stackpane AWT, Swing, JavaFX & SWT 7
S Ich bringe Code mit JavaFX unter Apache NetBeans IDE 12.6 nicht zum laufen. AWT, Swing, JavaFX & SWT 14
K Bekomme (u.a) javafx.fxml.LoadException trotz "korrektem" Code AWT, Swing, JavaFX & SWT 8
S JavaFX: voneinander abhängige TextFields AWT, Swing, JavaFX & SWT 33
M Gluon will JavaFX in den Browser stecken AWT, Swing, JavaFX & SWT 0
H javafx application does not exist AWT, Swing, JavaFX & SWT 16
A JavaFX Controller Problem AWT, Swing, JavaFX & SWT 1
izoards JavaFX TableView mit Array Inhalt füllen AWT, Swing, JavaFX & SWT 1
M Javafx versuch Bibliothek zu erstellen AWT, Swing, JavaFX & SWT 0
N JavaFX Javafx intelij Projekt zu ausführbaren jar Datei Machen AWT, Swing, JavaFX & SWT 1
K JavaFx, Sound Aufnahme und Thread AWT, Swing, JavaFX & SWT 0
izoards JavaFX TextFlow - Sonderzeichen AWT, Swing, JavaFX & SWT 1
maximstein JavaFX WebView - java.lang.NoSuchMethodError: 'boolean com.sun.prism.ResourceFactory.isDisposed()' AWT, Swing, JavaFX & SWT 4
N JavaFX Unicode zeichnen in javafx Label verwenden AWT, Swing, JavaFX & SWT 2
MiHimbert javaFX openfx (17) datepicker AWT, Swing, JavaFX & SWT 3
A Mit JavaFX einzelne Zeilen in TableView farbig markieren AWT, Swing, JavaFX & SWT 5
melaniemueller JavaFX Taschenrechner mit SceneBuilder AWT, Swing, JavaFX & SWT 12
Jose05 Javafx Label Höhe=Breite AWT, Swing, JavaFX & SWT 1
Jose05 JavaFX: eigene FXML-Datei für einen Button AWT, Swing, JavaFX & SWT 3
izoards JavaFX editierbare Tabelle AWT, Swing, JavaFX & SWT 4
N javafx Position der Bustaben finden label AWT, Swing, JavaFX & SWT 1
D Verschieden Scenen ansprechen mit dem Scene Builder und JavaFX (Eclipse) AWT, Swing, JavaFX & SWT 16
izoards JavaFX Background Task warten auf Knopfdruck AWT, Swing, JavaFX & SWT 4
M Zufallsgenerator bei JavaFx AWT, Swing, JavaFX & SWT 1
N Label Schriftart Ändern javafx AWT, Swing, JavaFX & SWT 2
L JavaFX JavaFX, MVVM und SceneBuilder AWT, Swing, JavaFX & SWT 4
I JavaFX - Pane wechseln über 2. Controller AWT, Swing, JavaFX & SWT 5
melaniemueller JavaFX Beispiel kann nicht ausgeführt werden AWT, Swing, JavaFX & SWT 4
T FXML Datei in Java Code einbinden: javafx.fxml.LoadException AWT, Swing, JavaFX & SWT 2
J JavaFX - Included FXML - Entfernen feststellen AWT, Swing, JavaFX & SWT 2
J JavaFX JavaFX/ Taskmenu / UML Klassendiagramm AWT, Swing, JavaFX & SWT 2
Davee JavaFX JavaFX Jar ausführbar jedoch nicht alle Stages AWT, Swing, JavaFX & SWT 3
2 JavaFX die ChoiceBox leitet den String nicht weiter oder es komm zu einem NullPointer AWT, Swing, JavaFX & SWT 8
C MouseEvent JavaFX AWT, Swing, JavaFX & SWT 4
L JavaFX javafx.fxml.LoadException bei einem Taschenrechner AWT, Swing, JavaFX & SWT 5
M4cM4rco0707 JavaFX Custom-Komponente mit Custom-Controller AWT, Swing, JavaFX & SWT 3
M Error occurred during initialization of boot layer java.lang.module.FindException: Module javafx.controls not found AWT, Swing, JavaFX & SWT 14
G javafx build.fxbuild in eclipse und ANT AWT, Swing, JavaFX & SWT 9
M Kollisionensbehandlung mit JavaFX AWT, Swing, JavaFX & SWT 1
N JavaFX - Toolkit not initialized AWT, Swing, JavaFX & SWT 6
G JavaFX , Duplicate erzeugt aber ich weis nicht wo AWT, Swing, JavaFX & SWT 4
K Javafx Plugin (javafx:jlink) mit moditect Plugin nutzen ... AWT, Swing, JavaFX & SWT 5
J Saubere Trennung Model, View, Controller Javafx AWT, Swing, JavaFX & SWT 10
G JavaFX BarChart während der Runtime aktualisieren AWT, Swing, JavaFX & SWT 4
Z JavaFX JavaFX Spinner AWT, Swing, JavaFX & SWT 1
N JavaFX Tableview nach Löschen von Element falscher Index AWT, Swing, JavaFX & SWT 4
G Exception javafx Thread -> caused by removing children while in EventHandler AWT, Swing, JavaFX & SWT 28
T JavaFX DatePicker JavaFX AWT, Swing, JavaFX & SWT 14
G ObjectOutPutStream mit Javafx GUI Elementen AWT, Swing, JavaFX & SWT 14
G Bilder in javafx Project AWT, Swing, JavaFX & SWT 11

Ähnliche Java Themen

Neue Themen


Oben