急救:JAVA菜菜鸟请教一个问题

[复制链接]
查看11 | 回复9 | 2008-6-25 18:18:36 | 显示全部楼层 |阅读模式
各位我在自己的WINDOWD的CMD命令行运行java ImageViewer这个执行命令后提示如下信息,搞不懂,请教一下?希望能够说明白点,小弟我万分谢谢!!!!!!!!!!!!!
D:Program FilesImageViewer>java ImageViewer
Exception in thread "main" java.lang.NoClassDefFoundError: ImageViewer

我的ImageViewer 这个JAVA文件是放在这个目录下了,具体内容如下:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
/**
A program for viewing images.
*/
public class ImageViewer
{
public static void main(String[] args)
{
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
/**
A frame with a label to show an image.
*/
class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
// use a label to display the images
label = new JLabel();
add(label);
// set up the file chooser
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
// set up the menu bar
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu menu = new JMenu("File");
menuBar.add(menu);
JMenuItem openItem = new JMenuItem("Open");
menu.add(openItem);
openItem.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent)

{

// show file chooser dialog

int result = chooser.showOpenDialog(null);

// if file selected, set it as icon of the label

if (result == JFileChooser.APPROVE_OPTION)

{

String name = chooser.getSelectedFile().getPath();

label.setIcon(new ImageIcon(name));

}

}

});
JMenuItem exitItem = new JMenuItem("Exit");
menu.add(exitItem);
exitItem.addActionListener(new
ActionListener()
{

public void actionPerformed(ActionEvent event)

{

system.exit(0);

}
});
}
private JLabel Jabel;
private JFileChooser chooser;
private static final int DEFAULT_WIDTH = 300;
private static final int DEFAULT_HEIGHT = 400;
}
回复

使用道具 举报

千问 | 2008-6-25 18:18:36 | 显示全部楼层
各位高手大侠,那个错误我后来检查了ImageViewer.java文件,修改后,再来执行java ImageViewer,报下面的错
D:Program FilesImageViewer>java ImageViewer
Exception in thread "main" java.lang.UnsupportedClassVersionError: ImageViewer (
Unsupported major.minor version 50.0)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
我的ImageViewer.java的文件应该没有问题,因为我在eclipse上来运行这个程序是可以成功的,现在就搞不懂为什么在cmd命令行里就出现这个情况,多谢指教!
修改后的ImageViewer.java文件如下:
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
/**
A program for viewing images.
*/
public class ImageViewer
{
public static void main(String[] args)
{
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
/**
A frame with a label to show an image.
*/
class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH,DEFAULT_HEIGHT);
// use a label to display the images
label = new JLabel();
add(label);
// set up the file chooser
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
// set up the menu bar
JMenuBar menuBar = new JMenuBar();
setJMenuBar(menuBar);
JMenu menu = new JMenu("File");
menuBar.add(menu);
JMenuItem openItem = new JMenuItem("Open");
menu.add(openItem);
openItem.addActionListener(new
ActionListener()
{
public void actionPerformed(ActionEvent event)

{

// show file chooser dialog

int result = chooser.showOpenDialog(null);

// if file selected, set it as icon of the label

if (result == JFileChooser.APPROVE_OPTION)

{

String name = chooser.getSelectedFile().getPath();

label.setIcon(new ImageIcon(name));

}

}

});
JMenuItem exitItem = new JMenuItem("Exit");
menu.add(exitItem);
exitItem.addActionListener(new
ActionListener()
{

public void actionPerformed(ActionEvent event)

{

System.exit(0);

}
});
}
private JLabel label;
private JFileChooser chooser;
private static final int DEFAULT_WIDTH = 600;
private static final int DEFAULT_HEIGHT = 800;
}
回复

使用道具 举报

千问 | 2008-6-25 18:18:36 | 显示全部楼层
1.確認你的環境變量是正確的
2.到你的放JAVA文件的地方來執行JAVA命令
回复

使用道具 举报

千问 | 2008-6-25 18:18:36 | 显示全部楼层
C:Program FilesJavajre1.6.0_05in>java -version
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
C:Program FilesJavajre1.6.0_05in>
执行了呀, 看看,并没有报错吧
回复

使用道具 举报

千问 | 2008-6-25 18:18:36 | 显示全部楼层
recompile this program
回复

使用道具 举报

千问 | 2008-6-25 18:18:36 | 显示全部楼层
class执行jre的版本低于class编译jdk的版本
回复

使用道具 举报

千问 | 2008-6-25 18:18:36 | 显示全部楼层
試試樓上的。
不過我的JRE版本貌似沒有他的高,不過能咝羞@個程序。
我是在ImageViewer.java的目錄下執行java ImageViewer ,就OK,在C盤目錄下不行...
敬待高人來解。
回复

使用道具 举报

千问 | 2008-6-25 18:18:36 | 显示全部楼层
装了多少jdk啊
回复

使用道具 举报

千问 | 2008-6-25 18:18:36 | 显示全部楼层
原帖由 justforregister 于 2008-4-6 13:57 发表
装了多少jdk啊


同问,呵呵
回复

使用道具 举报

千问 | 2008-6-25 18:18:36 | 显示全部楼层
jdk-1_5_0_06 ,装的是这个版本的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行