import java.awt.*;
import javax.swing.*;
import java.util.*;
public class JBall extends JFrame{
JBallPanel news=new JBallPanel();
public JBall(){
super("JBall");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(420,220);
JPanel pane=new JPanel();
pane.setLayout(new GridLayout(1,1,15,15));
pane.add(news);
setContentPane(pane);
show();
news.scroll();
}
public static void main(String arg[]){
JBall head=new JBall();
}
}
class JBallPanel extends JPanel{
String[] headlines={"hello","how are you?"};
int y=76;
void scroll(){
while(true){
y=y-1;
if(y<-7)
y=76;
repaint();
try{
Thread.sleep(250);
}catch(InterruptedException e){}
}
}
public void paintComponent(Graphics comp){
Graphics2D comp2D=(Graphics2D)comp;
comp.setColor(getBackground());
comp.fillRect(0,0,getSize().width,getSize().height);
comp2D.setColor(Color.blue);
for(int i=0;i<headlines.length;i++)
comp2D.drawString(headlines[i],5,y+(20*i));
}
}
当我运行上面的代码时,它说JBall.java使用或覆盖了已弃用的API,并使用-Xlint:deprecation重新编译以获取详细信息。请帮我弄清楚哪里出了问题。谢谢
最佳答案
show();
已使用setVisible(true)
进行了详细描述。
以下是Java文档的描述。
不推荐使用。从JDK 1.5版开始,由setVisible(boolean)取代。
使窗口可见。如果Window和/或其所有者还没有
可显示的,两者都可显示。窗口将被验证
在显示之前。如果窗口已经可见,则此
将窗口移到最前面。