Explorerähnliches Applet realisieren

Status
Nicht offen für weitere Antworten.

studentzlive

Mitglied
Hallo Forum,

ich möchte eine neues Applet schreiben und brauche noch ein paar Tipps, wie ich das am besten angehe. Ich hab leider selbst keine große Erfahrung mit Java, habe aber schon Erfahrung mit C++ und PHP/MySQL etc. Also OOP ist gelaeufig, nur die Umsetzung in Java eben noch nicht ganz so. Nun gibt es die FAQ, Bücher und vorhandene Beiträge, die ich schon durchgearbeitet habe. Leider gibt es wenig zu Applets im konkreten und wollte da auf vorhandenes Wissen der Profis zurueckgreifen. Bin selbst Student und eigentlich nicht schwer von Begriff :wink:

Was das Applet koennen soll:

ich habe mir eine GUI ähnlich des Windows-Explorer vorgestellt. Rechts einen Menue-Baum, der per XML ein- und ausgelagert werden soll und rechts daneben zu jedem Knotenpunkt ein Tabbed-Info (mehrere Tabs (Reiter)) wo man Werte eintragen/auslesen/per Slider veraendern kann undsoweiter... Sobald sich ein Wert ändert, sollen die benachbarten Knotenpunkte aktualisiert werden und dann veraendern sich auch die Vaterknoten, die evtl auch wieder benachbarte Knoten haben könnten (Rekursion).

Wie fange ich sowas am besten an (BottomUp oder TopDown)? Kann ich vorhandene Klassen verwenden und wie sehen die aus? Kann man sowas dann anpassen?

Ich dachte mir folgendes:

- XML -> SAX ein und auslesen des Menuebaumes
- Der Baum - ein JTree
- Die Reiter - JTabbed
- Die Berechnung per Rekursion

Da ich wie gesagt in Java noch ein wenig grün bin bräuchte ich ein paar Anfängertipps, die man immer gern falsch macht. Packages und Klassenimport, Objekteinteilung und die Grafische Sache (Swing)? Eine einzelne JAVA-Datei erstellen oder auf viele verteilen?

Viele Grüße,
studentzlive
 

L-ectron-X

Gesperrter Benutzer
Für ein solches Applet musst Du zwangsläufig mit Swing arbeiten, weil es mächtiger ist und somit die benötigten GUI-Komponenten bereitstellt.
Die Applet-Klasse muss also von javax.swing.JApplet abgeleitet werden.
Ich denke, dass es am besten ist, wenn Du mit er Erstellung der GUI anfängst.
Packages? Kann man durchaus machen, bei der Größe Deines Projektes scheint es auch angebracht. Wenn es weiter wachsen soll/wird, wird das hilfreich sein.
Schreibe auf jeden Fall für jede Klasse eine eigene java-Datei, so bleibts übersichtlich.
Der Zugriff auf die Datei- und Verzeichnisebene gestaltet sich unter Applets im Allgemeinen etwas schwierig, weil u.U. die benötigten Rechte dazu fehlen. Aber auch ein solcher Zugriff lässt sich durchaus realisieren.
 

studentzlive

Mitglied
Gut.

Ich hab' mir das angekuckt. Nur um "Missverständnisse" zu vermeiden. Das Applet soll nur optisch so ähnlich aussehen wie der Windows-Explorer. Die Funktion ist eine andere. Es sollen Gewichtungen an den Einzelnen Knoten haengen und diese dann miteinander (Nachbarknoten) verglichen werden.

So einen Baum habe ich nun schon mit kleiner Hilfe aus einem Tutorial zur Anzeige gebracht.
baum.jpg

Nun möchte ich noch einen JTabbedPane (?) daneben um für jeden diese Knoten (wenn sie jetzt auch erstmal Statisch angelegt werden und nicht aus einer XML kommen) einen oder zwei Tabs (z.B. | Info \ Werte \ ) angeben kann. Das habe ich bis jetzt noch nicht hinbekommen.

