1

ページにJavaアプレットが埋め込まれています。「Click Me」リンクがフォーカスを取得すると、Java スクリプトで「focusApplet」メソッドが呼び出されます。このメソッドは、アプレットの「requestFocus()」メソッドを呼び出しています。関数「focusApplet」は正常に実行されています。しかし、Safari 5、Firefox、Chrome を含む MAC 上のすべてのブラウザで、アプレット内でフォーカスが移動しません。しかし、同じコードが Windows プラットフォームで動作しています。「requestFocusInWindow()」メソッドも試しましたが、うまくいきませんでした。問題を解決するために私を助けてください。

<HTML>
    <HEAD>
    </HEAD>
    <BODY>
        <script type="text/javascript">
            function sayhello(){
                var name = document.getElementById('hellotext');
                name.focus();
                name.click();
                name.value = "raman";
            }
            function focusMe() {
                alert('Hello world!!');
                document.getElementById('hellotext').focus();
            }
            function show() {
                var name = document.getElementById('name');
                var address = document.getElementById('address');
                alert("Hello " + name.value + " Your Address is : " + address.value);// + address.value
            }
            function focusApplet(){
                document.getElementsByName('mediamaster')[0].requestFocus();
            }
        </script>
        <form>
            Text : <input type="text" id="mytext" >
            Address : <input type="text" id="address" >
            <div >
                <a  id="medialink" href="#" onfocus="focusApplet();">Click Me</a>
            </div>
            <div>
                <APPLET name="mediamaster" CODE="FirstApplet.class" WIDTH="200"
                        HEIGHT="200" name="FirstApplet" id="fA"></APPLET>
            </div>
            Name : <input type="text" id="hellotext"> Address : <input type="text">
            <input type="reset">
            <button value="Show" onclick="show()">show</button>
        </form>
    </BODY>
</HTML>

アプレット コード:

import java.applet.Applet;
import java.awt.Button;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Label;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import netscape.javascript.JSObject;
import org.w3c.dom.html.HTMLDocument;
import com.sun.java.browser.dom.DOMAccessor;
import com.sun.java.browser.dom.DOMAction;
import com.sun.java.browser.dom.DOMService;
import com.sun.java.browser.dom.DOMUnsupportedException;

public class FirstApplet extends Applet {
    private Button clear_button;
    private Choice color_choices;
    private Button button;
    public void init() {

        this.setFocusable(true);
        this.setBackground(Color.green);
        try {
            service = DOMService.getService(this);
        } catch (DOMUnsupportedException e3) {
            e3.printStackTrace();
        }
        final JSObject win = JSObject.getWindow(this);
        // Create a button and add it to the applet.
        // Also, set the button's colors
        clear_button = new Button("Clear");
        clear_button.setForeground(Color.black);
        clear_button.setBackground(Color.lightGray);
        button = new Button("Push Me");
        this.add(clear_button);
        this.add(button);
        // Create a menu of colors and add it to the applet.
        // Also set the menus's colors and add a label.
        color_choices = new Choice();
        color_choices.addItem("black");
        color_choices.addItem("red");
        color_choices.addItem("yellow");
        color_choices.addItem("green");
        color_choices.setForeground(Color.black);
        color_choices.setBackground(Color.lightGray);
        this.add(new Label("Color: "));
        this.add(color_choices);
        button.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                System.out.println("Hello World!!! Thread2");
                win.eval("sayhello()");
            }
        });

    }
}
4

0 に答える 0