在applet中调用另一个applet

问题描述 投票:0回答:2

我想从另一个applet调用(只显示另一个applet)一个applet。我只是在我的第一个applet上放了一个按钮,并且在其actionperformed方法上使用了getcontextapplet()方法。但是没有显示第二个小程序。

如何在第一个反应中显示第二个applet ...

代码:

import java.io.*;
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.sql.*;
import javax.swing.*;
public class home extends Applet implements ActionListener
{
    Container c1;
    Label l1,l2,l3,l4;
    TextField t1;
    Button b1,b2;
    ImageIcon icon;
    Panel p1;
    URL order;

    public void init()
    {
        // Tell the applet not to use a layout manager. 
        setLayout(null); 



        l1=new Label("MINDSOFT CONSULTANTS");
        Font fg=new Font("Times new roman",Font.BOLD,50);
        add(l1);
        l1.setFont(fg);
        l1.setBounds(20,20,800,70);

        l2=new Label("Strength of 5000 employees");
        fg=new Font("Times new roman",Font.BOLD,25);
        l2.setFont(fg);
        l2.setBounds(180,120,500,30);
        add(l2);

        l3=new Label("Specialised in IT and computing services");
        l3.setFont(fg);
        l3.setBounds(90,180,500,30);
        add(l3);

        l4=new Label("A total of 10 different departments");
        l4.setFont(fg);
        l4.setBounds(140,240,500,30);
        add(l4);

        b1=new Button("VIEW DETAIL");
        b1.setBounds(150,320,150,40);
        add(b1);
        b1.addActionListener(this);

        b2=new Button("ADD DETAIL");
        b2.setBounds(450,320,150,40);
        add(b2);

        try
        {
        order =new URL("C:\Documents and Settings\Administrator\Desktop\try\add.html");   
        }
        catch(MalformedURLException e){
        System.out.println("HH");
        }


    }

    public void actionPerformed(ActionEvent e)
    {

        if(e.getSource()==b1)
        {
        getAppletContext().showDocument(order);
        System.out.println("HI");
        }

    }
}   
java button applet call
2个回答

0
投票

如果您仍然在第57行看到“非法转义字符”错误,那么它将在您实例化order时传递给您正在传递的字符串文字:

order =new URL("C:\Documents and Settings\Administrator\Desktop\try\add.html");   

Java Escape Character是反斜杠(\)。因此,每次使用反斜杠时,编译器都会认为您正在尝试转义其后面的字符。例如,在字符串中

C:\Documents

...编译器将\D视为单个转义字符,而不是两个字符。您看到的编译器错误告诉您它无法识别该字符串中的某些转义字符(\D\A\t)。

解决方案是逃避转义字符,例如使用反斜杠为每个反斜杠添加前缀:

order =new URL("C:\\Documents and Settings\\Administrator\Desktop\\try\\add.html"); 

这告诉编译器将反斜杠视为反斜杠,而不是转义字符。

© www.soinside.com 2019 - 2024. All rights reserved.