首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

过时API解决思路

2012-01-26 
过时API/***@(#)Exam5_17.java***@author*@version1.002007/4/8*/importjava.awt.*importjava.awt.event.

过时API
/**
  *   @(#)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

[解决办法]
编译的时候会提示
注意: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)
[解决办法]
在新的jdk版本中,show()已经不再使用,你可以试一试吧它注掉,然后再执行程序,看看窗口会不会出来。
[解决办法]
setVisible(true)就可以了,show()不用加了
[解决办法]
版本问题,旧版的东西会淘汰掉!

热点排行