相关疑难解决方法(0)

JTextArea中的换行导致JScrollPane与MiGLayout无关

我和这个家伙有同样的困难:

与linewrap = true一起使用时,MigLayout JTextArea不会缩小

我使用了其中一个答案中描述的解决方案; 明确设置最小大小.如果将包含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);
}
}
Run Code Online (Sandbox Code Playgroud)

如果取消注释//add(panel);,并注释add(scrollPane);,缩小窗口大小也会缩小JTextArea.也就是说,它不适用于JScrollPane.还要注意布局管理器在首次放大后缩小窗口大小时如何翻转并开始"摇动"其所有内容

java swing jscrollpane jtextarea miglayout

5
推荐指数
2
解决办法
3919
查看次数

为Swing重新流动标签小部件

是否有一个Swing的小部件,其行为类似于a JLabel,如果文本的尺寸发生变化,它会自动重排文本?例如:

Large horizontal space available:
+--------------+
| Foo bar baz  |
+--------------+

Small horizontal space available:
+---------+
| Foo bar |
| baz     |
+---------+

我目前正在使用JEditorPanesetContentType("text/html")和HTML内容.这有效,但它不使用系统的默认标签字体来显示文本.此外,我宁愿不将HTML标记放入我的文本中 - 最好\n将字符转换为换行符,其他所有内容都将显示为文本.

java formatting swing label widget

2
推荐指数
1
解决办法
837
查看次数

标签 统计

java ×2

swing ×2

formatting ×1

jscrollpane ×1

jtextarea ×1

label ×1

miglayout ×1

widget ×1