2010-12-29 2 views
0

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

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?"); 
      } 
    } 
} 

и 2-й код апплета:

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> 

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

+0

Правильно отформатируйте исходный код. – Oswald

+0

Что вы получаете на консоли Java? Говорит ли он, что «апплет не найден?» –

+1

Если вы хотите получить помощь, пожалуйста, прочитайте раздел «как задать вопрос» перед публикацией здесь. http://stackoverflow.com/questions/how-to-ask. Ваш «Сомнение в программировании на Java ... !!» название ничего не говорит о том, что вы хотите знать. Кроме того, это помогает отформатировать ваш код, чтобы он был читабельным. – 08Hawkeye

ответ

1

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

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.

Смежные вопросы