Was sind die Dinge, die Sie tun müssen, um eine Panel Arbeit mit einem Null-Layout-Manager zu machen?

StackOverflow https://stackoverflow.com/questions/3542946

  •  30-09-2019
  •  | 
  •  

Frage

Ich habe Probleme, einen Null-Layout-Manager Arbeits bekommen, und ich fand diese große Seite mit Dingen zu erinnern, wenn ein Null-Layout-Manager verwenden. Einer von ihnen war mein Problem, und ich schnell weitergegangen.

Ich habe jetzt ähnliche Probleme mit einem anderen Panel eines Null-Layout-Manager verwenden. Allerdings kann ich diese Seite nicht überall! Also, was sind die Dinge?

Im Prozess diese Frage zu stellen, dachte ich, mein Problem heraus. Ich möchte noch dieses Wissen auf die Website hinzuzufügen, da ich diese Frage nicht überall finden. Es könnte jemand anderen hilfreich sein.

Um zu klären, ich habe bereits festgestellt, dass ich einen Null-Layout-Manager für diese Platte zu verwenden, aufgrund Ziehen und Animation Anforderungen. Das ist nicht die Frage.

War es hilfreich?

Lösung

fand ich den Link, den ich suchte:

http://download.oracle.com/javase/tutorial /uiswing/layout/none.html

Es gibt diese drei Dinge:

  • Stellen Sie den Layout-Manager auf null des Containers durch den Aufruf Container.setLayout(null).
  • Anruf Component.setBounds() für jedes der Kinder-Container.
  • Anruf Component.repaint()

Wie es passiert, aber mein Problem war, dass ich nicht eine weitere Sache tat:

  • Fügen Sie jede Komponente in den Behälter mit Container.add(Component)

Andere Tipps

eine Komponente einen Container hinzuzufügen ist etwas, was Sie tun, ob Sie ein Null-Layout oder einen Layoutmanager verwenden.

Die 3 Dinge, die ich glaube, Sie merken müssen, wenn ein Null-Layout verwenden, sind:

  1. die Größe der Komponente festgelegt (in der Regel der bevorzugte Größe)

  2. Geben Sie den Ort der Komponente

  3. die bevorzugte Größe der Container festgelegt, die Komponenten enthält. Die meiste Zeit Ihr Code funktioniert, wenn Sie die gewünschte Größe nicht setzen, sondern versuchen, die Platte an einem Bildlauffenster hinzufügen und es wird nicht funktionieren. Der Grund dafür ist, dass Bildlaufleisten automatisch angezeigt werden, wenn die bevorzugte Größe des Behälters größer ist als die Größe des scrollpane. Mit einem Null-Layout der bevorzugte Größe 0 ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top