import  javax.swing.*;  
import  java.awt.*;  
import  java.awt.event.*;  
 
class  MyLabel  extends  JLabel  
           {  
                       MyLabel()  
                       {  
                                   setSize(20,100);  
                       }  
                       public  void  paint(Graphics  g)  
                       {  
                                   g.drawString("写",2,14);  
                                   g.drawString("个",2,34);  
                                   g.drawString("竖",2,54);  
                                   g.drawString("标",2,74);  
                                   g.drawString("签",2,94);  
                                     
                       }  
           }  
 
public  class  labeltest  extends  JFrame  
{  
           MyLabel  mylabel;  
           JPanel  p1=new  JPanel();  
           Container  con;  
           labeltest()  
           {  
                                   super("标签测试程序");  
                                   setSize(400,300);  
                                   setVisible(true);  
                                   con=getContentPane();  
                                   mylabel=new  MyLabel();  
                                   p1.add(mylabel);  
                                   con.add(p1,BorderLayout.CENTER);  
                                   addWindowListener(new  WindowAdapter()  
                                   {public  void  windowClosing(WindowEvent  e)  
                                               {System.exit(0);}});  
                                     
                       }  
                       public  static  void  main(String[]  args)  
                       {  
                                               labeltest  fr=new  labeltest();  
                                               fr.validate();  
                                   }  
}  
这个为什么不显示  
把mylabel  放到con  就能显示了。  
 
还有我想写个竖的标签  还有别的办法不?

解决方案 »

  1.   


    import  javax.swing.*;  
    import  java.awt.*;  
    import  java.awt.event.*;  
     
    class  MyLabel  extends  JLabel  
               {  
                           MyLabel()  
                           {  
                                       setSize(20,100);  
                           }  
                           public  void  paint(Graphics  g)  
                           {  
                                       g.drawString("写",2,14);  
                                       g.drawString("个",2,34);  
                                       g.drawString("竖",2,54);  
                                       g.drawString("标",2,74);  
                                       g.drawString("签",2,94);  
                                         
                           }  
               }  
     
    public  class  Labeltest  extends  JFrame  
    {  
               MyLabel  mylabel;  
               //JPanel  p1=new  JPanel(new   BorderLayout());  
               JPanel  p1=new  JPanel();  
               Container  con;  
               Labeltest()  
               {  
                                       super("标签测试程序");  
                                       setSize(400,300);  
                                       setVisible(true);  
                                       con=getContentPane();  
                                       mylabel=new  MyLabel();  
                                       p1.setLayout(null);//设置空布局 
                                       p1.add(mylabel ,null);  
                                       con.add(p1,BorderLayout.CENTER);  
                                       addWindowListener(new  WindowAdapter()  
                                       {public  void  windowClosing(WindowEvent  e)  
                                                   {System.exit(0);}});  
                                         
                           }  
                           public  static  void  main(String[]  args)  
                           {  
                               
                                       Labeltest  fr=new  Labeltest();  
                                       fr.validate();  
                           }  
    }  
    布局的设置问题吧
      

  2.   

    panel 是需要Container的,需要在panel终增加一个Container,之后的东西直接加到Container中。