Positionierung von Komponenten



  • Original erstellt von Nitromaus:
    also muss man alle elemnte in so ein contenPane reinmachen. Kannst mir des ein bissl erklären mit der ContnePanes und den Layouts? Warum is des überhaupt so komisch gelöst, könnte mann doch auch wie in C++ einfach per Pixel angaben machen?

    könnte ich versuchen, würds aber lieber jemanden überlassen der sich damitr auskennt z.B. Guido Krüger

    Vielleicht Kapitel 36.1 und 36.3
    kann'ste dir hier runterladen http://www.javabuch.de/

    bis dänn, O'Dog



  • könnte mann doch auch wie in C++ einfach per Pixel angaben machen?

    Das machst du doch, wenn du es so machst wie es O'Dog beschrieben hat.

    Das oben gepostete Beispiel benutzt swing

    Und genau desshalb geht's mit add(...) nicht. Bei Swing muss man immer getContentPane().add(...) verwenden. DAs ist zwar am Anfang umständlich und komisch, hat aber seine Vorteile.

    Vielleicht Kapitel 36.1 und 36.3

    Ich denek doch eher 36.1 und 36.2 (LayoutManager). 36.3 ist Modale Dialoge... 😉

    [ Dieser Beitrag wurde am 29.05.2003 um 22:37 Uhr von destruct0r editiert. ]



  • Original erstellt von destruct0r:
    Ich denek doch eher 36.1 und 36.2 (LayoutManager). 36.3 ist Modale Dialoge... 😉

    Also bei mir ist
    36.1 Hauptfenster
    36.3 Weitere Swing-Container

    36.2 ist Menüs

    Version des Buches HTML-Ausgabe 3.0.1

    bis dänn, O'Dog



  • @O'Dog:
    Sry, Ich hab mich da versehen. Ich wollte eigentlich auf Kapitel 31.2 hinweisen. ("Die Layoutmanager")



  • thx ich lade mir gerade dieses bucj runter und werde mich da ein bisschen einarbeiten.

    Für was ist diese Funktion pack() da, die oben erwähnt wurde?



  • Der Aufruf von pack() weist allen Komponenten an die preferredSize anzunehmen und vergrößert bzw. verkleinert das umliegende JFrame oder Window etc. soweit dass alle Komponenten Platz haben.



  • aso danke, ich sehe öfters Codebeispiele bei denen AWT und Swing gleichzeitig benutzt wird, ist das OK? Habe mal aufgeschnappt dass das auf die Performance gehen soll.

    Was sind die Vortiele der beiden Verfahren.
    Ich weiß das AWT veraltet ist.
    Ich hab ewas von SWT gehört, was hat es damit zu tun, und sind die SWT Komponentnten bei der JRE und JDK überhaupt dabei?



  • SWT benutzt im Gegensatz zu Swing platform-abhängige Resourcen, das bedeutet, wenn du zB. einen Button oder Textfeld erzeugst, wird das alles vom Betriebssystem verwaltet und gezeichnet und nicht von Swing selber. SWT ist deshalb schneller als Swing, dafür nicht platform-unabhängig. Obs gut zu programmieren ist, keine Ahnung, habs noch nie:) Jedenfalls kommen bei SWT gute Ergebnisse raus zum Teil, die sehr gute IDE Eclipse zB ist mit SWT programmiert.

    Wenn du die GUI-Sachen mit Pixelangaben positionieren willst, machst du dir eigentlich nur dein Leben schwer.. mit Layout-Managern wirst du normalerweise ein wesentlich besseres Ergebnis hinkriegen und das mit weniger Aufwand. Besonders wenn man das Fenster in der Größe verändert, sieht es meist sehr billig aus, wenmn alle Elemente genau am selben Fleck bleiben(beim null-Layout)
    .Ist nur etwas gewöhnungsbedürftig.

    Wegen AWT und Swing: Man sollte möglichst keine AWT und Siwng-Komponenten mischen, kann Probleme geben und ist auch nicht nötig, weil Swing alle Komponenten von AWT in ner neueren Version hat

    [ Dieser Beitrag wurde am 30.05.2003 um 16:52 Uhr von crass editiert. ]



  • [...] weil Swing alle Komponenten von AWT in ner neueren Version hat

    Und dazu noch viele, viele mehr.


  • Mod

    Original erstellt von crass:
    **weil Swing alle Komponenten von AWT in ner neueren Version hat
    **

    Prima! Wie heißt denn das Swing-Äquivalent zum AWT Canvas?



  • Prima! Wie heißt denn das Swing-Äquivalent zum AWT Canvas?

    einfach JComponent nehmen...


  • Mod

    Original erstellt von destruct0r:
    [quote] Prima! Wie heißt denn das Swing-Äquivalent zum AWT Canvas?

    einfach JComponent nehmen...[/QUOTE]
    Gratuliere! Du hättest eben in folgendem Quiz von Sun einen Punkt weniger gekriegt: http://developer.java.sun.com/developer/Quizzes/gui/swing2/

    Bei Aufgabe 4 wäre die richtige Antwort gewesen:

    "Canvas has no direct equivalent in Swing."

    :p :p :p



  • Es ist mir schon klar, dass Canvas kein direktes Äquivalent hat. Wenn ich mir aber selber ne Komponente bastle, dann würde ich JComponent dafür verwenden.



  • direkt vielleicht nicht, aber praktisch ist JComponent der Ersatz 🙂
    ODer was hat Canvas was bei JComponent echt fehlt?


  • Mod

    Original erstellt von destruct0r:
    Es ist mir schon klar, dass Canvas kein direktes Äquivalent hat. Wenn ich mir aber selber ne Komponente bastle, dann würde ich JComponent dafür verwenden.

    Jaja... rede dich mal raus! :p :p :p



  • thx für die antworten werde swing benutne.


Anmelden zum Antworten