/**
 * @(#)Exam5_17.java
 *
 *
 * @author 
 * @version 1.00 2007/4/8
 */
import java.awt.*;
import java.awt.event.*;
public class Exam5_17 
{
   public static void main(String args[])
   {
      Frame p=new Frame();
      popWin mp=new popWin(p);
   }
}
class popWin extends  Window implements ItemListener
{
Frame myfra;
TextField text=new TextField("复选框");
CheckboxGroup chbox=new CheckboxGroup();

Checkbox chbox1=new Checkbox("A",chbox,false);
Checkbox chbox2=new Checkbox("B",chbox,false);
Checkbox chbox3=new Checkbox("C",chbox,false);
Checkbox chbox4=new Checkbox("D",chbox,false);
Checkbox chbox5=new Checkbox("E",chbox,false);
popWin(Frame p)
{
    super(p);
myfra=p;
setLayout(new GridLayout(6,1));
chbox1.addItemListener(this);
chbox2.addItemListener(this);
chbox3.addItemListener(this);
chbox4.addItemListener(this);
chbox5.addItemListener(this);
add(text);
add(chbox1);
add(chbox2);
add(chbox3);
add(chbox4);
add(chbox5);
pack();
show();
}
public  void itemStateChanged(ItemEvent e)
{ }

}
   编译说我使用和覆盖了过时的API 不知道是哪个API

解决方案 »

  1.   

    编译的时候会提示
    注意:Exam5_17.java 使用或覆盖了已过时的 API。
    注意:要了解详细信息,请使用 -Xlint:deprecation 重新编译。所以你用这个命令编译
    javac -Xlint:deprecation Exam5_17.java结果
    Exam5_17.java:46: 警告:[deprecation] java.awt.Window 中的 show() 已过时
                    show();
                    ^
    1 警告
    查文档你可以发现,推荐用setVisible(boolean)代替。
    也就是,你应该把show()换成setVisible(true)
      

  2.   

    在新的jdk版本中,show()已经不再使用,你可以试一试吧它注掉,然后再执行程序,看看窗口会不会出来。
      

  3.   

    setVisible(true)就可以了,show()不用加了