1

私は、さまざまなバージョンの Java で起動する Web アドレスを選択できる単純なランチャーを作成する必要がある状況にあります。いくつかのサイトを調べました。ユーザーに Windows の設定を変更させることは、サポート コールが多すぎるか、ユーザーに権限がないため、オプションではありません。私が欲しいのは、URLを起動するために使用されているJavaのバージョンを設定または変更するプログラミング方法です。プロプライエタリ システムが、アドレスと Java バージョンを変更してブラウザで起動できる GUI を備えたランチャーを作成するのを見てきました。私は開発に不慣れで、使用するテクニックを理解するのに明らかに苦労しています。

正しい方向に向けてください。GUI を (C# または Java で) 書くことに慣れています。起動ボタンの関数の書き方を知りたいだけですか?

function launchbutton(url, javaversion)

{

If (javaversionselect == 1.3)
{
open url in default browser running java version 1.3
}

If (javaversionselect == 1.4)
{
open url in default browser running java version 1.4
}

If (javaversionselect == 1.5)
{
open url in default browser running java version 1.5
}

If (javaversionselect == 1.6)
{
open url in default browser running java version 1.6}
}
4

3 に答える 3

0

たとえば、「IE」や「Chrome」が使用する Java のバージョンをアプリケーションから変更することはできません。唯一の解決策は、ある種の組み込みブラウザを使用することです。

  • jBrowser
  • Mozilla の XPCOM
  • ソースを参照して、Eclipse がブラウザーにどのように組み込まれているかを調べます
于 2013-02-26T04:39:47.297 に答える
0

Bare Bones Browser Launcher は Java のバージョンを検出し、適切な呼び出しを使用します。

http://www.centerkey.com/java/browser/

于 2013-02-26T02:47:12.477 に答える
0

それを行うアプレットを書くことができます。を使用して、次のようなものをコンパイルしjavac -target 1.3ます。

public class Redirector
extends Applet {
    @Override
    public void start() {
        String newURL;

        Package pkg = Object.class.getPackage();
        if (pkg.isCompatibleWith("1.7")) {
            newURL = "java17.html";
        } else if (pkg.isCompatibleWith("1.6")) {
            newURL = "java16.html";
        } else if (pkg.isCompatibleWith("1.5")) {
            newURL = "java15.html";
        } else if (pkg.isCompatibleWith("1.4")) {
            newURL = "java14.html";
        } else {
            newURL = "java13.html";
        }

        try {
            getAppletContext().showDocument(new URL(newURL));
        } catch (MalformedURLException e) {
            showStatus(e.toString());
        }
    }
}

ユーザーが自分で Java バージョンを選択できるようにしたい場合は、そのための UI 要素をアプレットに作成できます。

public class Redirector
extends Applet
implements ActionListener {
    private Choice list;

    @Override
    public void init() {
        try {
            EventQueue.invokeAndWait(new Runnable() {
                public void run() {
                    list = new Choice();
                    list.add("1.7");
                    list.add("1.6");
                    list.add("1.5");
                    list.add("1.4");
                    list.add("1.3");

                    Button button = new Button("Launch");
                    button.addAtionListener(Redirector.this);

                    add(new Label("Java version:"));
                    add(list);
                    add(button);
                }
            });
        } catch (InvocationTargetException e) {
            throw new RuntimeException(e);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    public void actionPeformed(ActionEvent event) {
        String newURL;
        String version = list.getSelectedItem();
        if (version.equals("1.7")) {
            newURL = "java17.html";
        } else if (version.equals("1.6")) {
            newURL = "java16.html";
        } else if (version.equals("1.5")) {
            newURL = "java15.html";
        } else if (version.equals("1.4")) {
            newURL = "java14.html";
        } else {
            newURL = "java13.html";
        }

        try {
            getAppletContext().showDocument(new URL(newURL));
        } catch (MalformedURLException e) {
            showStatus(e.toString());
        }
    }
}
于 2013-02-26T11:55:20.070 に答える