2

私はこのコードを持っています:

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;


public class MainApp extends JApplet implements ActionListener {
    private static final long serialVersionUID = -7076767216192554828L;
    JButton begin = new JButton(new ImageIcon("splash.png"));
    @Override
    public void init() {
        setSize(300, 300);
        setLayout(new BorderLayout());
    begin.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            begin();
        }

    });
    add(begin);
    setVisible(true);
}
private void begin() {
    remove(begin);
    repaint();
}
@Override
public void actionPerformed(ActionEvent e) {
          //to be used later
}
}

Eclipseのアプレットビューアで見ると完全に機能します。ただし、HTMLでは失敗します。

<html>
<head>
<title> Test </title>
<body>
<APPLET code="MainApp.class" width="300" height="300"> Applet unavailable </APPLET> <br>
<a href="essay.docx"> Essay </a> (right click, Save Target As, in the menu under the name change it to "All Files," save as "essay.docx")
</body>
</html>

これを実行すると、java.lang.reflect.InvocationTargetException!例外を調べたところ、役に立たなかった。

.pngボタンにを使用する前に。すべてが大丈夫でした。も追加しましたrepaint()が、違いはありませんでした。

4

2 に答える 2

1

アプレットがファイルを見つけることができませんsplash.png。アプレットJarにファイルを含めましたか?

于 2012-05-02T02:14:04.277 に答える
1

画像は、HTMLファイルを含むフォルダーにあります。

// called from somewhere in the methods (e.g. init()) of the applet class 
URL urlToImage = new URL(getDocumentBase(), "splash.png");
begin = new JButton(new ImageIcon(urlToImage));
// ...
于 2012-05-02T11:27:10.957 に答える