Quali sono le cose che dovete fare per far funzionare un pannello con un gestore di layout nulla?

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

  •  30-09-2019
  •  | 
  •  

Domanda

ho avuto problemi a trovare un gestore di lavoro di layout nulla, e ho trovato questa grande pagina con le cose da ricordare quando si utilizza un gestore di layout nullo. Uno di loro era il mio problema, e ho subito spostato su.

Ora sto avendo problemi simili con un altro pannello utilizzando un gestore di layout nullo. Tuttavia, non riesco a trovare da nessuna parte questa pagina! Quindi, quali sono le cose?

Nel processo di questa domanda, ho capito il mio problema. Ho ancora voglia di aggiungere questa conoscenza per il sito, dal momento che non riuscivo a trovare da nessuna parte a questa domanda. Potrebbe essere utile a qualcun altro.

Per chiarire, ho già deciso che ho bisogno di utilizzare un gestore di layout nullo per questo pannello, a causa di trascinamento e le esigenze di animazione. Questo non è il problema.

È stato utile?

Soluzione

ho trovato il link che cercavo:

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

Si dà queste tre cose:

  • Imposta del contenitore di layout manager per nulla chiamando Container.setLayout(null).
  • Chiamata Component.setBounds() per ciascuno dei figli del contenitore.
  • chiamata Component.repaint()

Si dà il caso, però, il mio problema era che non stavo facendo una cosa in più:

  • Aggiungi ciascun componente nel contenitore utilizzando Container.add(Component)

Altri suggerimenti

L'aggiunta di un componente a un contenitore è qualcosa che si fa se si utilizza un layout nullo o un LayoutManager.

Le 3 cose che credo è necessario ricordare quando si utilizza un layout nulla sono:

  1. impostare la dimensione del componente (solitamente la dimensione preferita)

  2. impostare la posizione del componente

  3. impostare la dimensione preferita del contenitore contenente i componenti. Maggior parte del tempo il codice funziona se non si imposta la dimensione preferita, ma tenta di aggiungere il pannello a un riquadro di scorrimento e non funzionerà. La ragione di questo è che le barre di scorrimento appaiono automaticamente quando la dimensione preferita del contenitore è maggiore della dimensione della scrollpane. Con un null Layout La dimensione preferita è 0.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top