PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fragen zu Jav & Eclipse



Silver
11-02-2004, 15:58
Hi!

Habe mehrer Fragen über Java & Eclipse!

1) Folgendes Bspprogramm könnten wir mit dem Designer vom Borland JBuilder erstellen. Das Prob ist aber, dass der JBuilder vielen, unüberschaubaren Code erzeugt, und der Lerneffekt auch null ist! Ok, aber mit welchem Layout-Manager sollte ich am besten diese Sachen erstellen? Der GridBagLayout-Manager würde sich am besten eignen, aber er ist ziemlich aufwendig! Wie würdet ihr eine solche Oberfläche lösen?!?

http://www2.htlwrn.ac.at/d01131/gui.png

2) Benutze Eclipse 2.1 unter Linux, und wenn ich bei einem C/C++-Programm ein printf mache, dann erscheint der Text erst in der Console (welche in Eclipse ist), wenn das Programm beendet ist! Hab die Einstellung der Console schon überprüft. Unter Java kommts sofort!

3)
UIManager.setLookAndFeel(UIManager.getSystemLookAn dFeelClassName()); .. dieser Code im Java Programm sorgt ja dafür, dass zb unter Windoof die Java-Progs kein Motif verwenden. Aber unter Linux kommt trotzdem Motif u. nicht etwa GTK od. QT? Ist das normal so?


Danke, im Voraus!

mfG

peschmae
11-02-2004, 16:37
1) GridBagLayout - oder eine Schachtelung von so Boxen (HBox, VBox oder so heissen die)
2) Keine Ahnung - für C++ benutze ich Eclipse nicht
3) Welches JDK benutzt du? Fest eingebautes Gtk Look and Feel gibts erst ab 1.4.2. Vorher gibts nur Motif.
Ausserdem ist unter Linux halt Motif genau so fest "nativeLNF" wie Gtk - vielleicht noch ein bisschen mehr weil älter ;)
Qt-Standard-Lnf gibts nicht. Mit http://www.l2fprod.com/ kannst du aber Qt oder Gtk-Themes in deiner App verwenden, wenn du das möchtest.

MfG Peschmä

Silver
11-02-2004, 18:18
also ich verwende derzeit blackdown-jdk 1.4.1 ! naja, dann wird ich mir mal das aktuelle sun-jdk besorgen! Verwende Gentoo und da war das blackdown-jdk schon dabei, verstehe auch nicht, warum das jdk von blackdown 180 mb und das von Sun "nur" 32 mb umfasst!

Für was benötigt man eigentlich eine Java Runtime Enviroment? Damit man Java-Programm überhaupt zum laufen bringt? Sind die beim Java-SDK automatisch dabei? Warum gibt es von Sun keine JRE?

Danke für die Antworten!

mfG

Edit: Wenn ich ein Java-Programm zB mit dem gnu-compiler (gcj) kompiliere, läuft dann das ca. gleich schnell wie ein ähnliches c++-programm?!?

peschmae
11-02-2004, 19:41
Die VM ist beim JDK automatisch mit dabei. Sie muss - teile des JDKs sind auch Java-Programme (z.B. der javac-Compiler).
Die JRE brauchst du damit ein Java-Programm läuft. Da gehört die VM dazu und die (kompilierte) Klassenbibliothek.

Ich würd mir mal die 1.5.0-Beta ziehen - ne ältere Version (noch Alpha) lief bei mir sehr gut. :)

Die JRE von Sun gibts natürlich auch separat. http://java.com/en/index.jsp
Auf java.sun.com ist nur von JDKs die Rede - aber das ist schliesslich auch die Developer-Seite.
Falsch - das hat auf den Downloadseiten jeweils zwei Spalten - in der Linken ist nur die JRE und in der Rechten das JDK

Zu GCJ: Die Sache ist ein bisschen komplizierter als das. Soo schnell ist der noch nicht - man kann meist froh sein, wenn ein Programm nur kleine Änderungen braucht, damit es damit läuft. Optimierungen wurden noch kaum vorgenommen.
Die Performance von C++ ist im Moment noch nicht erreicht und wird es wohl auch nie ganz - da gibt es halt Sachen, die Bremsen (Array-Grenzenüberprüfung, Garbage Collection, etc)
Der grösste Vorteil von GCJ ist derzeit imho dass es Freie Software ist.

MfG Peschmä

bischi
12-02-2004, 16:29
Ich würde das SunJDK 1.42 nehmen, die Beta hat noch zu viele Bugs - da regst du dich nur auf als Anfänger (wenn du nicht weisst, dass es funktionieren müsste).

Zur Geschwindigkeit kann ich nur folgendes sagen: C++ ist momentan sicher noch schneller, doch Java holt mächtig auf!!! (Swingprogramme sind mittlerweilen auf einem aktuelleren Computer unter Windows fast so schnell wie normale exe-Programme).

