Связь между апплетами - PullRequest
       2

Связь между апплетами

0 голосов
/ 29 декабря 2010

Пожалуйста, проверьте эти примеры кода:

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class pp extends Applet implements ActionListener
{
    TextField t;
    Button    b;

    public void init()     
    {
        setLayout(new FlowLayout());
        t= new TextField(10 );
        b = new Button("Send");
        b.addActionListener(this);
        add(t);
        add(b);
    }

    public void actionPerformed(ActionEvent e) 
    {
        String str=t.getText();
        dc a2 =(dc)getAppletContext().getApplet("a2");
           if ( a2 != null ) 
               {
                  a2.append(str);
               }
           else 
           {
              System.out.println("Applet not found?");
           }
     }
}

и второй код апплета:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
/*<Applet code="dc" height=400 width=400></Applet>*/
public class dc extends Applet
{
    TextArea t;

    public void init()
    {
        setLayout(new FlowLayout());
        t=new TextArea(5,40);
        add(t);
    }

    public void append(String msg)
    {
        t.setText(msg);
    }
}

и вот HTML-код:

<HTML><HEAD></HEAD><BODY>
<APPLET CODE="pp.class"   
    HEIGHT=200 WIDTH=150>
</APPLET>
<APPLET CODE="dc.class"  
    HEIGHT=200 WIDTH=400>
</APPLET>
</BODY></HEAD>

Не знаю, почему это не работает. Эта программа написана для связи между двумя апплетами на одной странице. Может кто-нибудь сказать мне, что здесь не так?

Ответы [ 2 ]

1 голос
/ 16 июня 2011

Первый апплет:

import java.awt.*;
import java.applet.*;
public class ONE extends Applet
{
    TextArea ta;
    public void init()
    {
        ta=new TextArea(" ");
        add(ta);
    }
    public void putText(String s)
    {
        ta.appendText(s+"\n");
    }
}

Второй апплет:

import java.io.*;
import java.applet.*;
import java.awt.event.*;
import java.awt.*;


public class TWO extends Applet implements ActionListener
{
    TextField tf;
    Applet r;
    Button b;
    public void init()
    {
        tf=new TextField(20);
        add(tf);
        b=new Button("SUMBIT");
        add(b);
        b.addActionListener(this);
    }
    public void actionPerformed(ActionEvent e)
    {   r=null;
        r= getAppletContext().getApplet("ONE");
        if (r!=null)
        {
            if(e.getSource()==b)
            {
                ONE ma= (ONE) r;
                ma.putText(tf.getText());
                tf.setText("");
            }
        }       
    }
}

Используйте приведенный выше код в действии.

HTML:

<html>
<body>
<applet code="TWO" width = 150 height=150 name=TWO>
</applet>
<br></br>
<br></br>
<br></br>
<applet code="ONE" width = 200 height=200 name=ONE>
</applet>
</body>
</html>

Запустите его, используя appletviewer.

1 голос
/ 29 декабря 2010

См. Интерплет апплет

Это выглядит очень похоже на то, что вы делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...