java--Label

Java label自动换行

如题,如何实现Java中jlabel的自动换行。注意,是自动换行,不是用HTML控制换行。就像是jtext一样。或者让jtext能够像jlabel一样,融入jframe。求大神给出解决方案
RZDun  |  浏览 614 次  |举报
我有更好的答案
2017-05-18
最佳答案

如果不想使用HTML的换行标签来使JLabel换行, 那么可以调整JTextArea的属性,来实现融入JFrame,模仿JLabel.

java--Label_第1张图片

参考代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
import  java.awt.*;
import  java.awt.event.*;
import  javax.swing.*;
 
//jdk1.8测试通过
//该类继承于JFrame类 实现了ActionListener接口
public  class  MyFrame  extends  JFrame  implements  ActionListener{
     JTextArea jta;
     public  MyFrame() {
         jta =  new  JTextArea();
         
         jta.setLineWrap( true ); //自动换行
         jta.setEditable( false ); //模仿JLabel 禁止编辑文字
         jta.setBackground( new  Color( 238 , 238 , 238 )); //设置背景色和 窗体的背景色一样
         //win 10 下, JFrame窗体背景RGB,测来是238,238,238
         //这样就可以融入背景中了
         
         //jta.setText("....");//设置文字
         add(jta);
         JPanel jp =  new  JPanel();
         JButton jbt =  new  JButton( "显示古文" );
         jbt.addActionListener( this );
         jp.add(jbt);
         add(jp,BorderLayout.SOUTH);
         
         setTitle( "窗口" );
         setSize( 300 200 );
         setLocationRelativeTo( null );
         setDefaultCloseOperation(EXIT_ON_CLOSE);
         setVisible( true );
 
     }
     
     public  static  void  main(String[] args) {
         new  MyFrame(); //创建窗体
     }
 
     @Override
     public  void  actionPerformed(ActionEvent e) {
         //设置jta的文字
         jta.setText( "山不在高,有仙则名。水不在深,有龙则灵。斯是陋室,惟吾德馨。苔痕上阶绿,草色入帘青。谈笑有鸿儒,往来无白丁。可以调素琴,阅金经。无丝竹之乱耳,无案牍之劳形。南阳诸葛庐,西蜀子云亭。孔子云:何陋之有" );
         
     }
}

你可能感兴趣的:(Java---UI)