Look and Feel



  • Hallo,

    ich habe vor privat ein kleines Projekt zu starten. Jetzt habe ich mich schon etwas länger mit diversen dingen beschäftigt wie Sequenzdiagrammen etc. Das steht alles soweit.

    Jetzt möchte ich mich um das zukünftige Design im kümmern. vom Look and Feel her gefällt mir "eMule" oder "Overnet" ganz gut. So in der Art möchte ich es auch aussehen lassen.

    Wie stelle ich es an das meine Oberfläche nicht so "Windows-Standard-like" aussieht sondern etwas feiner?

    Ich programmiere mit C++ und überlege ob ich die MFC nehme. Allerdings bin ich auch heiß auf etwas Platform-unabhängiges. Wäre Java da gut für? Wobei ich ja gerne bei C++ bleiben würde..

    Danke für Hinweise!
    Christian



  • Java stellt Dir da keine Steine in den Weg. Das komplette Look&Feel von allen Komponenten läßt sich über sogenannte Themes steuern. Davon gibt es auch ziemlich viele kostenlos im Netz. Brauchst Dich nur im Java-Forum mal melden, wenn es soweit ist.



  • Original erstellt von CengizS:
    Java stellt Dir da keine Steine in den Weg. Das komplette Look&Feel von allen Komponenten läßt sich über sogenannte Themes steuern. Davon gibt es auch ziemlich viele kostenlos im Netz. Brauchst Dich nur im Java-Forum mal melden, wenn es soweit ist.

    Das hört sich wirklich prima an. Wie ist denn der Schritt als C++ Programmierer ein ganzes Projekt in Java zu schrebien? Es macht nämlich meiner Meinung nach keinen Sinn wenn ich eine komplette Sprache neu lernen muss, nur um mein Look and Feel schöner zu machen.

    Wie Du siehst, ich habe überhaupt keine Ahnung von Java. Wäre lieb wenn Du mir die Angst vor dem Schritt nehmen würdest eine neue Sprache zu nehmen .. 😉

    Interessieren tut es mich nämlich schon mal ein Java-Projekt zu machen!
    Danke schonmal ..
    christian



  • Hallo,
    wenn du bei C++ bleiben willst, würde ich mir mal die Qt anschauen. Die ist zwar nicht platformunabhängig, läuft aber auf vielen verschiedenen Systemen.



  • Original erstellt von HumeSikkins:
    Hallo,
    wenn du bei C++ bleiben willst, würde ich mir mal die Qt anschauen. Die ist zwar nicht platformunabhängig, läuft aber auf vielen verschiedenen Systemen.

    Oh! Das sieht auf den ersten Blick sehr sehr interessant aus.. Dazu habe ich jetzt direkt viele Fragen. Ich lese aber erstmal die Dokumentation durch. Vielleicht klären sich ja die Fragen.. Ansonsten löcher ich Dich oder jemand anders heute noch 😉

    Danke für den Tipp!
    Christian



  • Du kannst die selbe Syntax verwenden wie in C++ auch. Nur das Vererben von Klassen sieht ein wenig anders aus. Hauptsächlich betreffen die Änderungen die Schlüsselwörter bzw. die Tatsache, dass jedes Objekt von einer allgemeinen Vaterklasse (Object) abgeleitet ist. Auch die main-Funktion muss in einer Klasse definiert sein. Ansonsten: Parameterübergabe (wenn es sich nicht um primitive Datentypen [int, float, char] handelt) ausschließlich by reference. Keine Pointer. Keine explizite Freigabe von Speicher, (noch) keine Templates, keine Mehrfachvererbung dafür Interface-Mechanismus. Die Entwicklung von GUIs unter Java stellt sich deutlich einfacher dar ABER keine Erzeugung von Native-Code sondern Byte-Code.



  • Original erstellt von HumeSikkins:
    **
    wenn du bei C++ bleiben willst, würde ich mir mal die Qt anschauen. Die ist zwar nicht platformunabhängig, läuft aber auf vielen verschiedenen Systemen.**

    Weißt du zufällig, wie ich unter Windows mit Qt (unter Dev-C++) arbeiten kann?



  • Original erstellt von CengizS:
    Die Entwicklung von GUIs unter Java stellt sich deutlich einfacher dar ABER keine Erzeugung von Native-Code sondern Byte-Code.

    Naja, das unterschreibe ich Dir so auch nicht - das hängt nämlich ganz wesentlich von der GUI-Lib ab.



  • Weißt du zufällig, wie ich unter Windows mit Qt (unter Dev-C++) arbeiten kann?

    Das gleiche Problem hatte ich auch mal, es geht nicht mit der freien Version von QT. Die kannst du nur mit Visual C++ 6 benutzen. Schade eigentlich.



  • Hallo zusammen,

    ich habe jetzt mal QT überflogen. Es ist im grundegenommen genau das was ich gesucht habe. Es ist Platformunabhängig, für C++ und man kann die Oberfläche sehr gut aussehen lassen.

    Ich habe mir jetzt das QT-Designer Tool (das den MSVC6 voraussetzt) heruntergeladen und installiert. Ich kann auch fein mein Design erstellen (übrigens sehr Benutzerfreundlich!). Wie kann ich nun den eigentlichen Code der hinter den Schaltflächen etc. liegt bearbeiten? Wahrscheinlich steht das aber auch in der FAQ oder so, ich schau mal.. Ansonsten denke ich werde ich es mit QT versuchen.

    Ich hoffe ich kann hier später auch noch Fragen dazu stellen 😉

    Danke für eure Hilfe!
    Christian



  • Original erstellt von <Christian>:
    ... Es ist Platformunabhängig ...

    Damit meinte ich mehr oder weniger Platformunabhängig 😉
    Sprich Linux, Windows, Mac



  • Du meinst es hängt von der GUI-Lib ab, die für C++ angeboten wird, richtig? Ja das mag natürlich sein aber wenn man mal nur die Standard GUI-Libs ansieht (AWT, Swing, Win32SDK, MFC) dann sehe ich schon eine Vereinfachung auf Seiten von Java. Ich möcht nur mal an einen Thread im MFC-Forum erinnern (URL hab ich leider nicht mehr gefunden), bei dem es um die Textfarbe auf einem Button ging ... was man da nicht alles machen muss nur um Text statt schwarz eben rot darstellen zu lassen - unglaublich! BCB ist in dieser Hinsicht ja sogar noch ein Engel - da haben die Komponenten ähnlich wie in Swing Eigenschaften, die man einfach so setzen kann 🙂



  • Win32-API scheidet ohnehin aus, da eigentlich keine C++-Schnittstelle.

    MFC entspricht vom Leistungsumfang AWT irgendwas Version 1.0 - wenn Du aber die VCL dagegen setzt, sieht das doch deutlich anders aus. Die MFC ist ohne grundlegende Überarbeitung jetzt seit 4 Jahren draußen, das setzt Staub an. Eine moderne Oberfläche in einem Design wie Outlook oder XP-Look mit MFC ist was für Masochisten und kaum möglich.



  • Original erstellt von Marc++us:
    Eine moderne Oberfläche in einem Design wie Outlook oder XP-Look mit MFC ist was für Masochisten und kaum möglich.

    Womit wird es denn sonst gemacht? .NET? Oder QT?



  • Tja da haben die MS-Leute offensichtlich gepennt. Anstatt sich auf Bereiche auszudehnen, die ohnehin schon von anderen "belagert" sind sollte man lieber die eigenen Konzepte und Realisationen konsolidieren und gucken was der Markt tatsächlich so alles braucht.



  • Original erstellt von <Christian>:
    Womit wird es denn sonst gemacht? .NET? Oder QT?

    Z.B. mit WTL, wohl auch kaum mit QT. .NET auch nicht, oder brauchst Du für Deine Programme bereits die .NET-Runtime?

    Die meisten Firmen haben sich dafür inzwischen ihre eigenen Klassenlibs gebaut, die die WinAPI kapseln. Oder nehmen WinAPI direkt. Oder kaufen sich ActiveX-Controls zusammen.



  • Ich bin ja der Meinung, das das OS das Look and Feel vorgeben sollte. Ich rege mich immer tierisch über Programme auf, die *meine* Einstellungen, die ich so im System hinterlegt habe einfach ignorieren, nur weil ein Programmierer meint, das *sein* Look and Feel mir besser gefällt.

    Gerade mit den Themes unter Windows und Linux kann der User sich doch alles genauso einstellen, wie er's am besten findet. Also wozu was eigenes Bauen? Weil's Cooler ist? Geht IMHO voll am User vorbei.

    Zum Thema Plattformunabhängig in C++. Hat schon jemand mit wxWindows gearbeitet (www.wxwindows.org)? Ich bin am überlegen, das für mein nächstes Projekt (Windows und Linux) einzusetzen, und vom ersten Anlesen der Doku klingt es eigentlich recht vielversprechend.



  • Hallo,

    @Cengizs
    Kannst Du mir vielleicht mal einen Link zu einer Seite schicken auf der solche Themen für Java-Projekte dargestellt werden bzw. beschrieben werden wie sie angewendet werden? Wäre super! 🙂

    @Marc++us
    Interessant, kannte WTL bis vor kurzem garnicht 🙄

    Danke und Gruß,
    Christian





  • Original erstellt von CengizS:
    @Christian:
    Pluggable Look and Feel

    Prima! Dank Dir 😉


Anmelden zum Antworten