Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ActionMap;
import javax.swing.InputMap;
import javax.swing.JButton;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.KeyStroke;

public class Main {
    JButton clicker;

    public Main() {
        JFrame frame = new JFrame();

        JPanel contentPane = (JPanel) frame.getContentPane();
        addKeyBind(contentPane, "F10");
        clicker = new JButton("Clicker");
        contentPane.add(clicker);

        frame.setLayout(new GridBagLayout());
        frame.setSize(300, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    }

    Action disableButtonAction = new AbstractAction() {
        @Override
        public void actionPerformed(ActionEvent e) {
            clicker.setEnabled(!clicker.isEnabled());
        }
    };

    private static final String DISABLE_CLICKER = "disableClicker";

    private void addKeyBind(JComponent contentPane, String key) {
        InputMap iMap = contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
        ActionMap aMap = contentPane.getActionMap();
        iMap.put(KeyStroke.getKeyStroke(key), DISABLE_CLICKER);
        aMap.put(DISABLE_CLICKER, disableButtonAction);
    }

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