代码来自《java核心技术》第八版,23页 import java.util.*;
import java.awt.EventQueue;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;public class ImageViewer
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation((JFrame.EXIT_ON_CLOSE) );
frame.setVisible(true);
}
});
}
}
class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
label = new jLabel();
add(label);
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
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)
{
int result = chooser.showOpenDialog(null);
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 = 300;
private static final int DEFAULT_HEIGHT = 400;
}
}Eclipse 提示:
Exception in thread "main" java.lang.Error: 无法解析的编译问题: at ImageViewer.main(ImageViewer.java:9)
import java.awt.EventQueue;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;public class ImageViewer
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation((JFrame.EXIT_ON_CLOSE) );
frame.setVisible(true);
}
});
}
}
class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
label = new jLabel();
add(label);
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
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)
{
int result = chooser.showOpenDialog(null);
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 = 300;
private static final int DEFAULT_HEIGHT = 400;
}
}Eclipse 提示:
Exception in thread "main" java.lang.Error: 无法解析的编译问题: at ImageViewer.main(ImageViewer.java:9)
解决方案 »
- java中,spring 中的ioc aop的小问题,在线等
- Windows下创建的txt文件到solaris上用java读取变成乱码~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 在线紧急求助!简单的问题!
- 关于数据库查询非法字符串
- 缺失右括号
- 如何去掉JTree节点的图标?
- 弱弱的问:怎么输出双引号??
- 求一段关于打印的代码,任何形式的都可以!
- jdk路径设置与jbuilder注册表冲突,卸掉jbuilder仍不管用,怎么解决??给分给分
- 关于字节流的文本保存思路(100分跪求!)
- 请教一个计算百分比数字的方法
- 还是关于synchronized(Object)的问题?遇到了一个新情况。
import java.awt.EventQueue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.*;public class ImageViewer {
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation((JFrame.EXIT_ON_CLOSE));
frame.setVisible(true);
}
});
}
}class ImageViewerFrame extends JFrame {
public ImageViewerFrame() {
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); label = new JLabel();// error
add(label); chooser = new JFileChooser();
chooser.setCurrentDirectory(new File(".")); JMenuBar menubar = new JMenuBar();// error
setJMenuBar(menubar);// error + error JMenu menu = new JMenu("File");
menubar.add(menu);// error JMenuItem openItem = new JMenuItem("Open");
menu.add(openItem); openItem.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
int result = chooser.showOpenDialog(null); 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 = 300;
private static final int DEFAULT_HEIGHT = 400;
}
public class ImageViewer
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation((JFrame.EXIT_ON_CLOSE) );
frame.setVisible(true);
}
});
}
}
class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
label = new JLabel();
add(label);
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
JMenuBar menubar = new JMenuBar();
// this.setJMenuBar(menubar)
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)
{
int result = chooser.showOpenDialog(null);
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 = 300;
private static final int DEFAULT_HEIGHT = 400;
}
改过后的代码,可以跑了import java.util.*;
import java.awt.EventQueue;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;public class ImageViewer
{
public static void main(String[] args)
{
EventQueue.invokeLater(new Runnable()
{
public void run()
{
JFrame frame = new ImageViewerFrame();
frame.setDefaultCloseOperation((JFrame.EXIT_ON_CLOSE) );
frame.setVisible(true);
}
});
}
}
class ImageViewerFrame extends JFrame
{
public ImageViewerFrame()
{
setTitle("ImageViewer");
setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);
label = new JLabel();
add(label);
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
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)
{
int result = chooser.showOpenDialog(null);
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 = 300;
private static final int DEFAULT_HEIGHT = 400;
}