hier ein kleiner Codeschnipsel aus der "noch" Applikation:
Code:
for(int childIndex=1; childIndex<10; childIndex++) {
      child = new DefaultMutableTreeNode("Vater " + childIndex);
      root.add(child);
      for(int grandChildIndex=1; grandChildIndex<10; grandChildIndex++) {
        grandChild =
          new DefaultMutableTreeNode("Kind " + childIndex +
                                     "." + grandChildIndex);
        child.add(grandChild);
      }
    }

Außerdem sollen nun noch Buttons unter den Baum (Laden/Speichern). Ich habe hier das BorderLayout genommen, aber das scheint wohl nicht das richtige fuer die schoene Anordnung von Buttons etc. zu sein. Zur Zeit ist es noch eine Applikation, die JFrame erweitert. Der Tipp mit JApplet ist gut, aber ich bekomm's nicht zum laufen. Immer hat der Compiler was zu meckern :?

Viele Grüße,
studentzlive
 

AlArenal

Top Contributor
Du wirst für den Tree ein eigenes TreeModel benutzen müssen. Als Elemente für den Tree benutzt du am besten eine eigene Klasse, deren Instanzen du im TreeModel als Rückgabewert benutzt. Diese Klasse lässt du die Methode toString() überschreiben, deren Rückgabewert dann als String für die Darstellung im Tree verwendet wird.

Als nächstes bekommt der Tree von dir einen neuen ActionListener verpasst. Immer wenn da was angeklickt (MouseEvent "mouseReleased") wird, ruft der dann eine Methode (die du noch schreiben musst) auf und übergibt an diese die Instanz des angeklickten Objekts aus dem TreeModel. Diese Methode ist dann dafür zuständig auf der rechten Seite das von dir noch zu sschaffende GUI mit den Daten aus dem übergebenen Objekt zu füllen.

La voilá!

P.S.:
Warum soll das Ganze denn ein Applet werden?
 

studentzlive

Mitglied
AlArenal hat gesagt.:
Du wirst für den Tree ein eigenes TreeModel benutzen müssen. Als Elemente für den Tree benutzt du am besten eine eigene Klasse, deren Instanzen du im TreeModel als Rückgabewert benutzt. Diese Klasse lässt du die Methode toString() überschreiben, deren Rückgabewert dann als String für die Darstellung im Tree verwendet wird.
Ja. Klingt gut. :) Hier leider fehlen mir paar Java (Syntax) Kenntnisse.

ich wuerde es folgendermassen interpretieren:
Code:
public class myTreeModel {
     string name;
     long int id;
     string children[];
     // ...
     
     // ein Paar Methoden mit return myTreeModel(?) bzw. return this

     public toString(){
         return name;
     }
}

AlArenal hat gesagt.:
Als nächstes bekommt der Tree von dir einen neuen ActionListener verpasst. Immer wenn da was angeklickt (MouseEvent "mouseReleased") wird, ruft der dann eine Methode (die du noch schreiben musst) auf und übergibt an diese die Instanz des angeklickten Objekts aus dem TreeModel. Diese Methode ist dann dafür zuständig auf der rechten Seite das von dir noch zu sschaffende GUI mit den Daten aus dem übergebenen Objekt zu füllen.
Ja genau das meinte ich. So solls mal werden. Vielen Dank fuer die ausführliche Beschreibung.

AlArenal hat gesagt.:
P.S.:
Warum soll das Ganze denn ein Applet werden?

Das ganze soll dann im Browser für bestimmte Leute laufen, die dann nur eine URL bekommen und dann sich was ausrechnen lassen koennen. Bis das aber alles fertig ist, dauerts wahrscheinlich noch ein Weilchen :wink:

Viele Gruesse, studentzlive
 

AlArenal

Top Contributor
Ähm nein.. hm.. ich versuche es zu verdeutlichen:

Sagen wir mal die willst in deinem Tree Personendaten haben und im Tree sollen diese mit Namen angezeigt werden. In dem Fall würdest du eine Klasse Person erstellen, die hätte dann die toString()-Methode, die den Namen so liefert, wie er angezeigt werden soll. Ansonsten sind halt alle personenbezogenen Daten in dieser Klasse und irgendwo hast du nene Vector oder ne HashMap oder so, wo du für jede Person eine Instanz deiner Klasse drinhast.

Das TreeModel ist die Datenbasis für einen JTree. Dazu musste dir hier im Forum mal die HowTos/Tutorials anschauen.

Code:
public class Person{
    private String nachname;
    private String vorname;

...

    public String toString() {
        return nachname + ", " + vorname;
    }
}

public class PersonTreeModel
    implements TreeModel {
    // hier kommen die Personen rein
    private Vector persons = new Vector();

    // Konstruktor, dem die ganzen Personen als Vector übergeben werden
    public PersonTreeModel(Vector data) {
        // Kopie vom Vector nutzen, anstatt Referenz
        persons = data.clone();
    }

...

}
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Applet: com.sun.deploy.security.BlockedException :-( Tools - Maven, Gradle, Ant & mehr 0
M Applet Applet legt Browser lahm Tools - Maven, Gradle, Ant & mehr 3
J Applet Aus anderer Browserinstanz Applet abfragen Tools - Maven, Gradle, Ant & mehr 2
P Linux Applet/Webstart Schriftunterschiede Tools - Maven, Gradle, Ant & mehr 3
E JMol -Applet Einbindung Tools - Maven, Gradle, Ant & mehr 0
T Applet Applet und IText wirft Incompatible magic value 1008813135 Fehler Tools - Maven, Gradle, Ant & mehr 6
P Applet Java Applet läuft im Browser nicht mehr (HTTPClient - NoClassDefFoundError) Tools - Maven, Gradle, Ant & mehr 3
P Applet Applet Signatur auf Server mit SSL-Zertifikat? Tools - Maven, Gradle, Ant & mehr 7
H Applet Applet wird nicht angezeigt Tools - Maven, Gradle, Ant & mehr 2
M Applet Applet funktioniert in Google Chrome nicht Tools - Maven, Gradle, Ant & mehr 2
O Applet "Anwendung kann nicht ausgeführt werden" Tools - Maven, Gradle, Ant & mehr 6
Q Applet Fehlermeldung bei Applet-Wechsel Tools - Maven, Gradle, Ant & mehr 4
T Daten per POST-Methode aus Java-Applet nach php-Script senden Tools - Maven, Gradle, Ant & mehr 3
R Applet friert Adresszeile des Firefox ein Tools - Maven, Gradle, Ant & mehr 2
K Applet als Jar-Datei in HTML einbinden Tools - Maven, Gradle, Ant & mehr 14
H Applet-Fehlermeldung Tools - Maven, Gradle, Ant & mehr 10
H Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 3
Q Applet Applet läuft nicht im Browser Tools - Maven, Gradle, Ant & mehr 14
J Applet URL mittels TTS als Applet lesen lassen Tools - Maven, Gradle, Ant & mehr 40
F Applet verwischt, wenn Seite gescrollt wird Tools - Maven, Gradle, Ant & mehr 16
S Applet Applet mit C# öffnen: java.lang.SecurityException: Permission denied (WinXP) Tools - Maven, Gradle, Ant & mehr 8
J Applet-Quellcode einsehen Tools - Maven, Gradle, Ant & mehr 6
E Applet Applet und Datenbank Konzept Tools - Maven, Gradle, Ant & mehr 4
A Applet: Html Datei und Class Datei nicht im selben Verzeichnis Tools - Maven, Gradle, Ant & mehr 2
S Applet soll Textdatei von fremdem Server öffnen Tools - Maven, Gradle, Ant & mehr 8
E Java Applet bearbeiten Tools - Maven, Gradle, Ant & mehr 8
Quasar Wie signiere ich mein Applet richtig? Tools - Maven, Gradle, Ant & mehr 6
M mit Applet Javascript Aufrufen Tools - Maven, Gradle, Ant & mehr 2
S Applet and stop() method und gui blocked Tools - Maven, Gradle, Ant & mehr 4
A Applet Applet startet nach Einbinden auf Website nicht Tools - Maven, Gradle, Ant & mehr 4
A Applet, xxx.jar und hsqldb Tools - Maven, Gradle, Ant & mehr 4
T Webstart oder Applet Tools - Maven, Gradle, Ant & mehr 2
H Applet applet neu laden im browser Tools - Maven, Gradle, Ant & mehr 10
M Applet neustart Tools - Maven, Gradle, Ant & mehr 5
S Applet request unter Linux Tools - Maven, Gradle, Ant & mehr 14
S Applet GUI nicht im Webbrowser sichtbar Tools - Maven, Gradle, Ant & mehr 5
S Mittel Applet Datei an ein Webserver übertragen Tools - Maven, Gradle, Ant & mehr 2
M Applet in ClientServer J2EE Anwendung debugen Tools - Maven, Gradle, Ant & mehr 6
H Java Applet Problem beim einbinden in HTML Tools - Maven, Gradle, Ant & mehr 3
M Java3D Applet flackert wenn ein Button(HTML) gedrückt wird Tools - Maven, Gradle, Ant & mehr 11
S Policy mit Signiertem Applet verteilen Tools - Maven, Gradle, Ant & mehr 9
F Applet findet include nicht Tools - Maven, Gradle, Ant & mehr 15
L PHP + Java Applet Kommunikation Tools - Maven, Gradle, Ant & mehr 9
C Probleme mit Applet mit SQL im Browser Tools - Maven, Gradle, Ant & mehr 4
G Java-Applet Probleme beim Browser Tools - Maven, Gradle, Ant & mehr 14
G Textfile in Applet laden möglich? Tools - Maven, Gradle, Ant & mehr 2
A Java-Applet Sandbox deaktiviren? Tools - Maven, Gradle, Ant & mehr 2
B Java-Applet geht nicht (auf dem Webserver) Tools - Maven, Gradle, Ant & mehr 9
P Applet läuft nicht in Browser Tools - Maven, Gradle, Ant & mehr 21
V JAR-Datei eines (J)Applet funktioniert nicht - Help! Tools - Maven, Gradle, Ant & mehr 19
S Java Applet per Klick starten? Tools - Maven, Gradle, Ant & mehr 6
S Applet geht nicht Tools - Maven, Gradle, Ant & mehr 25
J Applet signieren Tools - Maven, Gradle, Ant & mehr 2
H Applet - Geschicklichkeitsspiel programmieren Tools - Maven, Gradle, Ant & mehr 16
U Jar funktioniert nicht als Applet Tools - Maven, Gradle, Ant & mehr 3
C Applet Frage Tools - Maven, Gradle, Ant & mehr 4
M Java Applet - enforce use of older JRE Tools - Maven, Gradle, Ant & mehr 3
N Wie Java-Programm zu Applet machen?! Tools - Maven, Gradle, Ant & mehr 2
W Webseite aus Applet öffnen Tools - Maven, Gradle, Ant & mehr 3
lumo Applet - resize Tools - Maven, Gradle, Ant & mehr 7
Icewind Applet reagiert nach neu laden der Webseite nicht mehr verlässlich auf KeyEvents Tools - Maven, Gradle, Ant & mehr 6
R Applet mit MySQL Tools - Maven, Gradle, Ant & mehr 3
A jar datei trotz zertifikat nich aus applet ausführbar Tools - Maven, Gradle, Ant & mehr 4
F Fehlende Applet Rechte Tools - Maven, Gradle, Ant & mehr 12
N [Applet] Button wir nach 5 secs Unsichtbar Tools - Maven, Gradle, Ant & mehr 2
N jar -> applet wie setzt man das am leichtesten um Tools - Maven, Gradle, Ant & mehr 7
V applet Java 1.6 -> 1.5 Problem ... wie mit Ant zu lösen? Tools - Maven, Gradle, Ant & mehr 7
F applet als JAR -> AccessControlException Tools - Maven, Gradle, Ant & mehr 3
grudge File in Applet laden Tools - Maven, Gradle, Ant & mehr 4
E Java Applet - Double Buffering Problem (Flackern) Tools - Maven, Gradle, Ant & mehr 6
R Applet mit bestimmter JRE ausführen Tools - Maven, Gradle, Ant & mehr 9
traysa Wie binde ich ein applet in eine jsp Tools - Maven, Gradle, Ant & mehr 3
D Mit dem Applet das DOM manipulieren? Tools - Maven, Gradle, Ant & mehr 3
ABstraCT Applet getCodeBase() Zugriff auf darüberliegendenden Ordner ? Tools - Maven, Gradle, Ant & mehr 1
S Java-Applet Steuerung IO Karte am Drucker-Port Tools - Maven, Gradle, Ant & mehr 4
P URL aus Applet öffnen? Tools - Maven, Gradle, Ant & mehr 7
ABstraCT Mit Applet in ne Datei auf seinem Server schreiben. Tools - Maven, Gradle, Ant & mehr 10
E Verzögerung beim Refresh (F5) mit einem Applet verursachen Tools - Maven, Gradle, Ant & mehr 16
deetee Applet Frage Tools - Maven, Gradle, Ant & mehr 2
S Fehler in einem Upload - Applet (nicht gelöst!!) Tools - Maven, Gradle, Ant & mehr 2
G Variable an zweites Applet übergeben Tools - Maven, Gradle, Ant & mehr 3
M Dringend: Sehr kompliziertes Applet Problem Tools - Maven, Gradle, Ant & mehr 4
O Javascript kommuniziert mit Applet? Tools - Maven, Gradle, Ant & mehr 2
H Spracherkennung mit Applet / Policy bzw. Security Fehler Tools - Maven, Gradle, Ant & mehr 2
zilti Nerviger Hinweis bei Applet- und WS-Fenstern - wieso? Tools - Maven, Gradle, Ant & mehr 3
S Datei-/Verzeichniszugriff von signiertem Applet Tools - Maven, Gradle, Ant & mehr 6
G Signiertes Applet installieren? Tools - Maven, Gradle, Ant & mehr 3
G Applet mit Parameter aus JavaScript Tools - Maven, Gradle, Ant & mehr 5
A Applet Maus Koordinaten ohne MouseMotionListener Tools - Maven, Gradle, Ant & mehr 3
K Applet in Eclipse funktioniert, im Browser nicht Tools - Maven, Gradle, Ant & mehr 7
T Applet soll Java Programm starten Tools - Maven, Gradle, Ant & mehr 2
S Applet pai.nt? Tools - Maven, Gradle, Ant & mehr 3
S Applet und File-Object? Tools - Maven, Gradle, Ant & mehr 9
T Applet soll Datei lesen (darf es aber nicht.) Tools - Maven, Gradle, Ant & mehr 3
P Java-Applet funktioniert unter WINXP nicht Tools - Maven, Gradle, Ant & mehr 2
N Java 1.6 Applet auf älteren Versionen ausführbar? Tools - Maven, Gradle, Ant & mehr 4
G Signiertes Applet prüfen? Tools - Maven, Gradle, Ant & mehr 3
H Problem mit einen Applet Tools - Maven, Gradle, Ant & mehr 5
J Java Applet bei mouseover mit Tooltip Tools - Maven, Gradle, Ant & mehr 3
G Applet Security Problem Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen

Neue Themen


Oben