回 帖 发 新 帖 刷新版面

主题:问一个有关java 的问题 大家帮帮忙呀

import java.awt.*;

import java.awt.event.*;
public class Labeldemo extends Frame

{
  public class Lebeldemo(String str)

     {

    super(str);

    super.setBounds(0,0,400,300);

      }

  

   public static void main(Sting[] args)

   {

      /*Textdemo f=new Textdemo("带文本的窗口");

   TextField t1=new TextField("这是单行文本");

      TextArea t2=new TextArea("这是多行文本");

      t1.setBakground(Color.pink);

   t2.setColumns(25);

      t2.setRows(10);

   Panel p=new panel();

   p.add(t1);

   p.add(t2);

   f.add(p);*/
     Labeldemo f=new Labeldemo("带label的窗口");

     Label l1=new Label("label1");

     Label l2=new Label("label2");

  Label l3=new Label("label3");

  l1.setAlignment(0);

  l3.setAlignment(3);

     f.add(l1,Borderlayout.NORTH);

     f.add(l2,Borderlayout.CENTER);

     f.add(l3,Borderlayout.SOUTH);
 
      f.addWindowListener(new WindowAdapter(){

  

         public void windowClosing(WindowEvent e)

      {

           System.exet(0);

   

    }

   

  });

   

        f.show();

  

    }
}
 
这段代码有错误吗,为什么一运行就出错

回复列表 (共2个回复)

沙发

。。。。你写的什么
一开始的构造函数,其实可以没必要搞那么多super
直接用setTitle就可以设置标题
设置边界子类也是可以继承的,没必要再super到父类来调用这个方法了,多此一举

System.exet应该是exit吧
f.show()的用法是jdk早期版本提供的,现在已经不提倡了(deprecated),
之所以现在jdk仍存在此函数是因为商业产品不得对之前的版本保持兼容性,但说不好哪天,新版本就把此函数给删除了,毕竟Sun 说了 all rights reserved。所以应注意。
现在提倡的方式是使用setVisible(true)来显示。
把参数设置为false就可以停止显示。

还有JFrame
你添加东西想要看到效果,得首先getContentPane()
就是得到它的主内容面板,然后把你要显示的label加到此面板上

板凳

   

我来回复

您尚未登录,请登录后再回复。点此登录或注册