Java Applet和控制台

时间:2014-11-29 18:03:30

标签: java applet

我是构建Java小程序的新手 我想在Java applet中显示它在我的控制台中显示的内容,我知道你应该使用paint方法,但我不知道如何在代码中调用它。

public void paint(Graphics g) {        
    //Draw a rectangle width=250, height=100       
    g.drawRect(0,0,250,100);         
    //Set the color to blue      
    g.setColor(Color.blue);         
    //Write the message to the web page       
    g.drawString("Running",10,50);   

这就是我目前所拥有的,它是从控制台运行的整个程序

System.out.println(x)

无论如何都要打电话给

paint(x)

在applet上显示与控制台上显示的相同?另外,我需要它不断刷新。

1 个答案:

答案 0 :(得分:0)

您没有调用超类方法。放

super.paint(g);

先于其他任何事情。

如果要在控制台上同时在applet上显示消息,则需要有一个调用repaint();的方法。我设置它的方法是拥有一个字符串的Arraylist。当你想要写入applet输出的东西时,你将新的String添加到ArrayList,然后调用repaint()。然后,在paint()中,

ArrayList<String> ar = new ArrayList();
public void paint(Graphics g) {   
    super.paint();
    //Draw a rectangle width=250, height=100       
    g.drawRect(0,0,250,100);         
    //Set the color to blue      
    g.setColor(Color.blue);         
    //Write the message to the web page
    for(int i = 0; i<ar.size(); i++)
        g.drawString(ar.get(i), 10, 50); }

如果你想要一个执行此操作的函数,你可以像这样编写

public void appletOut.println(String str){
   ar.add(str);
   repaint();
}

最后,我怀疑这条路线是否真的最适合你想要完成的事情。我建议研究文本字段和滚动条,看看它是否更适合您的参数。