Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.image.BufferedImage;

import javax.swing.AbstractAction;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.KeyStroke;

public class Main {
    public static void main(String args[]) {
        JPanel JMainPanel = new JPanel(new BorderLayout());
        JPanel jp = new JPanel();
        JComboBox combo = new JComboBox(new String[] { "Item1", "Item2", "Item3" });
        JPanel jImage = new JPanel();
        JFrame jf = new JFrame();

        jp.add(combo);
        JMainPanel.add(jp, BorderLayout.WEST);
        JMainPanel.add(jImage, BorderLayout.CENTER);
        jp.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW)
                .put(KeyStroke.getKeyStroke(KeyEvent.VK_P, InputEvent.ALT_DOWN_MASK), "screenshot");
        jp.getActionMap().put("screenshot", new AbstractAction() {
            @Override
            public void actionPerformed(ActionEvent arg0) {
                final BufferedImage bf = new BufferedImage(400, 400, BufferedImage.TYPE_INT_RGB);
                javax.swing.SwingUtilities.invokeLater(new Runnable() {
                    @Override
                    public void run() {
                        jf.getRootPane().paint(bf.getGraphics());
                        jImage.getGraphics().drawImage(bf, 0, 0, jImage);
                    }
                });
            }
        });
        jf.getContentPane().add(JMainPanel);
        jf.setSize(500, 500);
        jf.setVisible(true);
    }
}