ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
492
492
EMPFEHLEN
-
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
-
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
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
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
-
Ordnest du alles selbst an oder nutzt du einen LayoutManager?
MFG
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
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
-
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
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
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
-
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
SaschaEs ist schwer Allwissend zu sein. Aber ich komme damit klar. ;-)
-
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
SabanGeändert von Saban (27.05.08 um 11:51 Uhr)
-
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
-
Glätten von Oberflächen
Von xxsmilyxx im Forum Cinema 4DAntworten: 4Letzter Beitrag: 26.03.10, 21:36 -
Oberflächen in Bryce 5
Von sAToRu im Forum Sonstige 3D-ProgrammeAntworten: 0Letzter Beitrag: 27.03.04, 17:53 -
AutoCAD 3D Oberflächen
Von DirkSchulze im Forum Sonstige Grafik-ProgrammeAntworten: 0Letzter Beitrag: 08.11.03, 10:19 -
c# oberflächen
Von Tobi im Forum C/C++Antworten: 0Letzter Beitrag: 22.07.02, 17:45 -
2 Fragen zu Oberflächen...
Von Bender im Forum 3D Studio MaxAntworten: 2Letzter Beitrag: 24.02.02, 11:33





Zitieren


Login





