"Code too large" bei Netbeans

Scruffy

Mitglied
Ich hab ein interessantes Problem, bei dem ich nicht unbedingt weiterkomme.
Ich nutze Netbeans, um ein Testprogramm zu schreiben. In der GUI gibt es jede Menge (ich kann sie nicht zählen, aber grob geschätzt um die 400-500) Komponenten. Sie werden zwar nicht alle auf einmal angezeigt, aber sie sind alle miteinander irgendwie Verknüpft (durch Bindungen). Heißt: wenn ich auf einem Panel etwas ändere, ändert sich auch etwas auf einem anderen. Diese GUI wird im Netbeans-Designer erstellt. Der wiederum packt alle Eigenschaften in die Methode initComponents(). Nun ist das Problem, dass ich erst 1/3 der Komponenten erstellt habe und schon meldet der Compiler "Code too large"... Ich weiß (hab die sarkastischen Kommentare in den anderen Posts gelesen): Ausgliedern was geht, aber in diesem Fall geht nicht, denn den Code von Netbeans kann ich nicht ohne weiteres ändern.

Was kann man da tun? Ist das ein Java Problem und "wäre das mit .NET nicht passiert" oder kann man einfach nicht so große Programme schreiben (was ich mir nicht so recht vorstellen kann).
 

faetzminator

Gesperrter Benutzer
Vielleicht liegt das einfach am GUI-Designer? Wieso wird das GUI nicht von Hand geschrieben? Also ich kenn die Fehlermeldung nur von den bööösen, böösen JSPs :D
 

Cola_Colin

Top Contributor
Wieviele Zeilen sind das ? o_O
Was ist das für eine GUI, die auf einmal 400 bis 500 Komponenten anzeigt ?
Das wirst du eben doch ausgliedern müssen. Erstelle eine Reihe von JPanel, auf denen die Komponenten sind, dann geht das.
 

Scruffy

Mitglied
Es werden ja nicht alle Komponenten auf einmal gezeigt, sie sind in einem CardLayout angeordnet. Sie müssen aber alle bein Start erstellt werden, da sie von einander abhängen.

Die initComponents() hat jetzt um sie 7300 Zeilen.

Wie könnte ich ausgliedern? Gestern hab ich Netbeans geschlossen, da wollte er das Programm nicht kompilieren. Heute morgen will er einige Komponenten nicht öffnen...
 

Landei

Top Contributor
Eine vertrackte Situation, und in diesem Fall ist Fernhilfe wirklich schwierig. Vielleicht können dir die Jungs und Mädels beim NetBeans-Forum bezüglich des GUI-Designers weiterhelfen?
 
G

Gast2

Gast
Du kannst doch alles auf einmal erstellen aber es muss doch nicht alles in einer Klasse sein:

Beispiel:

Eine Toolbar. Man kann alle Buttons in die Toolbar Klasse packen ODER man macht Sub Toolbars. Diese werden dann in die Haupt Toolbar reingepackt. Genauso gehnts auch sonst wo.

Bei deinem CardLayout Beispielsweise: Mach eine Klasse für das CardLayout mit den Basiskomponenten. Mach ein Interface für die Cards und dann für jede Card eine eigene Klasse.

Musst du über Karten hinweg Dinge per Binding verbinden schaffe ein Model für das HauptCard in dem die entsprechenden Attribute vorhanden sind und binde deine Cards auf dieses Model ect.

Du musst auch deine GUI in sub Komponenten splitten.

Ich habe z.B. eine Terminal Klasse. Die wird ins Programm als Terminal eingefügt. Welche Implementierung dahinter steckt ist ja dem Hauptframe sche... egal. Ich könnte meine Terminal Impl. einfach tauschen, da der MainFrame nur das Interface einbindet.

Auf die Art und Weise hat man keine Monster Dateien. Auch mit dem GUI Designer sollte man sich geeignete GUI Komponenten separat erstellen.

Nachtrag: Genau aus solchen Gründen mag ich GUI Designer nicht. Wenn man Übung hat geht das irgendwann per Hand genauso schnell. Und man versteht wenigstens alle Elemente die man verwendet. Hab am Anfang auch Designer verwendet und es hat immer gehakt. Seit ich alles selber programmiere läufts auch prima. Ist halt erst mal aufwendiger, da man sich schon sehr mit den Layout Managern ect. beschäftigen muss. Lohnt sich aber imho sehr!
 
Zuletzt bearbeitet von einem Moderator:
M

maki

Gast
In der GUI gibt es jede Menge (ich kann sie nicht zählen, aber grob geschätzt um die 400-500) Komponenten.
400-500 Komponenten in einer View?
Dann liegt der Fehler weder an Java noch an Netbeans, und schon gar nicht am GUI Designer.
Aufspalten, auslagern, strukturieren, redundanzen vermeiden...
 

