这个java 代码 可以总体解释一下吗

package eluosi104502601;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Menu extends JFrame implements KeyListener,ActionListener{
    
    ImageIcon MenuBackGround = new ImageIcon("背景图.jpg");
    ImageIcon btnBeginIcon = new ImageIcon("游戏开始.jpg");
    ImageIcon btnchooseBeginIcon = new ImageIcon("选择游戏开始.jpg");
    ImageIcon btnRulesIcon = new ImageIcon("操作说明.jpg");
    ImageIcon btnchooseRulesIcon = new ImageIcon("选择操作说明.jpg");
    ImageIcon btnExitIcon = new ImageIcon("退出游戏.jpg");
    ImageIcon btnchooseExitIcon = new ImageIcon("选择退出游戏.jpg");
    
    JLabel label = new JLabel();
    JButton btnBegin = new JButton();
    JButton btnRules = new JButton();
    JButton btnExit = new JButton();
    
    public Menu(){
        addKeyListener(this);
        setFocusable(true);
        
        JLabel label = new JLabel(MenuBackGround);
        this.add(label);
        
        final JButton btnBegin = new JButton();
        btnBegin.setIcon(btnBeginIcon);
        btnBegin.setBounds(100, 250, 200, 100);
        btnBegin.setBorderPainted(false);
        label.add(btnBegin);
        btnBegin.addActionListener(this);
        btnBegin.addMouseListener(new MouseAdapter(){
            public void mouseEntered(MouseEvent e){
                btnBegin.setIcon(btnchooseBeginIcon);
            }
            public void mouseExited(MouseEvent e){
                btnBegin.setIcon(btnBeginIcon);
            }
            public void mouseClicked(MouseEvent e){
                //打开难度界面!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                Difficulty TetrisDifficulty = new Difficulty();
                TetrisDifficulty.setTitle("选择难度");
                TetrisDifficulty.setSize(550,350);
                TetrisDifficulty.setLocationRelativeTo(null);
                TetrisDifficulty.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                TetrisDifficulty.setVisible(true);
                
                setVisible(false);
            }
        });
        
        final JButton btnRules = new JButton();
        btnRules.setIcon(btnRulesIcon);
        btnRules.setBounds(100, 350, 200, 100);
        btnRules.setBorderPainted(false);
        label.add(btnRules);
        btnRules.addActionListener(this);
        btnRules.addMouseListener(new MouseAdapter(){
            public void mouseEntered(MouseEvent e){
                btnRules.setIcon(btnchooseRulesIcon);
            }
            public void mouseExited(MouseEvent e){
                btnRules.setIcon(btnRulesIcon);
            }
            public void mouseClicked(MouseEvent e){
                //打开操作说明!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                Rules TetrisRules = new Rules();
                TetrisRules.setTitle("操作说明");
                TetrisRules.setSize(500,600);
                TetrisRules.setLocationRelativeTo(null);
                TetrisRules.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                TetrisRules.setVisible(true);
                
                setVisible(false);
            }
        });
        
        final JButton btnExit = new JButton();
        btnExit.setIcon(btnExitIcon);
        btnExit.setBounds(100, 450, 200, 100);
        btnExit.setBorderPainted(false);
        label.add(btnExit);
        btnExit.addMouseListener(new MouseAdapter(){
            public void mouseEntered(MouseEvent e){
                btnExit.setIcon(btnchooseExitIcon);
            }
            public void mouseExited(MouseEvent e){
                btnExit.setIcon(btnExitIcon);
            }
            public void mouseClicked(MouseEvent e){
                System.exit(0);
            }
        });
    }

    
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        
    }

    
    public void keyPressed(KeyEvent e) {
        // TODO Auto-generated method stub
        
    }

    
    public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub
        
    }

    
    public void keyTyped(KeyEvent e) {
        // TODO Auto-generated method stub
        
    }

}
 

1.这是Java的GUI编程内容

2.这个东西工作中没人会用

3.学了白学,浪费时间