Pessoal, sei que existem tópicos parecidos, mas não resolveram meu problema. Tenho um JPanel normal, e uma função que adiciona outro JPanel a ele. até aqui tudo bem. o problema surge quando o conteudo é maior que o JPanel, ou seja, gostaria de colocar uma barra de rolagem nesse JPanel principal, de modo a rolar qualquer content que estiver dentro dele, como devo proceder?
Cara quando eu tive que fazer isso em Java 1.4 ( cito a versao porque algo pode ter mudado desde entao ) eu tive que calcular o tamanho dos panel’s internos ao JPanel principal e assim passar esse tamanho para o JScrollPane.
Entao fica JPanel1 + JScrollPane1 e varios JPanel2 que ficam dentro do JPanel1.
Também utilizei um gerenciador de Layout diferente acho que foi BoxLayout ou CardLayout na vertical.
Pessoal, ainda não deu certo, vou postar aqui o que estou tentando fazer, talvês a operação que eu esteja tentando não seja possível.
//centro é um JPanel
main = new JScrollPane(centro, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
//já comentei essa linha de baixo tbm, e nada ;)
main.add(centro);
//adiciono ao JFrame da aplicação
this.getContentPane().add(main);
Pessoal, estou com o mesmo problema, mas negocio é o seguinte:
usar o (painel.setLayout(new BoxLayout(painel, BoxLayout.PAGE_AXIS)) não resolve meu problema porque eu adiciono objetos (buttons, panels…) a um jPanel em tempo de execução, sendo assim o tamanho desses objetos não da pra alterar, ficam sempre ocupando a tela toda!!!
tem algum outro jeito sem precisar ficar calculando as bordas dos objetos???
Nao usem Absolute Layout (setLayout(null) ), as funcoes GUI (muitas delas) sao gerenciadas pelos gerenciadores de layout, setando o layout como null vcs tao abrindo mao dessas funcoes… aih sabe Deus oq q acontece, indico o uso do GroupLayout
Quanto ao Layout esta td ok, mas mesmo assim, nada…
se eu pelo menos conseguisse alterar o tamanho (width e height) em tempo de execução… td bem, mas quando se coloca um panel dentro de um scroollPane o negócio fica mt automático, nem da pra mudar o tamanho…
enfim, ao inserir objetos nesse panel em tempo de execução as barras de rolagem não aparecem!!!
alguem tem alguma outra idéia??
Quanto ao Layout esta td ok, mas mesmo assim, nada…
se eu pelo menos conseguisse alterar o tamanho (width e height) em tempo de execução… td bem, mas quando se coloca um panel dentro de um scroollPane o negócio fica mt automático, nem da pra mudar o tamanho…
enfim, ao inserir objetos nesse panel em tempo de execução as barras de rolagem não aparecem!!!
alguem tem alguma outra idéia??