Scruffy

Mitglied
@kappesf: Dein Anstoß gefällt mir. Hab nur noch nicht verstanden, wie ich das Binding machen soll. Und bin mir nicht sicher, ob ich das was ich da tue auch mit einem Desinger hinbekommen kann. Kann ich JPanel "Formule" erstellen und diese dann dafür nutzen?

Ich will hier jetzt keine Grundsatzdiskussion vom Zaun brechen, deswegen nur kurz: Wenn es schon einen Designer gibt, möchte ich ihn auch nutzen, so bequem bin ich dann doch. Ich versuch auch keinen der ihn nicht nutzt dazu zu bekehren. Ich mag das. Soll jetzt aber nicht heißen, dass ich mich mit den Layoutmanagern oder anderen Dingen weniger auskenne.
 
G

Gast2

Gast
@kappesf: Dein Anstoß gefällt mir. Hab nur noch nicht verstanden, wie ich das Binding machen soll. Und bin mir nicht sicher, ob ich das was ich da tue auch mit einem Desinger hinbekommen kann. Kann ich JPanel "Formule" erstellen und diese dann dafür nutzen?

Ich will hier jetzt keine Grundsatzdiskussion vom Zaun brechen, deswegen nur kurz: Wenn es schon einen Designer gibt, möchte ich ihn auch nutzen, so bequem bin ich dann doch. Ich versuch auch keinen der ihn nicht nutzt dazu zu bekehren. Ich mag das. Soll jetzt aber nicht heißen, dass ich mich mit den Layoutmanagern oder anderen Dingen weniger auskenne.

Dazu kann ich nur eins sagen. Wenn man 400 - 500 Elemente in eine View packt hat man GUI Design nicht im geringsten verstanden ohne das jetzt böse zu meinen.

Fakt ist aber, dass man gerade dann von GUI Designern die Finger lassen sollte! Bevor man einen Designer benutzt muss man exakt verstehen was der so macht und wie er das macht.

Man sollte in jedem Fall händisch eine GUI programmieren können.

Wenn man das dann kann möchte man oft gar nicht mehr mit Designern arbeiten, da der Code schlechter ist und auch schwer wartbar. Schneller ist man dann meist eh nicht mehr.
 

Scruffy

Mitglied
... ohne das jetzt böse zu meinen.
Ne, gar nicht.

Klar, weiß ich wie das alles funktioniert, ich bin kein Anfänger. Und es ist mir auch klar, dass es viele Wege gibt. Der Weg den ich jetzt eingeschlagen habe, führt zu nichts deswegen frag ich ja. Wäre nett gewesen eine Antwort zu bekommen anstatt hier angemacht zu werden. Es ist generell in Mode Leute mit Problemen erstmal auszulachen, weil das alles ja so einfach ist. Nicht nur hier, auch in anderen Foren. Wenn es einfach wäre, würde hier keiner Fragen stellen. Und ich finde nicht, dass meine Frage so trivial ist.

Ich kann eine GUI "händisch" programmieren, nur sehe ich da keinen Sinn drin. Das ist meine Sicht der Dinge und ich versuche keinen vom Gegenteil zu Überzeugen. Wenn man mir nicht helfen kann/will, einfach nicht antworten. Aber anmachen lassen muss ich mich hier deswegen nicht.

Ohne das alles jetzt böse zu meinen.
 

Scruffy

Mitglied
Dann kann es auch im Designer gelöst werden. Oder zumindest sollte es das...

Edit: Ich will nicht darüber diskutieren, ob Desinger oder nicht. Ich würde gern das Problem lösen. Der Ansatz eben hat mir gefallen.
 

faetzminator

Gesperrter Benutzer
Es ist mir wirklich egal, ob du den Designer verwendest oder nicht. Ebenfalls ist mir egal, was die anderen davon halten und ob ihr euch streitet. Es geht mir hier gar nicht um eine Diskussion, ob GUI-Designer oder nicht.
Du wolltest von uns eine Lösung. Und die einfachste, welche mir einfällt, ist: es von Hand machen. Anscheinend kann dir hier niemand sagen, wie man dieses Problem mit dem Designer lösen kann. Ich würde also eher eine Antwort wie
Das ist schade, ich würde es gerne mit dem Designer machen. Hat jemand noch eine andere Idee? Wenn nicht, muss ich es Wohl oder Übel redesignen und/oder von Hand programmieren.
erwarten.
 

Scruffy

Mitglied
Ich hab ja gesagt, dass ich den Ansatz von kappesf ganz gut fand und das jetzt auch probiere, nur wie das Binding gehen soll hab ich nicht verstanden.
 
G

Gast2