Eclipse ist so ne Sache: Wenn du nicht wirklich ein extrem grosses Projekt durchziehen willst, hindert dich Eclipse meiner Meinung nach eher, als dass es dir hilft. Daher würde ich einen Texteditor mit Syntax-Highlighting nehmen (mein Favorit: Scite).

MfG Bischi

Silver
12-02-2004, 18:44
Hi!


Also naja, so ganz begeistert bin ich von Eclipse auch nicht, das es schon ziemlich zäh ist, und dass auf einem 1400 mhz centrion + 512 mb-ram! Aber welche Alternative würde es sonst unter Linux geben? Exlicpse, JBuilder, etc. helfen dir alle ungemein wenn du manche Methoden von Objekten suchst, oder dir gleich alle Exceptions auflistet welche eine Methode wirft, oder aber auch dir gleich das nötige Package anzeigt, etc. Naja Bequemlichkeit hat seinen Preis, in dem Fall Geschw.! Oder kann "Scite" das auch alles?!?

mfG

peschmae
12-02-2004, 20:24
@Bischi:
Bugs? Mir ist noch keiner begegnet. Ist wohl eher dein Betriebssystem :p
Nein, im Ernst, kannst du mir mal einen Zeigen? Du könntest ihn z. B. auch reporten, wie es sich gehört. (Hast du sicher noch nicht gemacht ;))

Java ist schon seit 1995 Tempomässig am aufholen. Qt z. B. soll mit Version 4 auch noch schneller werden. Naja. Gleich schnell wie ein "normales" Windows-Programm ist die Reaktionszeit einer Swing-Gui aber noch nicht. (Mit gtk2 kanns mittlerweile mithalten).

Ich denke IDEs (Eclipse und andere) sind für Projekte gut geeignet. Das muss nicht mal riesengross sein damit du von den Vorteilen profitieren kannst.
Für so kleine Beispiel/Testprogrämmchen und vor allem zuerst einmal zum Java lernen würde ich aber auch eher einen Texteditor verwenden (Kate oder SciTE) - weil da die Projektverwaltung eher lästig ist.

@Silver: Hast du die Gtk-Version von Eclipse? Die ist halt lahm. Keiner hat ne Ahnung an was das liegt. Die Motif ist leider hässlich.
Da bleibt nur die Fox-Version - die ist schnell. Allerdings crasht die IDE damit ab und zu (und du verwendest besser ne Version aus der 2.xer Reihe statt des allerneusten 3.0er Milestone Builds).
IDEs sind halt allgemein fette Teile und damit recht langsam - das gilt auch für Netbeans und so.
Alternative währe z. B. KDevelop, damit kannst du auch Java programmieren (ich weiss aber nicht wie komfortabel und ob Sachen wie Class-Browser und Debugger damit gut laufen/eingebunden sind) oder jedit - das ist ein (Swing basierender) Texteditor für so ziemlich alles. Mit guter Pluginarchitektur und vielen Plugins - u. a. auch Classbrowser und so.

MfG Peschmä

anda_skoa
12-02-2004, 20:47
Original geschrieben von peschmae
1) GridBagLayout - oder eine Schachtelung von so Boxen (HBox, VBox oder so heissen die)

Da mit ist man wirklich ziemlich flexibel.
Man kann auch Teile so einer komplexen UI in einzelne Panels zerlegen und diese getrennt layouten.



3) Welches JDK benutzt du? Fest eingebautes Gtk Look and Feel gibts erst ab 1.4.2. Vorher gibts nur Motif.

Ich denke seit 1.3 gibt überall auch Metal.

Ciao,
_

bischi
12-02-2004, 20:56
@Bischi:
Bugs? Mir ist noch keiner begegnet. Ist wohl eher dein Betriebssystem
Nein, im Ernst, kannst du mir mal einen Zeigen? Du könntest ihn z. B. auch reporten, wie es sich gehört. (Hast du sicher noch nicht gemacht )

Wie gesagt: Knöpfe, die als durchsichtig definiert waren (damit du ein Hintergrundbild sehen kannst) sind mit 1.5 auf einmal nicht mehr durchsichtig (hab noch nicht in der Doku nachgeschaut - nehm aber nicht an, dass sie das rausgenommen haben).

Zweitens: Ich habe eine HTML-Seite mit einer gewissen Schriftfarbe und Knöpfe im selben Programm mit der gleichen schriftfarbe (per HTML definiert). Die HTML-Seite ist aber massiv zu hell (Knöpfe sind dunkelblau (schrift), HTML-Seite ist sehr hellblau (schrift))

