JTextArea文字的获取及其显示到JLabel中时的换行。
用html标签可以实现换行,但超出JLabel显示宽度却仍不能自动换行,待解决。
见代码。
import javax.swing.*;
import java.awt.*;
public class JTextAreaTest extends JFrame {
public JTextAreaTest() {
setLayout(new BorderLayout());
setSize(500, 500);
setTitle("定义自动换行的文本域");
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
Container c = getContentPane();
JTextArea ta = new JTextArea("", 6, 6);
ta.setLineWrap(true);
JLabel jl = new JLabel("");
JButton jb = new JButton("提交");
/*ta.setBounds(5, 5, 10, 50);
jl.setBounds(5,5,10,50);
jb.setBounds(5, 5, 10, 50);*/
jl.setPreferredSize(10);
c.add(ta, BorderLayout.NORTH);
c.add(jl, BorderLayout.CENTER);
c.add(jb, BorderLayout.SOUTH);
jb.addActionListener(e -> {
String str = ta.getText().replace("\n", "<br>");
String str2 = "<html>" +str + "</html>"; //用html标签实现jlabel中的文字换行
jl.setText(str2);
});
setVisible(true);
}
public static void main(String[] args) {
new JTextAreaTest();
}
}