没看明白你这是想怎么布局。一个label里能写这么多行吗?
如果是用多个label,你可以把label所在的父容器的layout设为null。

解决方案 »

  1.   

    同意樓上的,用null佈局管理器比較容易實現,要設置4個label的相對父panel的位置(setLocation)
      

  2.   

    多写几个LABEL好不好,
    如果控制不好位置,就用NULL布局(JB)中,或是XYLAYOUT。
      

  3.   

    把這些label放到一個容器(panel)就行了呀JPanel panel = new JPanel(null);
    panel.setLocation(x,y);
    JLabel label1,label2,label3,label4;
    label1=new JLabel("xxx");
    ...
    label1.setLocation(x1,y1);
    label2.setLocation(x2,y2);
    ...getContentPane().add(panel);
      

  4.   

    我要在一个里面显示
    写的方法请大家指教
    package jp.co.necsoft.medical.area.rep.gdlgRefRecvDoc;import java.awt.*;
    import javax.swing.*;
    import javax.swing.border.*;
    import java.awt.geom.*;
    import java.awt.font.*;
    import javax.swing.border.*;/**
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2002</p>
     * <p>Company: </p>
     * @author unascribed
     * @version 1.0
     *///Paint
    public class   paintlab extends JLabel
    {        String ps1="2002/01/02 22:55";
            String ps2="描画対象描画対象描画対象描画対象描画対象描画対象";
            String ps3="Sony";
            String ps4="太イランぁん";
       /**
       * グラフ描画<BR>
       * @param   g 描画の対象.
       * @return  なし
       * @throws
       */
       public void setDataSource(String a1,String a2,String a3,String a4)
       {
           ps1=a1;
           ps2=a2;
           ps3=a3;
           ps4=a4;
           repaint();
       }    public void paint(Graphics g)
        {
            setBackground(new Color(255,255,204));
            super.paint(g);
            Shape sha0;
            Shape sha1;
            Shape sha2;
            Shape sha3;
            Shape sha4;        Graphics2D g2 = (Graphics2D) g ;
            g2.setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING ,
                                                   RenderingHints.VALUE_ANTIALIAS_ON )) ;
            FontRenderContext frc =g2.getFontRenderContext();        TextLayout t0 = new TextLayout("SAOJEZUANG" ,new Font("Sans Serif",Font.BOLD,10),frc);
            TextLayout tl = new TextLayout(ps1 ,new Font("Sans Serif",Font.BOLD,10),frc);
            //TextLayout t2 = new TextLayout(ps2.substring(0,35) ,new Font("Sans Serif", Font.BOLD,10),frc);
            TextLayout t3 = new TextLayout(ps3 ,new Font("Sans Serif",Font.BOLD,10),frc);
            TextLayout t4 = new TextLayout(ps4 ,new Font("Sans Serif", Font.BOLD,10),frc);        sha0=t0.getOutline(AffineTransform.getTranslateInstance(150,15));
            sha1=tl.getOutline(AffineTransform.getTranslateInstance(360,50));
            //sha2=t2.getOutline(AffineTransform.getTranslateInstance(20,90));
            sha3=t3.getOutline(AffineTransform.getTranslateInstance(300,360));
            sha4=t4.getOutline(AffineTransform.getTranslateInstance(340,380));
            g2.setColor(Color.black);        g2.setStroke(new BasicStroke(1f));
            g2.fill(sha0);
            g2.fill(sha1);
            //g2.fill(sha2);
            g2.fill(sha3);
            g2.fill(sha4);        //TEXT
            if (ps2.length()%35!=0)
            {
                int intlen=(ps2.length()/35+1)*35;
                for (int j=ps2.length();j<intlen;j++)
                {
                    ps2=ps2+" ";
                }
            }        int len=ps2.length()/35;
            for (int i=0;i<len;i++)
            {
                System.out.println("iiiiiii======================= "+i);
                Shape shap;
                TextLayout temp= new TextLayout(ps2.substring(i*35,i*35+35) ,new Font("Sans Serif", Font.BOLD,10),frc);
                shap=temp.getOutline(AffineTransform.getTranslateInstance(20,90+i*15));
                g2.fill(shap);
            }    }
    }