O usuario escolhe uma opcao do ComboBox e então várias JTextArea vão ser preenchidas e um JRadioButton amarrados a elas, para ele escolher qual quer.
Perguntas:
Como faço para caso o número de JTextArea preenchidas ultrapassar esse JPanel(que já tem um scroll na figura) ter um scroll para ver as outras JTextArea que ultrapassam?
Para “amarrar” o JRadioButton a sua JTextArea correspondente, tem um jeito fácil de fazer isso?
1 - Ponha um JScrollPane no seu formulário, e dentro do JScrollPane ponha um JPanel, que será usado para inserir os demais componentes. Ajuste o Layout Manager do JPanel para GridLayout, de modo que o layout tenha apenas uma coluna. Quando adicionar um componente ao JPanel, ajuste o tamanho preferencial do componente para um valor mínimo (digamos, 100 para a altura e 200 para a largura). Dessa maneira, o JScrollPane exibirá as barras de rolagem que permitirão visualizar totalmente os componentes contidos no JPanel.
2 - Uma saída possível para isso é colocar os JRadioButton’s e JTextArea’s num HashMap, onde o JRadioButton seria a chave e a JTextArea seria o valor.
[quote=roger_rf]1 - Ponha um JScrollPane no seu formulário, e dentro do JScrollPane ponha um JPanel, que será usado para inserir os demais componentes. Ajuste o Layout Manager do JPanel para GridLayout, de modo que o layout tenha apenas uma coluna. Quando adicionar um componente ao JPanel, ajuste o tamanho preferencial do componente para um valor mínimo (digamos, 100 para a altura e 200 para a largura). Dessa maneira, o JScrollPane exibirá as barras de rolagem que permitirão visualizar totalmente os componentes contidos no JPanel.
2 - Uma saída possível para isso é colocar os JRadioButton’s e JTextArea’s num HashMap, onde o JRadioButton seria a chave e a JTextArea seria o valor.[/quote]
Opa obrigado pela resposta.
Mas quanto ao item 1: Eu adicionei o JScrollPane com um JPanel dentro, ajustei o Layout dele para Grid. Só não entendi essa parte de tamanho preferencial, é o setBounds()? Aqui, quando eu coloco para adicionar, ele não aparece o componente. Não é jPanel.add(meuComponente) ?
Cara ainda não estou conseguindo, bendito Swing. A barra não aparece, não sei o que estou fazendo errado.
Criei uma classe teste e montei assim já (com GridLayout, mas com 2 colunas mesmo), e o JPanel já está “lotado”. Aí esse botão “Adicionar” vai adicionar mais um JRadio e mais um JTextField para assim ultrapassar os limites e criar as barras de rolagem.
Codigo executado pra quando o botao "Adicionar"for clicado: