Фуллскрин по нажанию кнопки jframe

У меня есть 2 класса, я хочу чтобы по нажатию f11 мне делало фулскрином и обратно.
Как это сделать? Вот код:

Main.java:

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; 

public class Main extends JComponent implements ActionListener { <br>
    JFrame frame = new JFrame("p2"); 
    public static final int fps = 60; 
    private final Timer timer = new Timer(1000 / fps, this); 

    public Main() {
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 539);
        frame.setUndecorated(true);
        frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
        frame.setVisible(true);

        frame.addKeyListener(new imputListener());
        timer.start();

    }

    @Override
    public void actionPerformed(ActionEvent arg0) {
        repaint();
    }

    @Override
    protected void paintComponent(Graphics g) {
        Graphics2D g2d = (Graphics2D) g;
        int width = 50;
        int height = 50;
        g.fillRect(0, 0, width, height);
    }

    public static void main(String[] args) {new Main();}
}

ImputListener.java:

import java.awt.event.KeyEvent; 
import java.awt.event.KeyListener; 

public class imputListener implements KeyListener { 
    public static boolean fullscreen = false; 
    @Override 
    public void keyTyped(KeyEvent e) {}

    @Override
    public void keyPressed(KeyEvent e) {
        //System.out.println(fullscreen);
    }

    @Override
    public void keyReleased(KeyEvent e) {
        if (e.getKeyCode() == 122) {
            if (!fullscreen) {fullscreen = true; System.out.println("gugugu");} else {
                System.out.println("gogogo");}
            System.out.println("gagaga");
        }
        System.out.println(e.getKeyCode());
    }
}

Ответы (0 шт):