test.htm<html>
<head><title>Java Applet Example</title></head>
<body>
<center>
<applet archive="test.jar"  code="Hello.class" height=200 width=300></applet>
</center>
</body>
</html>其中test.jar包含fox.gif和那个辅助类WindowEventHandler

解决方案 »

  1.   

    看不懂你的程序的意思
    又是JApplet又是JFrame
    如果你直接把JLabel加入到JFrame还出现类似问题,再提问吧.....
      

  2.   

    不知道你到底有fox.gif这个文件没有??
      

  3.   

    送你一句话:尽信书则不如无书.
    你太教条了
    applet和application的确可以混合编写但是这是不可取的
      

  4.   

    用这个:
    getContentPane().add(new JLabel("Hello!Swing World",new ImageIcon("fox.gif"),JLabel.CENTER));提示错误:java.security.AccessControlException: access denied (java.io.FilePermission fox.gif read) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkRead(Unknown Source)
    at sun.awt.SunToolkit.getImageFromHash(Unknown Source)
    at sun.awt.SunToolkit.getImage(Unknown Source)
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at javax.swing.ImageIcon.<init>(Unknown Source)
    at Hello.init(Hello.java:10)
    at sun.applet.AppletPanel.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)用这个:getContentPane().add(new JLabel("Hello!Swing World",null,JLabel.CENTER));
    正常显示。
      

  5.   

    new ImageIcon("fox.gif")用的是访问本地文件的方法,applet在浏览器里运行时安全机制不允许它访问本地文件,在appletviewer里运行应该没问题。
    建议学习一下给applet签名以及怎样用ClassLoader里用通过URL获取资源的方法
      

  6.   

    如果把图片文件打包成JAR,下载,可以吗?我已经打包了,可是没运行!
      

  7.   

    参考如下代码,也许对你有帮助试试:
    import java.awt.*;
    import java.awt.event.*;
    import java.util.Vector;
    import javax.swing.*;public class JListDemo extends Frame {
      Panel panelShow = new Panel();
     
      JList dataList;
      BorderLayout bordL = new BorderLayout();
      JTextField textField;  public JListDemo() {
        try {
        textField=new JTextField("first");
        String[] data = {"one", "two", "free", "four"};
    JList dataList = new JList(data);
            panelShow.setLayout(bordL);
            dataList.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(MouseEvent e) {
            textField.setText("change");
             }
             });
     dataList.setVisibleRowCount(12); // Add list to a scrollpane
         JScrollPane scrollPane = new JScrollPane(dataList);
         panelShow.add(scrollPane);
             String str="c:/csdn.gif";
     JButton butt=new JButton(createImageIcon("csdn.gif", "Splash.accessible_description"));
    // Button1 = new JButton(new ImageIcon("tray1.gif"));
            butt.addKeyListener(new java.awt.event.KeyAdapter(){
            public void keyPressed(KeyEvent e)
             {
    if(e.getKeyCode()==KeyEvent.VK_ENTER)
            textField.setText("wwwwww");
             }
             });
             panelShow.add(textField, BorderLayout.SOUTH);
     panelShow.add(butt, BorderLayout.EAST);
             this.add(panelShow, BorderLayout.CENTER);
              
        }
        catch(Exception e) {
          e.printStackTrace();
        }
      }
      public static void main(String[] args) {
        JListDemo JListDemo = new JListDemo();    JListDemo.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent e) {System.exit(0);}
            });
        JListDemo.setBounds (120,120,300,300);
        JListDemo.show ();
      }
        public ImageIcon createImageIcon(String filename, String description) {
    String path = "/images/" + filename;
    return new ImageIcon(getClass().getResource(path)); 
        }}