我正在做一个文本编辑器,我想显示输入的文本,可以包含行/换行的内容。但是JLabel不显示多行文本(不使用HTML -但我不想使用)。我试着在不可编辑的JTextArea (在JScrollPane中)中显示它,但是它在鼠标轮中变得不可滚动。
例如:
JTextArea textArea = new JTextArea();
JLabel label = new JLabel(textArea.getText());
JFrame.add(new JScrollPane(label));
如何在可滚动容器中显示多行文本?
发布于 2017-11-06 14:53:24
很难说为什么您的JTextArea会停止滚动,也许这是一个单独的问题。这应该没问题的。
package test;
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.SwingUtilities;
public class Test {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
JFrame f = new JFrame();
JTextArea ta = new JTextArea("a\nb\nc\nd\ne\nf\ng\nh");
ta.setEditable(false);
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
p.add(new JScrollPane(ta));
f.add(p);
f.setSize(100, 100);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
});
}
}
https://stackoverflow.com/questions/47139393
复制相似问题