ubuntuusers.de

Java GUI

Status: Ungelöst | Ubuntu-Version: Ubuntu
Antworten |

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17618

Wohnort: Berlin

phst hat geschrieben:

Hallo, setVisible ist modal.

Ist das eine neue Art und Weise den Terminus 'modal' zu verwenden, oder was meinst Du mit modal?

@fuchsfuchsfuchs: Wenn man einen Programmierstil entwickelt der störende Aktivitäten der IDE unterdrücken soll, dann programmiert man vielleicht besser ohne IDE.
Oder ist programmieren ohne die Sprache und ohne die IDE lernen zu wollen gerade der letzte Schrei?

fuchsfuchsfuchs Team-Icon

Maskottchen
Avatar von fuchsfuchsfuchs

Anmeldungsdatum:
23. Juni 2008

Beiträge: 5650

Wohnort: Confoederatio Helvetica

fuchs@thinkfox testj % javac -Xlint Frame.java
Frame.java:5: warning: [serial] serializable class Frame has no definition of serialVersionUID
public class Frame extends JFrame {
^
1 warning

javac ist eine IDE?

Spass beiseite: ich habe den Quelltext von eclipse nicht im Kopf, aber bin mir doch recht sicher,
dass es diese Warnings nicht selber generiert, sondern, wie oben gezeigt, ausliest.

Sorry fuer OT, aber der Tonfall fuehrt bei mir meist zu Antworten.

Fuchs

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17618

Wohnort: Berlin

javac -X

  • Xlint Enable recommended warnings

    • Xlint:{all,cast,deprecation,divzero,empty,unchecked,fallthrough,path,serial,finally,overrides,-cast,-deprecation,-divzero,-empty, -unchecked,-fallthrough,-path,-serial,-finally,-overrides,none} Enable or disable specific warnings

      • Xbootclasspath/p:<path> Prepend to the bootstrap class path
        ...
        These options are non-standard and subject to change without notice.

Hervorhebung von mir. ☺

fuchsfuchsfuchs Team-Icon

Maskottchen
Avatar von fuchsfuchsfuchs

Anmeldungsdatum:
23. Juni 2008

Beiträge: 5650

Wohnort: Confoederatio Helvetica

Der Grund der Warnung verschwindet leider nicht, wenn die Warnung ausgeblendet ist.
Ob sie nun standardmaessig ausgeblendet ist oder nicht aendert nichts daran,
und ob man gerne ohne jegliche Warnungen programmiert ist eine Stilfrage.

Somit bin ich mit
"@fuchsfuchsfuchs: Wenn man einen Programmierstil entwickelt der störende Aktivitäten der IDE unterdrücken soll, dann programmiert man vielleicht besser ohne IDE.
Oder ist programmieren ohne die Sprache und ohne die IDE lernen zu wollen gerade der letzte Schrei?"
nach wie vor nicht zufrieden, aber da sich das kaum aendern wird und das Hauptproblem des threads noch nicht geloest ist,
lasse ich von nun an weitere Diskussionen.

Fuchs

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

user unknown hat geschrieben:

@ Lunar:
Wenn man die Serialisisierung nicht benutzt, dann läßt man sie weg - oder?

Was willst du da weglassen? Wenn du das Attribut nicht selbst setzt, wird es mit dem Hash der Klasse initialisiert. Es existiert also _immer_ bei serialisierbaren Klassen, unabhängig davon, ob man es setzt oder nicht. Die Warnung rührt daher, dass der Hash sich selbst dann ändert, wenn man nur neue Methoden hinzufügt, ohne das bestehende Interface anzutasten, so dass solche Änderungen dazu führen, dass alte Daten nicht mehr deserialisiert werden können.

Insofern ist es nach dem Motto "better explicit than implicit" sinnvoll, die Versionierung einer Klasse dem Anwender zu überlassen, der in der Regel besser beurteilen kann, ob sich eine Klasse grundlegend geändert hat.

Btw, Eclipse nutzt einen eigenen Compiler, bei dessen Konfiguration die Optionen von javac keine besonders große Hilfe sind 😉

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17618

Wohnort: Berlin

Als Anfänger hat man keine Ahnung was das mit Serializeable überhaupt soll, und wann man es wie einsetzt.

Es ist dann nicht sinnvoll sowas im Code von Demoklassen mitzuschleppen die nie ein Mensch serialisieren wird.
In Eclipse kann man die Warnung ausschalten, wenn sie denn überhaupt an ist - fraglich ist, ob man eine IDE verwenden soll, die 500 Optionen anbietet, ohne daß man ein qualifiziertes Urteil dazu abgeben kann.

Jedenfalls sollte man die 4 Stunden aufbringen die Einstellungsoptionen alle mal abzuklappern um eine Idee zu haben, wo man sowas abstellt, wenn es stört.

Lunar

Anmeldungsdatum:
17. März 2006

Beiträge: 5792

user unknown hat geschrieben:

Als Anfänger hat man keine Ahnung was das mit Serializeable überhaupt soll, und wann man es wie einsetzt.

Bei komplexeren Programmen, die Daten z.B. zum Netzwerktransfer in Streams serialisieren, kann es echt ätzend sein, wenn Client und Server auf einmal nicht mehr miteinander reden, nur weil einen kleine Utility-Methode im Server die ID der Klasse geändert hat 😉

Insofern ergibt die Warnung und auch die automatisch erzeugte Code-Zeile schon einen Sinn, auch wenn sie dieser nicht direkt erschließt. Aber Eclipse richtet sich ja nun auch nicht an den Anfänger 😉

Ich stimme dir zu, dass die Codezeile jetzt gerade sinnlos ist, aber irgendwie kam das so rüber, als würdest du diesen Code generell anzweifeln 😉

user unknown hat geschrieben:

Es ist dann nicht sinnvoll sowas im Code von Demoklassen mitzuschleppen die nie ein Mensch serialisieren wird.

ack.

user unknown hat geschrieben:

In Eclipse kann man die Warnung ausschalten, wenn sie denn überhaupt an ist - fraglich ist, ob man eine IDE verwenden soll, die 500 Optionen anbietet, ohne daß man ein qualifiziertes Urteil dazu abgeben kann.

Ack, am Anfang ist ein Texteditor immer besser ...

Utzinator

Anmeldungsdatum:
6. August 2006

Beiträge: 415

Ack, am Anfang ist ein Texteditor immer besser ...

Aber auch nerviger;)

Tippsel –> Speichern –> Konsole(bzw. dosbox) –> befehl zum kompilieren –> DANN ggf. Fehler sehen –> Schritt 1 –> iwann dann funzt es –> datei starten –> testen.

Sehe ich persönlich so 😉

user_unknown

Avatar von user_unknown

Anmeldungsdatum:
10. August 2005

Beiträge: 17618

Wohnort: Berlin

Utzinator hat geschrieben:

Konsole(bzw. dosbox)

Keine Beleidigungen bitte.

Alle Editoren außer Notepad bieten an, daß man für häufige Sachen wie Compilieren+Ausführen Hotkeys definiert u. dgl.
In der Konsole kompilieren ist eine einfache Sache, im Vergleich zum Einstellen des Compilers in verschiedenen IDEs.

Ich kenne Programmierer, die bemerkenswerte Programme erzeugen können, aber nicht den Unterschied zwischen Compiler und Linker kennen, oder wüßten, was ein Präprozessor ist (obwohl sie ihn ständig verwenden).
Und Makefiles nicht kennen.
Und, und, und.

Abgesehen davon hat der Thread schön geschlafen.

Antworten |