0

このプログラムは、1 つの通常のボタン (a) と 3 つのラジオ ボタン (x、z、y) を表示する必要があります。ユーザーが 1 つのラジオ ボタンを選択してボタン a を押すと、ユーザーは Web サイトにリダイレクトされます。問題は打ち上げ中です。ウィンドウには何も表示されず、左下に「開始: アプレットが初期化されていません」というメッセージが表示されます。また、コンソールに「java.lang.InstantiationException」が表示されます。

どんな助けにも感謝します。

package nome.nonoriginale;

import java.awt.Button;
import java.awt.Checkbox;
import java.awt.event.ActionListener;
import java.net.MalformedURLException;
import java.net.URL;

import javax.swing.JApplet;

import com.sun.corba.se.spi.orbutil.fsm.Action;

public abstract class Linkers extends JApplet implements ActionListener
{
Button a = new Button("Go to");

URL libro1;
URL libro2;
URL libro3;

Checkbox x;
Checkbox z;
Checkbox y;

public void init()
{
    try
    {
        libro1 = new URL("http://www.reddit.com/");
        libro2 = new URL("http://www.youtube.com/");
        libro3 = new URL("http://www.ismatteirecanati.it/default.aspx?pag=0&lang=it");
    }
    catch(MalformedURLException e)
    {
        System.out.println("Link's broken, brah");
    }
    add(a);
    add(x);
    add(z);
    add(y);

    a.addActionListener(this);
}

public void ActionPerformed(Action e)
{   
    if(x.getState() == true)
        getAppletContext().showDocument(libro1);

    else if(y.getState() == true)
        getAppletContext().showDocument(libro2);

    else if(z.getState() == true)
        getAppletContext().showDocument(libro3);
}

}
4

1 に答える 1

1

宣言されているため、クラスをインスタンス化できませんabstractabstractクラス宣言からキーワードを削除する必要があります。

public class Linkers extends JApplet implements ActionListener

それとは別に、以下を実装することで実装できますActionListener

public void actionPerformed(ActionEvent e) {

誤って CORBAActionクラスをインポートしたようです。

これらの変更が行わNullPointerExceptionれると、チェックボックスがインスタンス化されていないため、 が表示されます。

AWT と Swing コンポーネントを混在させないでください。AWT は重量があり、Swing コンポーネントの描画に悪影響を及ぼします

あなたが使用できるように:

JCheckBox x = new JCheckBox();
于 2012-10-01T20:37:31.940 に答える