为了账号安全,请及时绑定邮箱和手机立即绑定

书上的源代码直接用cmd运行没有问题但是eclipse却报错是为什么

书上的源代码直接用cmd运行没有问题但是eclipse却报错是为什么

人间的下午茶 2016-11-06 14:59:47
java代码直接用命令行编译运行没有错误,但是导入项目后 eclipse却显示有错误  代码是java核心技术的源代码import java.awt.*;import java.io.*;import javax.swing.*;/** * A program for viewing images. * @version 1.30 2014-02-27 * @author Cay Horstmann */public class ImageViewer{   public static void main(String[] args)   {      EventQueue.invokeLater(() -> {         JFrame frame = new ImageViewerFrame();         frame.setTitle("ImageViewer");         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         frame.setVisible(true);      });   }}/** * A frame with a label to show an image. */class ImageViewerFrame extends JFrame{   private JLabel label;   private JFileChooser chooser;   private static final int DEFAULT_WIDTH = 300;   private static final int DEFAULT_HEIGHT = 400;   public ImageViewerFrame()   {      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(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(event -> System.exit(0));   }}
查看完整描述

4 回答

?
rookie2maven

TA贡献278条经验 获得超76个赞

eclipse检查 ->,语法上不支持


查看完整回答
反对 回复 2016-11-06
?
懒羊

TA贡献7条经验 获得超0个赞

/**

*java中匿名类的创建 (参考下列,加粗,倾斜的代码)

*/




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.JMenuItem;

public class ImageViewer {

     public static void main(String[] args)

       {

          EventQueue.invokeLater(

             new Runnable() {
            public void run() {
                
             JFrame frame = new ImageViewerFrame();

             frame.setTitle("ImageViewer");

             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

             frame.setVisible(true);
            }  }     );

       }

}


class ImageViewerFrame extends JFrame

{

   private JLabel label;

   private JFileChooser chooser;

   private static final int DEFAULT_WIDTH = 300;

   private static final int DEFAULT_HEIGHT = 400;


   public ImageViewerFrame()

   {

      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 e) {
            // TODO Auto-generated method stub
            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 e) {
            
            System.exit(0);
        }          
   });

}



查看完整回答
反对 回复 2016-11-06
?
ewang1986

TA贡献27条经验 获得超5个赞

可能是eclipse不识别Lambda语法

查看完整回答
反对 回复 2016-11-06
  • 4 回答
  • 0 关注
  • 2023 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信