tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
9
ZUGRIFFE
492
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Saban Saban ist offline Mitglied Gold
    Registriert seit
    Nov 2007
    Beiträge
    220
    Morgen!

    Ich hätte da mal ne Frage was dynamische Oberflächen angeht... Ich soll einen Notenberechner schreiben was ja an sich kein Problem ist (JFrame mit paar Labels und Textfeldern, welche ausgelesen werden). Ich hätte es aber gerne so das ich wenn mir z. B. die Textfelder für die Noten ausgehen meine Oberfläche erweitern kann. Also wenn mir jetzt z. B. die Textfeler für die Exen ausgehen, weil wir so viele schreiben, dass ich dann auf ein Button klicken kann um
    - mir das Frame zu vergrößern
    - ein neues Textfeld dazu kommt
    - und die Berechnung automatisch mit angepasst wird
    ist dies überhaupt möglich? wenn ja wie? ich hatte bis jetzt nur starre oberflächen, welche einmal geschrieben wurden und wenn es zu änderungen kam man diese aufwendig im Programmcode ändern musste.

    MfG
    Saban
     

  2. #2
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Hallo,

    sicher ist sowas möglich. Du musst halt nur schreiben, dass ein Textfeld hinzugefügt wird, wenn du auf einen Button klickst. Du solltest die Anzahl dann in einer Properties-Datei abspeichern, damit bei einem Neustart der Applikation auch noch die Anzahl erhalten bleibt.

    MFG

    Sascha
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  3. #3
    Saban Saban ist offline Mitglied Gold
    Registriert seit
    Nov 2007
    Beiträge
    220
    Morgen Sascha!

    So weit hab ich es mir schon gedacht. Was ich kompliziert finde ist folgendes

    ich habe ein Frame so aufgebaut:
    - das links die Fächer stehen
    - und als Sparten überschriften (also ungefähr über 2 Textfeldern) dann immer was für Noten es sind wie z. B. Exen, Schulaufgaben oder sonstiges (ich habe das Layout sozusagen nach den jeweiligen Noten gruppiert)

    Wenn ich jetzt z. B. die Exen erweitern will dann muss ich ja das ganze Layout verändern und ich weiß nicht wie ich das schaffen soll. weil sich ja dann alles nach den Exen um die Breite von einem TextFeld verschiebt. Ich weiß nicht ob ich mich klar genug ausdrücken konnte

    MfG
    Saban
     

  4. #4
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Ordnest du alles selbst an oder nutzt du einen LayoutManager?

    MFG

    Sascha
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  5. #5
    Saban Saban ist offline Mitglied Gold
    Registriert seit
    Nov 2007
    Beiträge
    220
    Hi,

    tut mir leid das ich erst jetzt schreibe aber ich musste kurz in ner anderen Abteilung aushelfen...
    ich benutze eigentlich immer das null-Layout weil ich finde dann kann man alles exakter anordnen

    MfG
    Saban
     

  6. #6
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Mit dem GridbagLayout oder dem TableLayout kann man das eigentlich auch gut.

    Wenn du mit dem Null-Layout arbeitest, dann muss du halt alles andere neu positionieren, sobald du ein Object hinzugefügt hast.

    MFG

    Sascha
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  7. #7
    Saban Saban ist offline Mitglied Gold
    Registriert seit
    Nov 2007
    Beiträge
    220
    Wäre es mit einem Layout Manager evtl einfacher
    Weil ich ehrlich gesagt kein bock hab wieder mit Variablen um mich zu werfen für die Länge, Breite etc.
    Die Code für die Oberfläche sollte eigentlich so einfach wie möglich gehalten werden, weil ich wie gesagt schon einen geschrieben habe und ich versucht habe die Oberfläche des alten Notenberechners zu ändern aber ich hab da nicht mehr durch geblickt...

    MfG
    Saban
     

  8. #8
    Avatar von zerix
    zerix zerix ist offline Hausmeister
    tutorials.de Moderator
    Registriert seit
    May 2005
    Beiträge
    4.335
    Kommt halt drauf an, wie deine Oberfläche aufgebaut ist.

    Du brauchst dir die Koordinaten aber nicht zu speichern, wenn du das mit dem Null-Layout machst. Jede Komponente kennt ja ihre Position.

    Wenn du jetzt einen LayoutManager nutzen möchtest, solltest du dir vielleicht mal das FlowLayout anschauen.

    MFG

    Sascha
     
    Es ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)

  9. #9
    Saban Saban ist offline Mitglied Gold
    Registriert seit
    Nov 2007
    Beiträge
    220
    Erst mal Danke! für deine Posts.
    Ich schau mir des alles daheim mal in Ruhe an... Falls ich fragen hab dann kann ich ja das Thema nochmal öffnen ich hoff du stehst mir dann wieder so hilfreich zur Seite

    Edit:
    Ich habe die Koordinaten nicht abgespeichert sondern hatte Variablen die ich in den Schleifen benutzt habe

    z. B.
    Code java:
    1
    2
    3
    4
    
    for(int index = 0; index < TextfeldArray.length(); index++){
    TextfeldArray[index].setBounds(x, y, breite, höhe);
    x = x + 25;
    }

    dafür habe ich die Variablen benutzt. Ich hoffe dies war jetzt nachvollziehbar wozu ich die Variablen erzeugt habe.


    MfG
    Saban
    Geändert von Saban (27.05.08 um 11:51 Uhr)
     

  10. #10
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Es ist eigentlich ganz einfach: Benutze einen Layoutmanager und teile Java die Constraints (Einschränkungen) mit an die sich das Layout zu halten hat und alles wird automatisch auch bei größenänderungen während der Laufzeit automatisch so gesetzt wie man es einmal mit sehr wenig Code definiert hat.

    Ein null-Layout sagt es eigentlich schon... es ist kein Layout. In dem Fall bist DU selbst der Layoutmanger und mußt dich mit deinem Code darum kümmern das alles an der richtigen Stelle ist. Man kann sicher nicht immer alles mit einem einzigen Layout hinkriegen aber dafür kann man alles in geeignete Teilkomponenten (eigenen Panels) aufteilen und die einzeln Layouten. Wenn man das noch in eigene Klassen aufteilt (oder zumindest eigene Methoden) wirds auch ein wenig übersichtlicher.

    Aber viel hat bei Oberflächenentwicklung auch mit Erfahrung zu tun... und die kommt halt irgendwann
     

Ähnliche Themen

  1. Glätten von Oberflächen
    Von xxsmilyxx im Forum Cinema 4D
    Antworten: 4
    Letzter Beitrag: 26.03.10, 21:36
  2. Oberflächen in Bryce 5
    Von sAToRu im Forum Sonstige 3D-Programme
    Antworten: 0
    Letzter Beitrag: 27.03.04, 17:53
  3. AutoCAD 3D Oberflächen
    Von DirkSchulze im Forum Sonstige Grafik-Programme
    Antworten: 0
    Letzter Beitrag: 08.11.03, 10:19
  4. c# oberflächen
    Von Tobi im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 22.07.02, 17:45
  5. 2 Fragen zu Oberflächen...
    Von Bender im Forum 3D Studio Max
    Antworten: 2
    Letzter Beitrag: 24.02.02, 11:33