package test;

import java.awt.FlowLayout;
import java.util.Objects;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JRootPane;
import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;

public class TestWindowInsets
  extends JFrame
{
    public TestWindowInsets()
    {
        JComponent contentPane = (JComponent) getContentPane();
        contentPane.setBorder(new EmptyBorder(50, 50, 50, 50));
        JButton b = new JButton("Test");
        b.addActionListener(e -> toggle());
        add(b);
        setLayout(new FlowLayout());
        setSize(800, 600);
        setVisible(true);
    }

    void toggle()
    {
        JRootPane rp = getRootPane();
        String name = "apple.awt.fullWindowContent";
        Object value = rp.getClientProperty(name);
        if (Objects.equals(value, "true")) {
            value = "false";
        } else {
            value = "true";
        }
        rp.putClientProperty(name, value);
    }

    public static void main(String[] args)
    {
        SwingUtilities.invokeLater(TestWindowInsets::new);
    }
}
