Domanda

sta sviluppando un gioco per un po ', e attualmente stiamo lavorando l'interfaccia grafica, o almeno cercare di. Avuto il problema enorme di non essere in grado di ridimensionare il telaio (senza problemi), come non ho capito gestori di layout molto bene. Alcuni progetti più tardi, e il tempo di tornare e fare un po 'di più sul gioco, e mi ha colpito un problema ...

La configurazione di base del telaio principale è, mainPane, contenente una gameScrollPane e uno controlpanel. Il riquadro di scorrimento è un pannello di scorrimento, e il pannello di controllo di un pannello normale. Il pannello di scorrimento contiene il pannello di gioco principale.

Come ho voluto riquadro di scorrimento a prendere la maggior parte dello schermo, con il pannello di controllo di prendere una piccola zona più bassa, più o meno lo stesso di molti Sim come i giochi, in modo da scegliere il layout di frontiera per il mainPane. Ho aggiunto il riquadro di scorrimento e impostare il centro vincoli e il pannello di controllo aggiunto e constriants SUD. Questo non ha mostrato il riquadro di scorrimento, così ho suonato in giro cercando diversi vincoli, e sembra che solo quando ho impostato il vincolo riquadro di scorrimento a nord, ci si mostra a tutti.

Per dimostrare questo, ho creato un breve video ... http://screenjel.ly/q5RjczwZjH8

Come si può vedere, quando cambio il valore del NORD CENTRE e ri correre, è come la sua non c'è!

I punti di bonus per chi può vedere un chiaro secondo problema che io possa iniziare un'altra domanda per il dopo questo problema è risolto!

Vi ringrazio per il vostro tempo per leggere questo.

Grazie in anticipo per eventuali idee o pensieri:)

Rel

È stato utile?

Soluzione

Non riesco a ottenere il video da mostrare. E 'stato buffer per le età.

La mia ipotesi è che lo ScrollPane è infatti riempire al centro; è solo il tuo pannello di gioco che non è viene mostrato.

Il pannello di gioco ha bisogno di restituire i valori ragionevoli per getPreferredSize().

Aggiorna

Un'altra cosa che si può decidere di fare è avere il vostro pannello di gioco implementa l'interfaccia Scrollable. È quindi possibile ignorare getScrollableTracksViewportWidth e ...height per tornare true in modo che il pannello sarà costretto a dimensioni di ScrollPane.

Altri suggerimenti

Se desideri postato qualche codice per iniziare allora si potrebbe avere ottenuto una risposta molto veloce. Per fortuna, hai postato un link nei commenti al altra risposta.

La roba setContentPane () è strano, soprattutto dopo aver fatto alcune cose ad esso che si metterà subito spazzato via. Tuttavia, questo non è il tuo problema.

Il problema è che si sta aggiungendo levelMaker e personMover diritto di mainPane senza alcun vincolo. Questi saranno poi spazzare via qualsiasi cosa si imposta per il centro ... in questo caso l'precedentemente impostato gameScrollPane.

È per questo che si vede di NORD e non per il centro.

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