日期:2014-05-20  浏览次数:20805 次

几个小问题
import   java.awt.*;
public   class   FlowLayoutWindow   extends   Frame
{
    public   FlowLayoutWindow()
    {
    setLayout(new   FlowLayout());
    add(new   Label( "1 "));
    add(new   Button( "2 "));
    add(new   Label( "3 "));
    add(new   Label( "4 "));
    add(new   Label( "5 "));
    add(new   Label( "6 "));
    }
public   static   void   main(String   args[])
  {
  FlowLayoutWindow   window=new   FlowLayoutWindow();
  window.setTitle( "Flowwindow   Application ");
  window.pack();
  window.show();
  }
}

1.编译提示FlowLayoutWindow.java使用或覆盖已过时的API,怎么办?

2.还有这段代码看不懂setLayout(new   FlowLayout()),能不能解释一下

3.pack,show这些是什么方法,为什么可以直接调用,


------解决方案--------------------
1.编译提示FlowLayoutWindow.java使用或覆盖已过时的API,怎么办?
JDK版本升级后,就这样,你可以查看最新的API,有升级版本的函数可以使用。
2.还有这段代码看不懂setLayout(new FlowLayout()),能不能解释一下
设置布局管理器为 流式布局。
3.pack,show这些是什么方法,为什么可以直接调用。
怎么是直接调用,你不是NEW 对象了吗?
静态方法才可以直接调用,多理解下static,public等关键字。
------解决方案--------------------
你的类FlowLayoutWindow 是 Frame的子类

pack ,show 是Frame定义的方法 所以你可以直接调用

不用定义

这就是继承的好处
------解决方案--------------------
API过时没关系的,看一下对应版本的API就知道用什么了

setLayout(new FlowLayout())
就是在调用这个方法的时候
即时创建一个FlowLayout的对象(布局对象)


pack、show方法是继承过来的
------解决方案--------------------
对这是一个父类你调用就可以了