Pergunta

Estou criando uma GUI em Java usando o GridBagLayout. Existe alguma maneira de criar um grupo de componentes para que eu possa passar a referência ao grupo e ter acesso a todos eles?

Eu pensei em criar um painel e agrupar os componentes dessa maneira, mas eu estava me perguntando se havia outra maneira de fazer uso da complexidade do GridBagLayout.

Muito obrigado!

Foi útil?

Solução

Bem, se você não pode criar um feijão com Jlabel, Jtextfield e JButton para conter seu grupo, sempre pode usar o mapa no painel principal da interface do usuário para registrar os elementos enquanto os adiciona. Alguma estrutura como

Map<K, List<Component>>

Pode funcionar, onde K é um identificador para um grupo. Dessa forma, você dissocia os componentes da maneira como são colocados na interface do usuário.

Outras dicas

Você deve pensar nos painéis apenas como gravação. Você bungia seus componentes lá, tudo configurado e com as restrições de layout corretas. Você (quase) nunca vai procurar componentes.

Em vez disso, adicione os componentes a um Set (ou similar) como você configura. Então você pode fazer um chique muito limpo for Loop sobre a coleção para executar a tarefa apropriada. Uma técnica mais avançada seria ter observadores individuais (ouvintes) atualizando os componentes de um modelo.

A maneira usual é usar o JPanel como você sugeriu. Lembre -se de que o próprio JPanel pode ter seu próprio gerente de layout independente. Portanto, você pode usar um GridBaglayout no JPanel para posicionar os elementos no painel.

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