【发布时间】:2015-10-08 05:36:01
【问题描述】:
我想弄清楚为什么我编写的第三个小程序在 BlueJ 中表现得很好,但是当我尝试在浏览器中查看它时会抛出“java.lang.reflect.InvocationTargetException”。我还是个新手,也不知道在哪里查看完整的错误日志。请帮忙。
代码
/**
* Array - Dictionary (English to Korean)
*
* Jodi Rehlander
* October, 2015 for CSci1130-51
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.text.*;
import java.applet.*;
public class Dictionary extends JApplet implements ActionListener
{
JLabel mainLabel, picLabel, header;
Image headerImg;
ImageIcon headerIcon, translateIcon;
JButton[ ] words =
{
new JButton( "Airplane" ),
new JButton( "Car" ),
new JButton( "Cat" ),
new JButton( "Chair" ),
new JButton( "Flag" ),
new JButton( "Newspaper" ),
new JButton( "Spoon" ),
new JButton( "Paintbrush" ),
new JButton( "Horse" ),
new JButton( "Female" )
};
ImageIcon[ ] pics =
{
new ImageIcon( "airplane.png" ),
new ImageIcon( "car.png" ),
new ImageIcon( "cat.png" ),
new ImageIcon( "chair.png" ),
new ImageIcon( "flag.png" ),
new ImageIcon( "newspaper.png" ),
new ImageIcon( "spoon.png" ),
new ImageIcon( "paintbrush.png" ),
new ImageIcon( "horse.png" ),
new ImageIcon( "female.png" ),
};
public void init( )
{
//set default background to white
getContentPane( ).setBackground( Color.WHITE );
setLayout( new BorderLayout( ) );
headerImg = getImage( getCodeBase( ), "headerImg.png" );
headerIcon = new ImageIcon( headerImg );
header = new JLabel ( headerIcon );
add( header, BorderLayout.NORTH );
translateIcon = new ImageIcon( );
picLabel = new JLabel( );
picLabel.setHorizontalAlignment( JLabel.CENTER );
add( picLabel, BorderLayout.CENTER );
JPanel pane = new JPanel( new GridLayout( 10, 0 ) );
pane.setOpaque( true );
for (int x=0; x < words.length; x++ )
{
words[x].addActionListener( this );
pane.add( words[x] );
}
add( pane, BorderLayout.WEST );
}
public void actionPerformed( ActionEvent ae)
{
Object obj = ae.getSource( );
for( int x=0; x < words.length; x++ )
if( obj == words[x] )
picLabel.setIcon( pics[x] );
repaint( );
}
}
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file automatically generated by BlueJ Java Development -->
<!-- Environment. It is regenerated automatically each time the -->
<!-- applet is run. Any manual changes made to file will be lost -->
<!-- when the applet is next run inside BlueJ. Save into a -->
<!-- directory outside of the package directory if you want to -->
<!-- preserve this file. -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Dictionary Applet</title>
</head>
<body>
<h1>Dictionary Applet</h1>
<hr>
<applet code="Dictionary.class"
width=600
height=500
codebase="."
alt="Your browser understands the <APPLET> tag but isn't running the applet, for some reason."
>
Your browser is ignoring the <APPLET> tag!
</applet>
<hr>
</body>
</html>
错误
ui: Pushing modality for applet ID 1 with dialog sun.plugin.util.PluginSysUtil$DummyDialog[dialog0,-100,-100,132x38,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,3,25,126x10,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
basic: Dialog type is not candidate for embedding
ui: Pushing modality for applet ID 1 with dialog javax.swing.JDialog[dialog1,462,324,516x190,layout=java.awt.BorderLayout,TOOLKIT_MODAL,title=Application Error,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,3,25,510x162,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
ui: Pushing modality for applet ID 1 with dialog sun.plugin.util.PluginSysUtil$DummyDialog[dialog2,-100,-100,132x38,layout=java.awt.BorderLayout,APPLICATION_MODAL,title=,defaultCloseOperation=HIDE_ON_CLOSE,rootPane=javax.swing.JRootPane[,3,25,126x10,layout=javax.swing.JRootPane$RootLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777673,maximumSize=,minimumSize=,preferredSize=],rootPaneCheckingEnabled=true]
【问题讨论】:
-
HTML 是什么样的?
-
请复制所有错误信息 - 行和堆栈跟踪等详细信息应该存在于某处(自从我完成 java 以来已经有一段时间了)
-
您使用的是哪些浏览器?
-
编辑添加错误。 @丹尼尔布罗斯
标签: java swing japplet invocationtargetexception