Tenho um JPanel que recebe diversos JLabels e JButtons dinamicamente, de acordo com a pesquisa realizada. Quanto a isso não há problemas, o problema é que tipo, quando há muitos dados à serem retornados na criação dos componentes o JPanel + o GridLayout diminuem o tamanho vertical dos componentes afim de fazer caber todos na tela. Vamos dizer que visualmente caibam 3x3 componentes no JPanel, eu queria que ao criar a 4° linha ele ativasse um Scroolpane uma Barra de rolagem etc… como eu faria isso?
JPanel + GridLayout + ScroolPane
3 Respostas
Cara, tenho opções, talvez não tão agradáveis. kkkk
1, Migra pra JavaFX. Eu sei, um trabalho inteiro desperdiçado. Mas garanto que vai ser melhor. Organizar é melhor, trabalhar nele é melhor, viver com isso é melhor
2, Sei que a migração pode ser demorada e pode te prejudicar. Então, dou a segunda opção. Muda o teu layout para o MigLayout, caso permaneça em Swing. MigLayout organiza MUITO BEM os componentes. Sinceramente, achei bem melhor de trabalhar com ele e bem mais simples.
3, Como imagino que queira algo mais simples… Saca só: Você adiciona o Scroll no JPanel, para criar as barras de rolagem e coloca a GridLayout dentro do Scroll. Se não me engano, é nessa ordem.
Primeiramente, muito Obrigado por responder Chaybelucas
Em relação as suas questões:
1° Eu não migrei pro JavaFX ainda pela questão de que eu ainda nem aprendi o Java normal, quem dirá o FX rsrsrsrsrs… Nem é por questão de pera de trabalho e sim pelo aprendizado que eu venho tendo com o Java. Mais pra frente provavelmente eu migrarei.
2° Eu já resolvi aqui, o problema é que eu estava fazendo ao contrário. Estava criando o JPanel, adicionando os componentes e só depois tentando apartir da 4° linha do GridLayout adicionar o JScroolPane e acaba não dando em nada. Agora eu criei o JScroolPane e adicionei o JPanel nele e seus etcs… e funcionou beleza… de toda forma Obrigado
Perfeito haha
Qualquer coisa, se estiver disponível, tenho um projeto pequeno que estou fazendo em JavaFX
Por você estar aprendendo, pode ser bem vindo à equipe. Sou eu e mais dois caras.
Se quiser dar uma olhada, manda um e-mail
[email removido]