to fightboy(樱桃小蚊子) 要重载那一父类比较好!

解决方案 »

  1.   

    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class LabelTest
    {
    public static void main(String[] args)
    {
    JFrame frame=new JFrame("frame");
    Container con=frame.getContentPane();
    con.setLayout(new FlowLayout());
    frame.setBounds(100,100,300,200);
    JLabel label=new JLabel("<html><body><p>this is a test</p><br><p>faint faint</p><body></html>");
    con.add(label);
    frame.show();
    }
    }不知你懂了我意思吗?(如果不懂html的话,我建议你去查一下html相关的书)
    就像用html语言一样,label是支持html语言的。
      

  2.   

    重载JLabel吧
    方法如下:
      先计算出来你有多少个字符
      这些字符的总长度是多少
      {
         如果不知道的话
         请复习SwingUtilities类的
         static int computeStringWidth(FontMetrics fm, String str)  
       }
       计算如果要填满这个区域的话,需要在每两个“单词/汉字”之间加几个象素的空白
       然后通过覆盖paintComponent方法把字符一个一个的划上去,   如果有疑问re-此贴
      

  3.   

    fightboy(樱桃小蚊子) :
    有没有例子给我看看阿!
      

  4.   

    to fightboy(樱桃小蚊子):
    像素怎样添加?
      

  5.   

    不是说这个象素,
    假如你要显示this is a cake
    共200个象素,但是JLabel的长度为300个象素,
    那么就在多出来的100个象素分配到4个单词里,每个之间要多25个象素
    于是你调用graphics2d.drwaString("this ",x,y)画第一个串
    在计算下一个"is "地位置,继续调用graphics2d.drwaString("is ",x,y)画
    第二个串.....
    如此