Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/152.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MigLayout JTextArea换行太快_Java_Swing_Jtextarea_Miglayout - Fatal编程技术网

Java MigLayout JTextArea换行太快

Java MigLayout JTextArea换行太快,java,swing,jtextarea,miglayout,Java,Swing,Jtextarea,Miglayout,我有一个JTextArea,它的文本在使用过程中设置为各种字符串。我还有一个列,其尺寸指定为150!。我希望文本达到最大长度,然后进行换行。然而,现在它是立即包装,而不是包装前的最大长度。如果我将填充添加到列中,那么这就解决了问题,但是,我不想填充整个空间,因为我正在创建边框。如果我的文本长度不超过最大值,则从边框显示一堆空白 下面是我如何做到这一点的一个例子 import java.awt.Font; import net.miginfocom.swing.MigLayout; impor

我有一个JTextArea,它的文本在使用过程中设置为各种字符串。我还有一个列,其尺寸指定为150!。我希望文本达到最大长度,然后进行换行。然而,现在它是立即包装,而不是包装前的最大长度。如果我将填充添加到列中,那么这就解决了问题,但是,我不想填充整个空间,因为我正在创建边框。如果我的文本长度不超过最大值,则从边框显示一堆空白

下面是我如何做到这一点的一个例子

import java.awt.Font;

import net.miginfocom.swing.MigLayout;

import javax.swing.BorderFactory;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JFrame;
public class MigExample extends JFrame {
    public static JPanel panel = new JPanel();
    public static JTextArea content = new JTextArea();
    public static JLabel label;
    public static JFrame guiFrame = new JFrame();
    public static void main(String[] args) {

        content.setEditable(false);  
        content.setCursor(null);  
        content.setOpaque(false);  
        content.setFocusable(false);  
        content.setBorder(BorderFactory.createLoweredBevelBorder());
        content.setFont(new Font("Times New Roman", Font.BOLD, 12));
        content.setLineWrap(true);
        content.setWrapStyleWord(true);


        String s = "aaaaa bbb ccc ddd e fff ggg hhhhhhhh iiii jjjj kk l mm nnnnn oooooooooo ppppppppppppppp";
        content.setText(s);
        label = new JLabel("Content");
        panel.setLayout(new MigLayout("",
                "[75!][150!]",
                "[]"));
        panel.add(label);
        panel.add(content);
        guiFrame.add(panel);
        guiFrame.setVisible(true);
        guiFrame.setSize(750, 200);

    }

}

不理解您的问题:如果您使用固定的布局宽度(即150!)定义布局!,你得到了一个固定布局宽度的布局:-那么你真正想要的是什么?问题是我的JTextArea没有得到一个150的布局。由于使用了setLineWrap,因此尺寸更小。