How to set max composite Größe in SWT
Gibt es eine Möglichkeit zum festlegen der maximalen Größe von composite? Nur was ich gefunden habe, Methoden
setMinimumSize(Point point)
setSize(Point point)
die es mir erlauben, zum einstellen der minimalen und bevorzugten Größe.
Composite
der Regel Delegierten die Dimensionierung der Layout
Satz auf den composite.also, wie kann ich einstellen, dass die maximale Breite für das layout? es gibt nur bevorzugte und minimal
Ich habe noch nie in einem Layout, das dies tut, die meisten erweitern die Kinder passen den verfügbaren Platz.
InformationsquelleAutor John Smith | 2013-08-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Soweit ich weiß, gibt es keine Auslegung, das hat eine Einstellung für die maximale Größe, die eine gute Sache ist, meiner Meinung nach.
Betrachten Sie das folgende szenario: legen Sie die maximale Größe einer
Widget
/Composite
auf einen Wert, dass Sie denken, "sieht gut aus". Abhängig von der Bildschirmauflösung und Schriftgröße der end-Benutzer, die gewählte maximale Größe vielleicht nur falsch Aussehen. Dies ist der Grund, warum die layouts in der Regel passen sich dem verfügbaren Platz.Dennoch, hier ist etwas code, das schränkt die Größe:
Bevor Sie die Größe ändern:
Nach der Größenänderung:
Froh, dass ich helfen könnte, aber bitte berücksichtigen Sie, was ich versuchte zu erklären, um Sie.
Dies ist sehr hilfreich ... aber ich nehme Ihren Standpunkt über den festen Größen. Jedoch, Sie können diese Methode auch verwenden, um einfach zu definieren prozentuale Größe Maximalwerte, die vielleicht weniger schlimm 😉
InformationsquelleAutor Baz
ich bin neugierig, warum Sie wollen, legen Sie eine maximale Größe. können Sie ein konkretes Beispiel nennen? ich hatte eine situation, wo ich wollte diese option, aber ich kam mit einer Lösung, die war sogar noch besser. denken Sie nur an eines widgets in einem layout, das hat eine bevorzugte Größe, basierend auf seinen Inhalt, z.B. ein text-widget. nun möchten Sie das widget so groß sein wie der verfügbare Platz zulässt. aber da das widget ist zu fordern, Raum, basierend auf Ihren Inhalt, es könnte behaupten, mehr Platz als nötig. was ich also brauchte, war eine maximale Größe, aber wenn Sie mehr Platz zur Verfügung steht, das widget noch in der Lage, nehmen den Raum, ohne zu fordern, mehr.
aber betrachten wir ein Beispiel:
den Aufruf
shell.pack()
wird die shell verwenden, die bevorzugte Größe, um Ihren Inhalt anzuzeigen. das layout wird dann auf Fragen der text-widget, um zu berechnen Ihre bevorzugte Größe. das text-widget wissen nicht, dass die von der shell erweitert werden als auch und nicht eine Feste Größe haben.gut, das problem kann gelöst werden, wenn wir könnten das text-widget eine maximale Größe. aber es wird Ursache ein anderes problem mit dem grid-layout, da wir nicht möchten, das text-widget, kleiner zu sein, im Falle, dass die Schale hat eine minimale Größe, die größer ist als die gewünschte Größe des text-widget. ich kann nicht geben Sie ein code-Beispiel für diesen Fall, da es keine maximale Größe, aber stellen Sie sich nur die shell sein, die eine Feste Größe haben, und die das text-widget innerhalb hat eine maximale Größe, die kleiner ist.
die Lösung ist, zu begrenzen Sie die bevorzugte Größe berechnet wird, indem Sie das widget, um eine maximale bevorzugt Größe. ich habe nicht noch eine Methode, um diesen Wert zu setzen, aber diesen Effekt erreichen Sie durch überschreiben der Methode computeSize der widget:
jetzt sind Sie noch in der Lage, erhöhen die Schalen Größe, die von einem Benutzer drag-Vorgang und das widget immer noch wir in der Lage, schnappen Sie sich mehr Raum über die maximale Größe.
InformationsquelleAutor benez