私はこの男と同じことで問題を抱えています:
linewrap = trueで使用した場合、MigLayoutJTextAreaは縮小しません
そして、私は答えの1つで説明されている解決策を使用しました。最小サイズを明示的に設定します。これは、JTextAreaを含むJPanelをJFrameに直接配置してから、ウィンドウのサイズを変更すると正常に機能します。
ただし、JTextAreaを含むパネルをJScrollPane内に配置すると、同じ問題が再び発生します。これはなぜですか、そしてどのように修正できますか?
乾杯
編集:例
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);
}
}
コメントを外し//add(panel);
てコメントするとadd(scrollPane);
、ウィンドウサイズを縮小するとJTextAreaも縮小されます。つまり、JScrollPaneでは機能しません。また、最初にウィンドウを拡大した後、ウィンドウのサイズを縮小すると、レイアウトマネージャーがどのように表示され、すべてのコンテンツが「揺れ」始めるかにも注意してください。