Gast
Ich hab ja gesagt, dass ich den Ansatz von kappesf ganz gut fand und das jetzt auch probiere, nur wie das Binding gehen soll hab ich nicht verstanden.

- Nemhen wir an du hast einen View Container.

- Der nimmt beliebig viele Views auf.

- Die Views kennen sich gegenseitig nicht

- Mehrere Views stellen gleiche Daten dar.

==> Erstelle ein Model welches dem View Container gehört. Dieser übergibt das Model an jede View welche in den Container hinzugefügt wird.
==> View synchronisiert sich ber Binding an das Model.

Im Prinzip ist es egal wo so ein Model liegt es muss nur an jede View bekannt gemacht werden. Den Rest erledigt dann das Binding Framework.

PS: Dich lacht keiner aus. Und wenn niemand helfen wollte gäbs ja keine Posts ;)
 
Zuletzt bearbeitet von einem Moderator:
Ähnliche Java Themen
  Titel Forum Antworten Datum
D code too large .... Allgemeine Java-Themen 5
Zrebna Tipps für Organisation von Code-Reviews nach einem Pull Request. Allgemeine Java-Themen 5
M Unsicher, ob das Code richtig ist Allgemeine Java-Themen 4
MarvinsDepression Unbekanntes Zeichen in fremden Code wirft Fragen auf Allgemeine Java-Themen 4
schemil053 Methoden Code-Verbesserung Allgemeine Java-Themen 2
D Webarchive (war): Code verschleiern Allgemeine Java-Themen 7
D Compiler-Fehler child process exited with code 1 Allgemeine Java-Themen 1
Queenman Interface Mein Microsoft Visual Studio Code zeigt komische Dinge & Menüs an Allgemeine Java-Themen 9
A Clean Code: Variable vs. Methode Allgemeine Java-Themen 8
berserkerdq2 Versteht jemand, was diese beiden Zahlen bei dem IJVM Code zu bedeuten haben? Allgemeine Java-Themen 10
OnDemand Releaseversion Tag in Code Allgemeine Java-Themen 5
ERlK JDA Code funktioniert nicht? Allgemeine Java-Themen 4
F Code auslagern Allgemeine Java-Themen 5
D VBA Code mit Java ausführen möglich? Allgemeine Java-Themen 10
N JAVA-Code mit Grafikfenster zeichnet in Windows, aber nicht Mac. Allgemeine Java-Themen 4
JordenJost Unverständlicher Java code? Allgemeine Java-Themen 21
V Hilfe mit Java Code Allgemeine Java-Themen 4
S Processing Java Code verstehen Allgemeine Java-Themen 4
A code wird nicht ausgeführt Allgemeine Java-Themen 3
B Bitte um Code Erklärung Allgemeine Java-Themen 5
N nicht einsehbarer Fehler im code, kann nicht mehr übersetzten Allgemeine Java-Themen 51
N Regulären Ausdruck in normalen Java-Code umwandeln Allgemeine Java-Themen 12
OnDemand Clean Code oder Allgemeine Java-Themen 5
Noahscript Aus einem byte Array Steuerungszeichen und Code bekommen und ersetzen Allgemeine Java-Themen 3
J Simple Date Format Alternativen bitte um Code Allgemeine Java-Themen 14
AGW in Java-Code plötzlich ein paar Wörter in Rot Allgemeine Java-Themen 2
L Best Practice Auslagerung von Code = Performance Optimierung? Allgemeine Java-Themen 4
H Precompilierten code ansehen Allgemeine Java-Themen 3
R Wo müsste ich im Code eine Änderung vornehmen? Allgemeine Java-Themen 6
L Ausgabe von in Echtzeit ausgeführten Code Allgemeine Java-Themen 9
Drachenbauer Wie kann ich die menge an code reduzieren? Allgemeine Java-Themen 28
Thallius Warum ist dieser Code OS abhängig? Allgemeine Java-Themen 10
S Code Erklärung Allgemeine Java-Themen 21
B Pausem im Code Allgemeine Java-Themen 2
T Java-Quiz Code Fehler Allgemeine Java-Themen 10
L Eclipse Java Code ausführen Allgemeine Java-Themen 18
F Java Code ausführen direkt nach Anmelden in Windows Allgemeine Java-Themen 2
F Code in Klassen bringen Allgemeine Java-Themen 4
S Gibt es eigentlich Java Source Code Interpreter..? Allgemeine Java-Themen 13
J JUnit - Auslassen von Code Allgemeine Java-Themen 25
F Klassen Spaghetti Code Vermeidung Allgemeine Java-Themen 16
C code oder Bibliotheken für 2-Center Problem Allgemeine Java-Themen 4
J Code Page characters darstellen Allgemeine Java-Themen 12
J wie sollte man sinnvoll seinen Code aufteilen Allgemeine Java-Themen 6
I Python Code in Java Code Allgemeine Java-Themen 9
M Java (GUI) Code verdoppeln oder anzeige mehrmals anzeigen? Allgemeine Java-Themen 8
N Wie öffne ich einen runtergeladadenen Code in IntelliJ Allgemeine Java-Themen 3
R Fehler im Code Allgemeine Java-Themen 1
R Fehler im Code Allgemeine Java-Themen 3
O Standard library nativer C code Allgemeine Java-Themen 1
R Wo ist mein Fehler in diesem Code Allgemeine Java-Themen 7
S Java Editor Bekomme bei der Code-Vervollständigung die Zeichen ​ Allgemeine Java-Themen 3
N Morse Code decoder Allgemeine Java-Themen 9
O Erste Schritte Benzinverbrauch Code Hilfe Allgemeine Java-Themen 3
S Eclipse exit code 805306369 Allgemeine Java-Themen 1
Pataraca Vererbung Code einbinden Allgemeine Java-Themen 3
Developer_X Website HTML Code von HTTPS URL laden Allgemeine Java-Themen 0
S Wie kann ich eine kleine Stelle in meinem Code mit multiplen Threads abarbeiten..? Allgemeine Java-Themen 20
S Code 'innerhalb' des synchronen Bereichs einer BlockingQueue ausfuehren..? Allgemeine Java-Themen 7
F Verständlichkeitsproblem bei Java Code?! Allgemeine Java-Themen 2
G Eclipse Eclipse: Unreachable code Allgemeine Java-Themen 16
P Java Android Code in IOS compilieren? Allgemeine Java-Themen 9
C Code vereinfachen Allgemeine Java-Themen 2
T Hilfe bei Code Allgemeine Java-Themen 3
R Java-Code für folgene Aufgabe? Allgemeine Java-Themen 8
Prafy Best Practice Code Refaktorisierung Allgemeine Java-Themen 7
WetWer Was bedeutet/macht ein Exit-Code Allgemeine Java-Themen 1
D Code für bereitgestellte Methoden Allgemeine Java-Themen 1
perlenfischer1984 HTML Code decodieren Allgemeine Java-Themen 2
C ASCII-Code in Java Allgemeine Java-Themen 1
J Java-Code in DLL packen Allgemeine Java-Themen 5
J LWJGL 3 Error Code 1282 Allgemeine Java-Themen 4
0 Code startet nicht (Keine Warnung/Fehlermeldung) Allgemeine Java-Themen 4
A Frage zu meinem Code Allgemeine Java-Themen 2
B Code generierung Velocity Templates Telosys Allgemeine Java-Themen 1
E Fehlermeldung vor dem Programm code Allgemeine Java-Themen 1
B JAVA - mehrere Clienten gleichzeitig starten. Nicht bei Code! Allgemeine Java-Themen 3
Fischkralle Ausführen von fremden Code Allgemeine Java-Themen 14
wolfgang63 Code snipped Software Allgemeine Java-Themen 1
L Eclipse Editieren des Code templates für Override methods Allgemeine Java-Themen 2
J Java code "plugin" fähig machen Allgemeine Java-Themen 4
alderwaran .jar Code Signing, User-Keystore und Fragen dazu Allgemeine Java-Themen 0
Thallius Wie verstecke ich meinen private Key am besten im Code? Allgemeine Java-Themen 10
A Thread: Code paralell ausführen in mehreren Instanzen Allgemeine Java-Themen 1
B NullPointerException - Aber kein Fehler im Code Allgemeine Java-Themen 4
N HTTP response code: 403 Allgemeine Java-Themen 3
D Code bitte mit 19 stelligen Zahlen kompatibel machen Allgemeine Java-Themen 5
D Java Compiler code referencen Allgemeine Java-Themen 0
B Fehler im Java-Code Allgemeine Java-Themen 4
A PHP-Code zu Java-Code Allgemeine Java-Themen 5
M Code läuft unter windows aber nicht unter Linux Allgemeine Java-Themen 6
X Was macht folgender Code!? Allgemeine Java-Themen 6
K Code zu einem Projekt entschluesseln Allgemeine Java-Themen 15
H Java Leistungssteigerung durch Code Anpassung Allgemeine Java-Themen 5
Fab1 Best Practice Vorgehensweise bestehenden Code/Programm verschönern Allgemeine Java-Themen 4
M Code optimieren Allgemeine Java-Themen 7
A jEditorPane Html Datei öffnen (code) Allgemeine Java-Themen 3
S EAN-Code Tabelle für CD's Allgemeine Java-Themen 2
T Code durch eigenes Frame pausieren (ähnlich JDialog) Allgemeine Java-Themen 4
J Erzeugung von Java-Code Allgemeine Java-Themen 2

Ähnliche Java Themen


Oben