• 技术文章 >Java >java教程

    JAVA中的->是什么意思?

    醉折花枝作酒筹醉折花枝作酒筹2021-04-28 09:12:54转载590
    本篇文章给大家介绍一下JAVA中的“->”的意思。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

    在《JAVA核心编程》中,有一段这样的代码

    import javax.swing.*;
    import java.awt.*;
    import java.io.File;
     
    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);
     
            });
        }
    }
    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);
     
            label = new JLabel();
            add(label);
     
            chooser = new JFileChooser();
            chooser.setCurrentDirectory(new File("."));
     
            JMenuBar menuBar = new JMenuBar();
            setJMenuBar(menuBar);
            JMenu menu = new JMenu();
            menuBar.add(menu);
     
            JMenuItem openItem = new JMenuItem("open");
            menu.add(openItem);
            openItem.addActionListener(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(Event -> System.exit(0));
        }
    }

    可以看到两处这样的代码

    () -> {
                JFrame frame = new ImageViewerFrame();
                frame.setTitle("ImageViewer");
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setVisible(true);
     
            }
    Event -> {
                int result = chooser.showOpenDialog(null);
     
                if (result == JFileChooser.APPROVE_OPTION){
                    String name = chooser.getSelectedFile().getPath();
                    label.setIcon(new ImageIcon(name));
                }

    Java8的lambda表达式。就是匿名函数。

    上面那一段可以看成如下:

    EventQueue.invokeLater(new Runnable() {
                public void run() {
                    JFrame frame = new ImageViewerFrame();
                    frame.setTitle("ImageViewer");
                    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                    frame.setVisible(true);
                }
            });

    下面一段可以看成:

    openItem.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {
                    int result = chooser.showOpenDialog(null);
     
                    if (result == JFileChooser.APPROVE_OPTION){
                        String name = chooser.getSelectedFile().getPath();
                        label.setIcon(new ImageIcon(name));
                    }
                }
            });

    只不过java自动帮你翻译了一下

    推荐:《java视频教程

    以上就是JAVA中的->是什么意思?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:CSDN,如有侵犯,请联系admin@php.cn删除
    专题推荐:JAVA
    上一篇:JSch如何远程执行Shell命令 下一篇:如何使用Java中的问号与冒号?:表达式
    大前端线上培训班

    相关文章推荐

    • Java程序开发学习之JDBC与MySQL数据库• JSch如何远程执行Shell命令• jdbc连接数据库的步骤是什么• java怎么创建对象• 怎么将class文件反编译成java文件

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网