quebra de linha em um JTextArea faz com que o JScrollPane se comporte incorretamente com o MiGLayout
Estou tendo problemas com a mesma coisa que esse cara:
MigLayout JTextArea não está encolhendo quando usado com linewrap = true
e usei a solução descrita em uma das respostas; para definir explicitamente o tamanho mínimo. Isso funciona bem se alguém colocar o JPanel que contém o JTextArea diretamente em um JFrame e, em seguida, redimensionar a janel
No entanto, ao colocar o painel que contém o JTextArea dentro de um JScrollPane, o mesmo problema ocorre novamente. Por que isso e como corrigi-lo?
Felicidade
EDIT: Um exemplo
public class MiGTest2 extends JFrame{
public MiGTest2(){
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel(new MigLayout("fillx, debug", "[fill]"));
JTextArea textArea = new JTextArea();
textArea.setLineWrap(true);
panel.add(textArea, "wmin 10");
//panel.add(new JTextField());
JScrollPane scrollPane = new JScrollPane(panel);
//add(panel);
add(scrollPane);
pack();
}
public static void main(String[] args){
new MiGTest2().setVisible(true);
}
}
Se você descomentar//add(panel);
e comenteadd(scrollPane);
, diminuir o tamanho da janela também reduzirá o JTextArea. Ou seja, ele não funciona com um JScrollPane. Observe também como o gerenciador de layout parece girar para fora e começa a "sacudir" todo o seu conteúdo ao diminuir o tamanho da janela após ampliá-la