Eu preciso fazer o meu JPanel redimensionar dinamicamente como novos componentes estão sendo adicionados a ele
Eu preciso deixar os usuários adicionar mais campos de texto para o meu JFrame assim que o tamanho do quadro excedeu o valor original que um painel de rolagem entraria. Como não posso adicionar JScrollPane ao JFrame para ativar a rolagem, decidi colocar o JPanel em o JFrame e passar o objeto JPanel para o construtor JScrollPane. A rolagem agora funciona bem, mas apenas até atingir as bordas do JPanel. A coisa é o tamanho do JPanel fica como está e não está se alongando dinamicamente. O que acontece é que os botões no meu código estão usando todo o espaço do JPanel sendo do tamanho de 300x300, mas o que eu quero fazer é ter o JPanel estendido assim que esses controles esgotarem seu espaço original. Por favor informar.
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ScrollPaneConstants;
public class Skrol {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setLayout(new FlowLayout());
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel p = new JPanel();
p.setPreferredSize(new Dimension(400,400));
JScrollPane jsp = new JScrollPane(p);
jsp.setPreferredSize(new Dimension(300,300));
jsp.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_AS_NEEDED);
jsp.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED);
for(int i=0;i<100;i++)
{
JButton b = new JButton("Button "+i);
p.add(b);
}
f.add(jsp);
f.setSize(new Dimension(600,600));
f.setLocation(300, 300);
f.setVisible(true);
}
}