Beiträge von java-girl

    Bitte das Code-Tag verwenden!

    Nur das Result-Set ändern müsste natürlich funktionieren.
    Blöde Frage aber willst du wirklich nur das ResultSet ändern oder gleich etwas in der DB ändern? Weil dann müsste man ja meines Wissens ein Query ausführen, oder täusche ich mich da?

    Bitte verwende das Code-Tag.

    Das Ganze ist ein klassisches Model/View - Problem. In deinem Fall ist das ResultSet das Model und das GUI die View.
    Du solltest dir für das ResultSet und sonstige SQL-Sachen ein eigenes Objekt anlegen, welches diese Sachen verwaltet. In dieser Klasse, nennen wir sie einfach einmal SQLModel, gibt es die Möglichkeit, sich mit einem Listener zu registrieren. Das TableModel registriert sich also beim SQLModel und sobald sich das ResultSet ändert, schickt das SQLModel eine Notifikation weg. Erhält das TableModel dann solch eine Notifikation, sendet es selbst Notifikationen an seine registrierten TableModelListener.
    Dieses Konzept funktioniert einwandfrei und ist eine effiziente und elegante Lösung.
    Wie es dann im Detail bei dir aussieht, ist dir selbst überlassen, aber mit diesem Mechanismus funktioniert es garantiert :)
    Lg.
    java-girl


    Habe nix gegen Vorschläge oder sonst etwas, aber man kann das auch ein wenig anders formulieren. So wie die anderen es hier machen.

    Dann sag mir mal, wo ich dich bitte angegriffen hätte.
    Außerdem solltest du damit lernen, mit Kritik umzugehen. Und nachdem ich dir eine konstruktive Kritik gegeben habe, glaube ich brauchst du dich nicht angegriffen zu fühlen. Wenn es zu hart geklungen hat, dann tuts mir leid. Aber ich glaube eher es liegt daran, dass es zu viel auf einmal war...
    Aber was soll ich tun, soll ich dein Programm loben? Ich war ja nur ehrlich...

    Hab eh deine ganze Antwort durchgelesen.. Aber bei dem einen Punkt haben die Finger so gekitzelt und ich hab nicht widerstehen können, meinen dummen Senf dazuzugeben.. also nicht böse sein :engel:

    Zum Programm selber.. Kann mich nur anschließen.. beschränke dich auf EINE Sprache.. und auch wenn es jetzt hart klingt, aber das Programm ist in der jetzigen Form nutzlos und total buggy..

    *gg* OK, dir sei verziehen ;)

    Und besser hätte ich es nicht sagen können *g*

    Wenn schon, dann bitte meine ganze Antwort durchlesen, denn da heißt es

    Zitat

    Außerdem, wer würde schon eine .jar-Datei erstellen außer einem Programmierer? Ich würde nicht davon ausgehen, dass Programmierer DAUs sind...

    Zitat

    -J Developer Kit muss installiert sein

    -Umgebungsvariablen müssen vorher festgelegt sein
    Bsp-> JAVA_HOME Wert-> C:\Programme\Java
    -> PATH Wert-> C:\Programme\Java\jdk<Version>\bin

    -Ihre Klasse, wo die MAIN drin ist, darf kein Package erstellen
    -Die Klassen Ihres Projekts müssen im Hauptverzeichnis C:\... abgelegt sein

    1. heißt das Java Developement Kit
    2. nix gut Deutsch; was heißt das? Heißt dass das die Klasse nicht in einem Package drinnen sein darf? Falls du es nicht weißt, jeder halbwegs erfahrene Java-Programmierer wird seine Klassen auf ALLE FÄLLE in Packages geben...
    3. Die Klassen müssen alle auf C:\ sein?

    Also ehrlich, einmal abgesehen davon dass dieses Programm schlecht programmiert ist, wem bringts was?
    Da ist es sinnvoller eine Batch- oder Shell-Skript zu schreiben! Da ist mehr Funktionalität enthalten...
    Außerdem, wer würde schon eine .jar-Datei erstellen außer einem Programmierer? Ich würde nicht davon ausgehen, dass Programmierer DAUs sind...
    Dann, was bringt mir bitte ein Java-Programm dass eh nur auf Windows läuft? Da ist eben wie gesagt eine Batch-Datei sogar besser!
    Das Programm hat auch ein paar Bugs: wenn ich den Dialog öffne, um eine Datei zu suchen, und dann während ich im Dialog bin in ein anderes Fenster klicke, dann anschließend das Programm wieder öffne, bin ich auf einmal auf dem Hauptframe der blockiert ist. Dann kann man alle Fenster wieder minimieren und nach dem Dialog suchen.
    Wenn man das erste Mal auf den Button für die Angabe der Mainklasse klickt, steht im Textfeld zuerst nur einmal der Satz, bei jedem darauffolgenden Mal zwei Mal.
    Außerdem hättest du dir die Mühe machen können, das Textfeld nicht editierbar machen zu können, außer du findest es schön, dass man da was reintippen kann.
    Wieso hast du dich nicht für EINE Sprache entschieden?
    Und achte vielleicht darauf, dass im Programm selbst und in der read me Datei keine grammatikalischen, Tipp- oder Rechtschreibfehler drinnen sind! Und wenn schon dann nicht so viele auf einmal!
    Ah ja, und was ist eine Main-Klasse ohne Extension? Wenn du den vollqualifizierten Namen meinst, dann schreib es auch so hin sonst kennt sich keiner aus...
    Mfg.
    java-girl

    PS: Mit Eclipse kann man auch .jar-Dateien generieren, dass könntest du dir als Beispiel nehmen...

    Danke für deine Antwort!
    Aber jetzt bin ich doch noch selbst draufgekommen!
    Folgendes:
    In meinem TreeModel sah es bisher so aus:

    Code
    public void fireChangeEvent(TreeModelEvent evt){
    	for(TreeModelListener l : listeners){
    		l.treeNodeChanged(evt);
    	}
    }

    Jetzt schaut es so aus:

    Code
    public void fireChangeEvent(TreeModelEvent evt){
    	for(TreeModelListener l : listeners){
    		l.treeStructureChanged(evt);
    	}
    }

    Und das geht. :)
    Trotzdem vielen Dank!

    Hallo allerseits,
    zum besseren Verständnis meines Problems habe ich einen Screenshot angehängt.
    Es ist also folgendes: ich habe diesen JTree, dessen Model ich selbst geschrieben habe.
    Der Baum sieht so aus wie er aussehen soll, es funktioniert alles...
    Allerdings, wenn ich bei den Blättern (nur bei den Blättern, bei der Wurzel funktioniert es!) etwas ändere, ändert sich die Breite des jeweiligen Blattes nicht. Stattdessen sieht es so aus wie auf dem Bild. Selbst wenn ich das Fenster größer ziehe, steht immer noch Martina Hu.... dort.
    Ahja, der Original-Wert in dem Blatt war "Maria Huber". Das wurde noch ganz angezeigt. D.h. also, die Größe ist am Anfang genau richtig, und nach einer Änderung bleibt sie leider gleich!

    Code
    JFrame f = new JFrame("Pedigree");
    Container c = f.getContentPane();
    //treem ist ein Objekt meines selbstgeschriebenen TreeModels
    JTree tree = new JTree(treem);
    tree.setEditable(true);
    c.setLayout(new BorderLayout());
    c.add(new JScrollPane(tree), BorderLayout.CENTER);
    f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    f.pack();
    f.setVisible(true);

    Wenn ich die ScrollBar weggebe oder versuche, die Preferred Size vom JTree zu setzen, ändert sich nichts.
    Hat jemand von euch eine Ahnung, woran das liegen kann?
    Kann das wirklich an meinem selbstgeschriebenen TreeModel liegen? Ich möchte einstweil mal diesen Code nicht posten, der ist relativ lange...

    Mfg.
    java-girl

    Hi,
    bin mal gespannt ob ein paar von euch J2ME mächtig sind.
    Ich hab ein Problem:
    Ich möchte gerne den Tastendruck abfangen, aber nicht von den Zahlen - Tasten sondern von denen oben (...) falls ihr versteht was ich meine.
    In der Klasse Canvas sind Konstanten definiert für die Tasten 1-9 usw., aber nicht für die anderen.
    Hat jemand eine Ahnung wie das geht?

    Mfg.
    java-girl

    Ich kenn mich wegen Sicherheit nicht so gut aus, aber falls du SMF nicht kennst (ich nehme aber mal an, du kennst es) würde ich mir das anschauen.
    SMF sind PHPbb zwar sehr ähnlich und haben vielleicht zu viel Funktionalität, aber ich finde sie sind viel besser. Leicht zu installieren waren sie auch.
    Aber wie gesagt, ich hab keinen blaßen Schimmer wie das mit der Sicherheit aussieht.

    So, jetzt muss ich mich einmal entschuldigen.
    Ich war vollkommen auf dem falschen Dampfer und ehrlich gesagt weiß ich nicht was es da haben kann. Sorry für die Verwirrung die ich gestiftet hab!!!
    Eigentlich müsste es wirklich gehen....

    Also für mich ist das klar.
    Es geht nicht darum was du gerade beschrieben hast, es geht, wie gesagt darum, dass zwar der dynamische Typ in diesem Fall ein L ist, aber dass kann man zu diesem Zeitpunkt nicht wissen!
    Wenn du schreiben würdest

    Code
    AbstractCollection v = createObject(list.getClass());


    Dann würde es gehen...

    Verständlich?
    Die ganze Sache ist etwas verwirrend finde ich *g*