Java Anfängerfrage "JCheckBox" hinzu fügen
-
Ich wollte in Mediathekview eine neue Option in den Download-Einstellungen hinzu fügen, bin jedoch kläglich gescheitert. Im PanelDownload.java sehe ich, wie vorhandene Checkboxen gefüllt werden und ihr Ergebnis in die Configs gespeichert werden. Dann gibt es noch PanelDownload.jfd sowie einige Hinweise “Generated using JFormDesigner” und “do not modify//GEN-BEGIN:variables”.
Ich wollte im Prinzip nur folgende Zeilen ergänzen:
jCheckBoxDStarten.setSelected(Boolean.parseBoolean(MVConfig.get(MVConfig.Configs.SYSTEM_DIALOG_DOWNLOAD_D_STARTEN))); jCheckBoxDStarten.addActionListener(e -> MVConfig.add(MVConfig.Configs.SYSTEM_DIALOG_DOWNLOAD_D_STARTEN, String.valueOf(jCheckBoxDStarten.isSelected())));
und eine Checkbox generieren. Welche Files muss/darf ich editieren und wie erzeuge ich die restlichen Informationen? Mit einem einfachen Build scheint es nicht getan zu sein. Ich nutze IntelliJ IDEA 2021.1
-
Ganz so trivial ist das ändern dieses Bereiches nicht. Die .jfd und .java Datei gehören zusammen. Das UI wurde mit dem JFormDesigner Programm grafisch designed. Die Layout Informationen dazu liegen in der .jfd-Datei. Daraus wird anteilig der grundlegende UI-code in der .java Datei generiert. alles was in diesen DO NOT MODIFY Blöcken drin ist darf nicht verändert werden.
Um das UI anzupassen benötigst Du eine gekaufte Lizenz von JFormDesigner für non-commercial. Dann kann man vorsichtig versuchen die Checkboxen hinzuzufügen und dem Programm bekannt zu machen. Ich sage deswegen vorsichtig da je nach verwendetem Layout Manager in Java eine vermeintlich einfache Änderung im GUI das ganze Layout verhunzt.Das Hinzufügen deines programmcodes danach ist im Vergleich zum anderen Teil trivial, der sollte seinen Platz irgendwo im Constructor finden um zu funktionieren.
Ich habe Dir gerade auf dein issue auf GitHub geantwortet.
-
@derreisende77
Ich bin wohl von Python verwöhnt, denn da erstelle ich GUIs einfach per Code. Mit JFormDesigner fange ich dann gar nicht erst an. Danke für die Erklärung.