Beiträge von mickdermack

    Wirklich nicht schlecht, aber es ist meiner Meinung nach nicht gerade "Best Practice", ein Passwort zu escapen, das anschließend mit MD5 gehasht wird.

    Außerdem ist, wenn ich das richtig verstanden habe (hatte jetzt weder Zeit noch Lust, es zu testen), in den Save-Funktionen in der Theorie eine SQL-Injection möglich, da der Username unescapt aus der Datenbank geholt wird (wie er auch sollte), aber bei den Save-Funktionen nicht escapt wird.

    Nein, weil es kein Konstruktor ist. Die Main-Methode wird nur aufgerufen, wenn die jeweilige Klasse als Main-Klasse "ausgeführt" wird.

    Außerdem ist es, glaube ich, nicht empfehlenswert, das Look and Feel im Konstruktor des Frames zu setzen, da da evtl. schon Dinge initialisiert wurden, die so das Standard Look and Feel verwenden würden.

    Netbeans generiert bei JFrame Forms eine Main-Methode, die das Look'n'Feel setzt.

    Aus der Main-Methode der Frame-Klasse:

    Dadurch das meine Form nicht die die Hauptklasse ist
    wird mir die Form nicht angezeigt. Ich muss explizit aus
    der Hauptklasse meine Form sichtbar machen.


    Das hat damit nichts zu tun. Die Hauptklasse muss, ob es jetzt die Frame-Klasse ist, oder eine andere, das Frame sichtbar machen. Nur um die Thread(un)sicherheit von Swing ging es mir hier.

    Was macht eigentlich der LiveZilla-Code über dem DOCTYPE?
    Der sagt ja extra noch, dass man ihn in den Body reintun soll:

    HTML
    <!-- LiveZilla Chat Button Link Code (ALWAYS PLACE IN BODY ELEMENT) -->


    (Ganz abgesehen davon, dass es gegen Standards verstößt, den außerhalb von Head oder Body zu platzieren)

    Eine weitere Sache:
    In dem LiveZilla-Code werden http://-URLs verwendet, auch wenn man die Website über HTTPS aufruft, das führt dazu, dass die meisten Browser der Site die Verschlüsselung "aberkennen" (wie z.B. Firefox, der statt einem Schloss die für unverschlüsselte Übertragungen verwendete Weltkugel anzeigt, und wenn man draufklickt auch darauf hinweist, dass die Verbindung nur teilweise verschlüsselt, und nicht gegen Abhören gesichert ist), da damit Requests zum Support-Vhost über unverschlüssteltes HTTP geschickt werden. Einen Versuch wäre es wert, die URLs von http:// auf https:// oder einfach nur // zu ändern, da bei https:// (logischerweise) immer HTTPS verwendet wird, und bei // das Protokoll, über das die Haupt-Site geladen wurde.

    Vom Programmiertechnischen her:

    Java
    mainFrame.setVisible(true);

    Eigentlich dürfen Aufrufe in den SWING-Bereich hinein nicht aus anderen Threads erfolgen als aus dem Event-Dispatcher-Thread. java.awt.EventQueue.invokeLater(Runnable) wäre das Mittel der Wahl. Netbeans generiert auch ein Beispiel von so etwas zu jedem JFrame Form:

    Java
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new C_Frame().setVisible(true);
        }
    });
    Java
    mainFrame.setTitle("Movie Renamer");

    Ich glaub der Form-Editor von Netbeans ist dazu da, benutzt zu werden... So hat ein JFrame Form auch ein Property "title".

    Java
    public static String getExtensionFromFile(String filePath) {
        return filePath.substring(filePath.length() - 4, filePath.length());
    }

    Nein, das ist nicht die Erweiterung. Die Erweiterung ist der Teil nach dem letzten Punkt im Dateinamen, was nicht notwendigerweise die letzten 3 Zeichen sind. Wenn man nur 3 Zeichen lange Erweiterungen hat, ok.... Ganz abgesehen davon könnte man sich das ", filePath.length()" sparen, da es eine Überladung der Methode mit nur dem startIndex als Parameter gibt, wo sich der resultierende String über den gesamten restlichen String erstreckt.

    Java
    Array.getLength(files)

    Und Shape hat einen Ausflug in die Reflection gemacht, oder so...
    Spaß beiseite, ein simples

    Java
    files.length

    reicht nicht?

    Java
    if (oldFile.renameTo(newFile))
            return true;
        else
            return false;

    Lässt sich zu

    Java
    return oldFile.renameTo(newFile)

    vereinfachen, was in meinen Augen auch etwas schöner ist.

    Java
    System.out.println("nachricht");

    könnte man durch

    Java
    JOptionPane.showMessageDialog(this, "nachricht");

    ersetzen, sodass der Durchschnittsuser die Nachrichten zu Gesicht bekommt, auch wenn er es nicht in der Konsole ausführt.

    Erstens ist das der alte Fehler, zweitens funktioniert der Teil, den du gepostet hast, bis darauf, dass man noch den Text anhängen könnte, sonst sieht man zwar, dass derjenige Werbung machen wollte, aber nicht, was er geschrieben hat.

    So wie:

    Lua
    outputChatBox("[Werbung] von "..getPlayerName(thePlayer)..": [HANDY: "..nummer.." ] "..text, getRootElement(), 100, 255, 100)

    Der Player heißt nach wie vor thePlayer, nicht "source"

    Lua
    local nummer = getElementData(source, "pHandynummer")
        -- und
        outputChatBox("[Werbung] von "..getPlayerName(source)..": [HANDY: "..nummer.." ]", getRootElement(), 100, 255, 100)


    sollten zu

    Lua
    local nummer = getElementData(thePlayer, "pHandynummer")
        -- und
        outputChatBox("[Werbung] von "..getPlayerName(thePlayer)..": [HANDY: "..nummer.." ]", getRootElement(), 100, 255, 100)


    werden.

    Code
    <file src="images\loginbutton.png" />

    und

    Lua
    gButtons["Einloggen"] = guiCreateStaticImage(0.03, 0.79, 0.91, 0.14, "images\loginbutton.png", true, LoginWindow)


    werden zu

    Code
    <file src="images/loginbutton.png" />

    und

    Lua
    gButtons["Einloggen"] = guiCreateStaticImage(0.03, 0.79, 0.91, 0.14, "images/loginbutton.png", true, LoginWindow)