既然是JLabel而不是JButton,就说明它一般不会处理什么事件,我认为可以用多个JLabel来模拟一个JLabel

解决方案 »

  1.   

    一个 Label 只能显示一行
    所以只能用多个 label 来实现
      

  2.   

    用一个JtextArea
    然后把他的eidtable设置为false
    行吗?
      

  3.   

    JTextArea与JLabel的外观相差太大,不可行!
      

  4.   

    jlabel label1 = new jlabel("hello\nworld")试试
      

  5.   

    外观这种东西可以改的嘛~~~~~
    import javax.swing.*;
    import javax.swing.plaf.BorderUIResource;
    import java.awt.*;
    import java.awt.event.*;
    import java.util.*;class MultilineLabel extends JTextArea {
    public MultilineLabel(String s) {
    super(s);
    }
    public void updateUI() {
    super.updateUI(); // turn on wrapping and disable editing and highlighting setLineWrap(true);
    setWrapStyleWord(true);
    setHighlighter(null);
    setEditable(false); // Set the text area's border, colors and font to
    // that of a label LookAndFeel.installBorder(this, "Label.border"); LookAndFeel.installColorsAndFont(this, "Label.background", 
    "Label.foreground","Label.font");
    }试试这个类吧,可以在JTextArea里面显示多行,外观也像JLabel
      

  6.   

    还是在字符串中加\n比较方便,毕竟JLabel中的字符是不变的。用JTextArea未免太小题大做了。
      

  7.   

    呵呵,众说纷纭~~~~~我还是同意多加一个JLabel
      

  8.   

    在JLabel里面能用多行显示吗?加\n就有用吗?试试看再说吧多加一个JLabel是简单一些没错,可是当你的窗口大小改变的时候
    再去看看你的JLabel的话,如果窗口很小,JLabel里面的内容
    就被截断了,后面都是省略号了,试过吗?这个用JTextArea就是因为可以根据窗口的大小动态改变。这个例子是图形设计Swing第七章第一个例子,有书的请看看
      

  9.   

    \n doesn't work,
    JTextArea can overcome ... problem but its look is far from JLabel
    I suggest reading JOptionPane, 'cause 
    JOptionPane.showXXXDialog(....,"abc\ndef\nghi\njkl",....)
    can be separated into multilines.
      

  10.   

    It's a question of green hands, you can use this:JLabel label = new JLabel("<HTML>aaa<br>bbb<br>ccc</HTML>");
      

  11.   

    我想:把字符串写成<html>1<br>2<br>3</html>应该是可以的。用JTextArea的好处在于可以自动折行,坏处也在于自动折行,假如我就想排三排,内容也得写成<html>1<br>2<br>3</html>这样。
      

  12.   

    MultilineLabel extends from JTextArea is ill-defined, it does not conform the concept of OOD.
      

  13.   

    如果不想自动的折行,可以把setLineWrap(true)
    改成setLineWrap(false)就行了,何必一定要用HTML而外观问题,里面的updateUI()也就是解决了外观的问题的,
    要不人家何必这么写?