ale_89
Anmeldungsdatum: 10. Januar 2008
Beiträge: 197
|
Hallo, seit kurzem versuche ich ein bisschen von VB.Net (und Gambas unter Linux) auf Java umzusteigen, doch im Moment fehlt mir das noch recht schwer. Auch nach längerem googeln konnte ich z.B. zwei standardmäßige Operationen immer noch nicht durchführen. 😛 1.) Wie kann ich in meiner Java-App (Swing Oberfläche) einen kleinen Hilfe-Browser integrieren ? In VB.Net habe ich das dann immer über das Browser-Control gemacht - in Java habe ich es über das JEditorPane probiert ... ist aber umständlich und einfach schlecht. 2.) Wie kann ich in meiner Java-App auf die Shell zugreifen ?
In VB.Net kann man ja die Win-cmd ansprechen, in Gambas habe ich immer den Befehl 'SHELL' benutzt. Naja vllt könnt ihr mir ja den Einstieg ein mischen erleichtern ☺
|
foobar23
Anmeldungsdatum: 11. Oktober 2008
Beiträge: Zähle...
|
ale_89 schrieb: Hallo, seit kurzem versuche ich ein bisschen von VB.Net (und Gambas unter Linux) auf Java umzusteigen, doch im Moment fehlt mir das noch recht schwer. Auch nach längerem googeln konnte ich z.B. zwei standardmäßige Operationen immer noch nicht durchführen. 😛 1.) Wie kann ich in meiner Java-App (Swing Oberfläche) einen kleinen Hilfe-Browser integrieren ? In VB.Net habe ich das dann immer über das Browser-Control gemacht - in Java habe ich es über das JEditorPane probiert ... ist aber umständlich und einfach schlecht.
Dafür gibts z.b. JavaHelp https://javahelp.dev.java.net/
2.) Wie kann ich in meiner Java-App auf die Shell zugreifen ?
In VB.Net kann man ja die Win-cmd ansprechen, in Gambas habe ich immer den Befehl 'SHELL' benutzt.
http://www.java-tips.org/java-se-tips/java.util/from-runtime.exec-to-processbuilder.html
|
rrurr
Anmeldungsdatum: 24. Mai 2008
Beiträge: 92
Wohnort: FFM
|
Zu 1)
Also etwas fertiges gibt es nicht, um einen Hilfe-Browser in eine Application zu integrieren.
Aber wenn du mal an Hand einer kleinen Skizze mir zeigen könntest, wie der Hilfe-Browser aussehen soll, kann man da bestimmt was hübsches zusammen basteln 😉
Btw.: Mit welcher Entwicklungsumgebung arbeitest du? Wenn's Eclipse 3.4 ist kann ich dir gute Tipps geben. Zu 2)
Mit einem Runtime-Object kannst du Shell-Befehle ausführen:
Runtime rt = Runtime.getRuntime();
rt.exec("mount was auch immer");
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
Das "Browser-Control von VB.Net" sagt mir gar nichts - was ist das denn? Den Browser mit einer lokalen HTML-Seite aufrufen geht. Dazu würde ich die Desktopklasse verwenden: > javadocs:
The Desktop class allows a Java application to launch associated applications registered on the native desktop to handle a URI or a file. Supported operations include: launching the user-default browser to show a specified URI; launching the user-default mail client with an optional mailto URI; launching a registered application to open, edit or print a specified file.
Mit Runtime.exec wird im Allgemeinen zu großzügig umgegangen (Dateien kopieren usw.). Man sollte nach Möglichkeit eine reine Javalösung suchen, um portabel zu bleiben. Ansonsten ist es empfehlenswert das Kommando flexibel zu gestalten, so daß der User sein eigenes Lieblingsprogramm eintragen, den Pfad ändern, und auf Plattformen die Du nicht kennst eine Lösung eintragen kann. java.lang.ProcessBuilder ist da die passende, modernere Klasse als java.lang.Runtime.
|
gotoubuntu
Anmeldungsdatum: 20. Dezember 2008
Beiträge: Zähle...
|
user unknown schrieb: Das "Browser-Control von VB.Net" sagt mir gar nichts - was ist das denn? Den Browser mit einer lokalen HTML-Seite aufrufen geht. Dazu würde ich die Desktopklasse verwenden: >
Afaik ist das auch nicht viel mehr als ein Control um einen WebBrowser in eine WindowsForm einzubetten. http://msdn.microsoft.com/de-de/library/w290k23d.aspx
|
ale_89
(Themenstarter)
Anmeldungsdatum: 10. Januar 2008
Beiträge: 197
|
Dafür gibts z.b. JavaHelp https://javahelp.dev.java.net/
Naja gleich online andere Entwickler bemühen - es kann doch nicht sein, dass es so schwer ist einen kleinen Browser zu erstellen dem ich nur eine URL übergebe! (die Einbindung in mein Programm kann ich dann selber) 😠
Mit welcher Entwicklungsumgebung arbeitest du?
NetBeans - weil man schnell eine GUI stöpseln kann - und ich finde das, im Gegensatz zu z.B. C, man nicht unbedingt die Oberfläche vom Code trennen muss - weil Swing ja eh schon Plattformunabhängig ist.
Runtime rt = Runtime.getRuntime();
rt.exec("mount was auch immer");
Irgd. will NetBeans da bei mir immer noch eine Exeption definieren (an sich ok) - ist dann halt alles in nem try/catch Block.
Leider habe ich das Prinzip immer noch nicht verstanden 😳 z.B.
Runtime rt = Runtime.getRuntime();
rt.exec("mkdir testordner");
Müsste doch eigentlich eine Ordner mit dem Namen 'Testordner' im Home-Verzeichnis erstellen - denn standardmäßig befindet man sich ja in diesem Pfad.
So gings zumindest bei Gambas mit dem Befehl 'SHELL' ?
|
Greebo
Anmeldungsdatum: 21. November 2006
Beiträge: 3443
Wohnort: 97070 Würzburg
|
rrurr schrieb: Zu 1)
Also etwas fertiges gibt es nicht, um einen Hilfe-Browser in eine Application zu integrieren.
Aber wenn du mal an Hand einer kleinen Skizze mir zeigen könntest, wie der Hilfe-Browser aussehen soll, kann man da bestimmt was hübsches zusammen basteln 😉
Btw.: Mit welcher Entwicklungsumgebung arbeitest du? Wenn's Eclipse 3.4 ist kann ich dir gute Tipps geben. Zu 2)
Mit einem Runtime-Object kannst du Shell-Befehle ausführen:
Runtime rt = Runtime.getRuntime();
rt.exec("mount was auch immer");
Bei sowas immer auch erwähnen, dass alle Ausgabestreams gelesen werden sollten, ansonsten läuft nen Buffer voll und die Anwendung pausiert.
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
Nein.
rt.exec ("mkdir testordner");
sucht ein Programm "mkdir testordner" also mit Blank im Programm- oder Kommandonamen. Du willst ein Array benutzen (und weist es noch nicht)
rt.exec (new String [] {"/bin/mkdir", "./testordner"});
Das /bin/ ist nötig, weil Runtime Deinen Pfad nicht kennt. Dot-Slash vor testordner ist vielleicht entbehrlich. Du brauchst das aber alles nicht jetzt - vielleicht später, denn es gibt java.io.File.mkdir ();
|
ale_89
(Themenstarter)
Anmeldungsdatum: 10. Januar 2008
Beiträge: 197
|
denn es gibt java.io.File.mkdir ()
Super 😀 leider hab ich noch überhaupt keine Ahnung was es alles für Methoden in Java gibt - bräuchte mal ne Einführung in die "wichtigsten" (gebräuchlichsten) → allerdings kommt bei mir da immer "mkdir() cannot be referenced from a static context" hmmmm ? 😳 ich seh schon selbt wenn man etwas VB konnte is der Umstieg lustig ...
|
Greebo
Anmeldungsdatum: 21. November 2006
Beiträge: 3443
Wohnort: 97070 Würzburg
|
ale_89 schrieb: denn es gibt java.io.File.mkdir ()
Super 😀 leider hab ich noch überhaupt keine Ahnung was es alles für Methoden in Java gibt - bräuchte mal ne Einführung in die "wichtigsten" (gebräuchlichsten)
Das gibt es IMO nicht, aber es ist alles super dokumentiert (Siehe http://java.sun.com/reference/api/ ) die meisten IDEs erlauben es auch die Dokumentation direkt einzubinden, so dass du die Hilfen auch AdHoc durchlesen kannst, und im Zweifelsfall tut Google und das konkrete Problem einen brauchbaren Dienst 😉.
→ allerdings kommt bei mir da immer "mkdir() cannot be referenced from a static context" hmmmm ? 😳 ich seh schon selbt wenn man etwas VB konnte is der Umstieg lustig ...
Na ja die Fehlermeldung hast du ja schon gefunden, jetzt musst du sie nur noch verstehen 😉. Da steht im Endeffekt, dass die Methode mkdir() nicht aus einem statischen Kontext heraus aufgerufen werden kann. Vollkommen schludrig definiert ist der statische Kontext alles, was nicht an ein spezielles Objekt gebunden ist. Im Fall dieser Funktion ist das auch irgendwie logisch, immerhin willst du ja ein Verzeichnis anlegen, aber nirgendwo wurde gefragt welches Verzeichnis du anlegen willst. Der korrekte Aufruf wäre sowas wie
| new File("MyFolder").mkdir()
|
|
user_unknown
Anmeldungsdatum: 10. August 2005
Beiträge: 17552
Wohnort: Berlin
|
Schludrig war vor allem meine Antwort gegenüber einem Anfänger. Aber daß man ein Fileobjekt erst braucht, um damit ein Verzeichnis anzulegen, finde ich nicht einleuchtend, sondern hätte tatsächlich eine statische Methode erwartet | File.mkdir ("/home/stefan/foobar");
|
Die wichtigsten Apis lernt man kennen, in dem man ein Einsteigerbuch wie dies: http://www.javabuch.de/ von vorne bis hinten durcharbeitet.
|
nille
Anmeldungsdatum: 16. August 2007
Beiträge: 792
|
Also wenn du mit Java anfangen willst kann ich immer die Produkte von Video2Brain empfehlen aber diese Kosten Geld. Jetzt Lerne ich Java 5 Jetzt Lerne ich Java 6 Java 6 Und als einstieg in Java EE5 Java EE5 Alternativ Gibt es da auch noch was Kostenloses aber über die Qualität kann ich leider nichts sagen.
http://www.mobilinga.com/Java_Videos/
|
Greebo
Anmeldungsdatum: 21. November 2006
Beiträge: 3443
Wohnort: 97070 Würzburg
|
Nen gutes Buch tuts auch, wie zB. in der FAQ von d.c.l.j empfohlen zB. Java ist auch eine Insel oder Handbuch der Java-Programmierung. Ansonsten gibts direkt von sun noch diverse teilweise recht gute Trails zu den einzelnen Spezialthemen. Von der Jetzt lerne ich Reihe halte ich persönlich nichts, ohne die Java-Variante zu kennen. Wenn sich da nicht 100% was getan hat, wird da zum nachtippen ohne Wissensvermittlung animiert, und das meist noch grob falsch.
|
nille
Anmeldungsdatum: 16. August 2007
Beiträge: 792
|
Greebo schrieb: Nen gutes Buch tuts auch, wie zB. in der FAQ von d.c.l.j empfohlen zB. Java ist auch eine Insel oder Handbuch der Java-Programmierung. Ansonsten gibts direkt von sun noch diverse teilweise recht gute Trails zu den einzelnen Spezialthemen.
Sicher ist ein Buch besser aber für die Grund Dinge finde ich die Video Workshops gar nicht schlecht.
Von der Jetzt lerne ich Reihe halte ich persönlich nichts, ohne die Java-Variante zu kennen. Wenn sich da nicht 100% was getan hat, wird da zum nachtippen ohne Wissensvermittlung animiert, und das meist noch grob falsch.
Welche Produkte du dir von den Angeschaut hast weiß ich Leider nicht. Aber die Java Reihe fand ich sehr gut und sie vermittelt einem gut das Grundwissen. Wenn man nur abschreibt Lernt man nichts das ist Klar. Aber das Trifft auch auf ein Buch zu. Wenn ich es nur überfliege bleibt auch nichts hängen.
|
ale_89
(Themenstarter)
Anmeldungsdatum: 10. Januar 2008
Beiträge: 197
|
erstmal vielen dank für die ganzen links und tipps ☺ jeah hier noch ein paar ergänzungen von mir : ich habe mich für diesen java-kurs entschieden ... bis jetzt super - also wer sonst noch anfangen will nur zu 😉 http://www.gailer-net.de/tutorials/java/java-toc.html videos für den einstieg gibs hier tolle (in englisch - aber der typ is echt cool) http://www.javaomatic.com/ (leider kommt scheints nix neues nach - ne antwort auf ne mail gabs auch nich) na dann ... des wird den sommer schon noch was - nachm abi werde ich mich mal richtig rein hängen
|