Pergunta

vindo a desenvolver um jogo por um tempo, e atualmente está trabalhando a GUI, ou pelo menos tentar. Teve o enorme problema de não ser capaz de redimensionar o quadro (sem problemas), como eu não entendia disposição gerentes muito bem. Alguns projectos mais tarde, e tempo para voltar e fazer um pouco mais sobre o jogo, e eu bati um problema ...

O esquema básico da estrutura principal é, mainPane, contendo um gameScrollPane e um controlpanel. O painel de rolagem é um painel de deslocamento, e o painel de controlo de um painel normal. O painel de rolagem contém o painel principal do jogo.

Como eu queria que o painel de rolagem para assumir a maior parte da tela, com o painel de controle ocupando uma pequena área inferior, da mesma forma como muitos Sim, como jogos, por isso escolheu o layout Border para o mainPane. Eu adicionado painel de rolagem e definir as restrições de painel central e o controle adicionado e constriants SUL. Isso não mostrar painel de rolagem, então eu brinquei tentando diferentes restrições, e parece que só quando eu definir a rolagem painel restrição para o Norte, não é mostrar a todos.

Para demonstrar isso, eu criei um vídeo rápido ... http://screenjel.ly/q5RjczwZjH8

Como você pode ver, quando eu alterar o valor de NORTH para o centro e re correr, é como a sua não existe!

Os pontos de bónus para qualquer um que pode ver um segundo problema claro que eu possa começar outra pergunta para depois este problema está resolvido!

Eu te agradeço pelo seu tempo para ler isto.

Agradecemos antecipadamente para quaisquer ideias ou pensamentos:)

Rel

Foi útil?

Solução

Eu não posso obter o vídeo para mostrar. Tem sido buffer para idades.

Meu palpite seria que o scrollpane é de fato enchendo o centro; é apenas o painel de jogo que não está sendo mostrado.

As suas necessidades painel de jogo para retornar valores razoáveis ??para getPreferredSize().

Atualizar

Outra coisa que você pode querer fazer é ter seu painel jogo implementar a interface Scrollable. Você pode então substituir getScrollableTracksViewportWidth e ...height para true retorno para seu painel será forçado a dimensões do ScrollPane.

Outras dicas

Se você tinha postado um código para começar com, então você poderia ter obtido uma resposta muito rápido. Felizmente, você postou um link nos comentários à outra resposta.

O setContentPane () material é estranho, especialmente depois de fazer algumas coisas para ele que irá, em seguida, obter dizimado. No entanto, isso não é problema seu.

O problema é que você está adicionando levelMaker e personMover direito de mainPane sem quaisquer restrições. Estes serão então explodindo tudo o que você definiu para CENTER ... neste caso o gameScrollPane previamente definido.

É por isso que você vê-lo para o norte e não para CENTER.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top