Stimmt - habs noch nicht gemeldet - nachdem ich denen beim letzen Bug zwei Mails geschrieben habe und die mir nicht geantwortet haben - bzw. der Bug in der neuen Version nicht verbessert wurde, ist mir ehrlich gesagt die Lust daran vergangen :(

MfG Bischi

ps: Vielleicht hab ich mich ja am falschen Ort gemeldet (weiss leider nicht mehr wo). Wo müsste man sich offiziell melden?

peschmae
13-02-2004, 11:03
@anda_skoa: Das ist mir schon klar - aber er benutzte die getNativeLNF-Methode. Und von den nativen LNFs gibts bis und mit 1.4.1 nur Motif unter Linux.


Original geschrieben von bischi
Wie gesagt: Knöpfe, die als durchsichtig definiert waren (damit du ein Hintergrundbild sehen kannst) sind mit 1.5 auf einmal nicht mehr durchsichtig (hab noch nicht in der Doku nachgeschaut - nehm aber nicht an, dass sie das rausgenommen haben).


Naja, nochmal nachschauen ;)

Vielleicht liegts aber auch an nem Farbverlauf oder so, den das neue Theme hat.



Zweitens: Ich habe eine HTML-Seite mit einer gewissen Schriftfarbe und Knöpfe im selben Programm mit der gleichen schriftfarbe (per HTML definiert). Die HTML-Seite ist aber massiv zu hell (Knöpfe sind dunkelblau (schrift), HTML-Seite ist sehr hellblau (schrift))


Wunderhübsch. Tönt wirklich nach bug.



Stimmt - habs noch nicht gemeldet - nachdem ich denen beim letzen Bug zwei Mails geschrieben habe und die mir nicht geantwortet haben - bzw. der Bug in der neuen Version nicht verbessert wurde, ist mir ehrlich gesagt die Lust daran vergangen :(

ps: Vielleicht hab ich mich ja am falschen Ort gemeldet (weiss leider nicht mehr wo). Wo müsste man sich offiziell melden?

Wenn Java freie Software wäre... :cool:

Wo Melden weiss ich nicht - hab bisher noch keine Bugs (ausser dem lahmen Gui-Tempo ;) ) gefunden.

MfG Peschmä

Silver
13-02-2004, 18:13
hi!

Also hab wieder ein paar Fragen gesammelt ;)!

1) Also hab mir nun das java-jdk-1.4.2.x von Sun gezogen und als Standard-VM gesetzt, aber leider bekomm ich wieder nur den Motif-Style (mit obrigem (1. Thread) Code gemacht)!

2) JPanel verwendet man ja für Rahmen, aber wie setze ich einen Bezeichnung für den Rahmen?

3) Das Java-Sdk-Doc, gibts da irgendeinen bequemeren Hilfe-Browser (suchen, index, etc.) dazu, oder muss man sich hier mit dem Browser quälen?

mfG

peschmae
13-02-2004, 21:08
Original geschrieben von Silver
1) Also hab mir nun das java-jdk-1.4.2.x von Sun gezogen und als Standard-VM gesetzt, aber leider bekomm ich wieder nur den Motif-Style (mit obrigem (1. Thread) Code gemacht)!


Dann ist halt Motif immer noch Platform-default.

schau mal da - aus JavaDoc:


# If the system property swing.defaultlaf is non-null, use it as the default look and feel class name.
# If the Properties file swing.properties exists and contains the key swing.defaultlaf, use its value as default look and feel class name. The location of swing.properties may vary depending upon the implementation of the Java platform. In Sun's implementation this will reside in &java.home>/lib/swing.properties. Refer to the release notes of the implementation you are using for further details.
# Otherwise use the Java look and feel.


Bei mir sieht das Gtk-LNF allerdings recht hässlich aus - erinnert zwar schon irgendwie an Gtk, aber doch nicht ganz. Eben die bei Swing immer bemängelten sicht- und fühlbaren Unterschiede.



2) JPanel verwendet man ja für Rahmen, aber wie setze ich einen Bezeichnung für den Rahmen?


Äh, das versteh ich nicht.



3) Das Java-Sdk-Doc, gibts da irgendeinen bequemeren Hilfe-Browser (suchen, index, etc.) dazu, oder muss man sich hier mit dem Browser quälen?


Mein Browser (Galeon) ist keine Quälerei. :)
Nen Index hat das Zeugs ja eingebaut - und wenn dus runterlädst sind die Zugriffszeiten auch viel kürzer. Wenn du möchtest kannst du das natürlicha auch mit Glimpse oder htdig indizieren, aber, naja.

In Eclipse kannst du afaik (hab ich aber nie gemacht) auch die Javadoc-Kommentare zu den entsprechenden Funktionen oder so als Popups anzeigen lassen.

MfG Peschmä