Search in sources :

Example 1 with FlowLayout

use of java.awt.FlowLayout in project jmonkeyengine by jMonkeyEngine.

the class RayTrace method show.

public void show() {
    frame = new JFrame("HDR View");
    label = new JLabel(new ImageIcon(image));
    frame.getContentPane().add(label);
    frame.setLayout(new FlowLayout());
    frame.pack();
    frame.setVisible(true);
}
Also used : ImageIcon(javax.swing.ImageIcon) FlowLayout(java.awt.FlowLayout) JFrame(javax.swing.JFrame) JLabel(javax.swing.JLabel)

Example 2 with FlowLayout

use of java.awt.FlowLayout in project apjp by jvansteirteghem.

the class Main method main.

public static void main(final String[] args) {
    EventQueue.invokeLater(new Runnable() {

        public void run() {
            try {
                System.setProperty("sun.net.http.allowRestrictedHeaders", "true");
                Security.addProvider(new IAIK());
                Properties properties = new Properties();
                properties.load(new FileInputStream("APJP_LOCAL.properties"));
                APJP.APJP_KEY = properties.getProperty("APJP_KEY", "");
                APJP.APJP_LOGGER_ID = "APJP";
                APJP.APJP_LOGGER_LEVEL = 1;
                APJP.APJP_LOCAL_PROXY_SERVER_ADDRESS = properties.getProperty("APJP_LOCAL_PROXY_SERVER_ADDRESS", "");
                try {
                    APJP.APJP_LOCAL_PROXY_SERVER_PORT = new Integer(properties.getProperty("APJP_LOCAL_PROXY_SERVER_PORT", "0"));
                } catch (Exception e) {
                    APJP.APJP_LOCAL_PROXY_SERVER_PORT = 0;
                }
                APJP.APJP_LOCAL_PROXY_SERVER_LOGGER_ID = "APJP_LOCAL_PROXY_SERVER";
                APJP.APJP_LOCAL_PROXY_SERVER_LOGGER_LEVEL = 1;
                APJP.APJP_LOCAL_HTTP_PROXY_SERVER_ADDRESS = properties.getProperty("APJP_LOCAL_HTTP_PROXY_SERVER_ADDRESS", "");
                try {
                    APJP.APJP_LOCAL_HTTP_PROXY_SERVER_PORT = new Integer(properties.getProperty("APJP_LOCAL_HTTP_PROXY_SERVER_PORT", "0"));
                } catch (Exception e) {
                    APJP.APJP_LOCAL_HTTP_PROXY_SERVER_PORT = 0;
                }
                APJP.APJP_LOCAL_HTTP_PROXY_SERVER_LOGGER_ID = "APJP_LOCAL_HTTP_PROXY_SERVER";
                APJP.APJP_LOCAL_HTTP_PROXY_SERVER_LOGGER_LEVEL = 1;
                APJP.APJP_LOCAL_HTTP_SERVER_ADDRESS = properties.getProperty("APJP_LOCAL_HTTP_SERVER_ADDRESS", "");
                try {
                    APJP.APJP_LOCAL_HTTP_SERVER_PORT = new Integer(properties.getProperty("APJP_LOCAL_HTTP_SERVER_PORT", "0"));
                } catch (Exception e) {
                    APJP.APJP_LOCAL_HTTP_SERVER_PORT = 0;
                }
                APJP.APJP_LOCAL_HTTP_SERVER_LOGGER_ID = "APJP_LOCAL_HTTP_SERVER";
                APJP.APJP_LOCAL_HTTP_SERVER_LOGGER_LEVEL = 1;
                APJP.APJP_REMOTE_HTTP_SERVER_REQUEST_URL = new String[10];
                APJP.APJP_REMOTE_HTTP_SERVER_REQUEST_PROPERTY_KEY = new String[10][5];
                APJP.APJP_REMOTE_HTTP_SERVER_REQUEST_PROPERTY_VALUE = new String[10][5];
                for (int i = 0; i < APJP.APJP_REMOTE_HTTP_SERVER_REQUEST_PROPERTY_KEY.length; i = i + 1) {
                    APJP.APJP_REMOTE_HTTP_SERVER_REQUEST_URL[i] = properties.getProperty("APJP_REMOTE_HTTP_SERVER_" + (i + 1) + "_REQUEST_URL", "");
                    for (int j = 0; j < APJP.APJP_REMOTE_HTTP_SERVER_REQUEST_PROPERTY_KEY[i].length; j = j + 1) {
                        APJP.APJP_REMOTE_HTTP_SERVER_REQUEST_PROPERTY_KEY[i][j] = properties.getProperty("APJP_REMOTE_HTTP_SERVER_" + (i + 1) + "_REQUEST_PROPERTY_" + (j + 1) + "_KEY", "");
                        APJP.APJP_REMOTE_HTTP_SERVER_REQUEST_PROPERTY_VALUE[i][j] = properties.getProperty("APJP_REMOTE_HTTP_SERVER_" + (i + 1) + "_REQUEST_PROPERTY_" + (j + 1) + "_VALUE", "");
                    }
                }
                APJP.APJP_LOCAL_HTTPS_PROXY_SERVER_ADDRESS = properties.getProperty("APJP_LOCAL_HTTPS_PROXY_SERVER_ADDRESS", "");
                try {
                    APJP.APJP_LOCAL_HTTPS_PROXY_SERVER_PORT = new Integer(properties.getProperty("APJP_LOCAL_HTTPS_PROXY_SERVER_PORT", "0"));
                } catch (Exception e) {
                    APJP.APJP_LOCAL_HTTPS_PROXY_SERVER_PORT = 0;
                }
                APJP.APJP_LOCAL_HTTPS_PROXY_SERVER_LOGGER_ID = "APJP_LOCAL_HTTPS_PROXY_SERVER";
                APJP.APJP_LOCAL_HTTPS_PROXY_SERVER_LOGGER_LEVEL = 1;
                APJP.APJP_LOCAL_HTTPS_SERVER_ADDRESS = properties.getProperty("APJP_LOCAL_HTTPS_SERVER_ADDRESS", "");
                try {
                    APJP.APJP_LOCAL_HTTPS_SERVER_PORT = new Integer(properties.getProperty("APJP_LOCAL_HTTPS_SERVER_PORT", "0"));
                } catch (Exception e) {
                    APJP.APJP_LOCAL_HTTPS_SERVER_PORT = 0;
                }
                APJP.APJP_LOCAL_HTTPS_SERVER_LOGGER_ID = "APJP_LOCAL_HTTPS_SERVER";
                APJP.APJP_LOCAL_HTTPS_SERVER_LOGGER_LEVEL = 1;
                APJP.APJP_REMOTE_HTTPS_SERVER_REQUEST_URL = new String[10];
                APJP.APJP_REMOTE_HTTPS_SERVER_REQUEST_PROPERTY_KEY = new String[10][5];
                APJP.APJP_REMOTE_HTTPS_SERVER_REQUEST_PROPERTY_VALUE = new String[10][5];
                for (int i = 0; i < APJP.APJP_REMOTE_HTTPS_SERVER_REQUEST_PROPERTY_KEY.length; i = i + 1) {
                    APJP.APJP_REMOTE_HTTPS_SERVER_REQUEST_URL[i] = properties.getProperty("APJP_REMOTE_HTTPS_SERVER_" + (i + 1) + "_REQUEST_URL", "");
                    for (int j = 0; j < APJP.APJP_REMOTE_HTTPS_SERVER_REQUEST_PROPERTY_KEY[i].length; j = j + 1) {
                        APJP.APJP_REMOTE_HTTPS_SERVER_REQUEST_PROPERTY_KEY[i][j] = properties.getProperty("APJP_REMOTE_HTTPS_SERVER_" + (i + 1) + "_REQUEST_PROPERTY_" + (j + 1) + "_KEY", "");
                        APJP.APJP_REMOTE_HTTPS_SERVER_REQUEST_PROPERTY_VALUE[i][j] = properties.getProperty("APJP_REMOTE_HTTPS_SERVER_" + (i + 1) + "_REQUEST_PROPERTY_" + (j + 1) + "_VALUE", "");
                    }
                }
                APJP.APJP_HTTP_PROXY_SERVER_ADDRESS = properties.getProperty("APJP_HTTP_PROXY_SERVER_ADDRESS", "");
                try {
                    APJP.APJP_HTTP_PROXY_SERVER_PORT = new Integer(properties.getProperty("APJP_HTTP_PROXY_SERVER_PORT", "0"));
                } catch (Exception e) {
                    APJP.APJP_HTTP_PROXY_SERVER_PORT = 0;
                }
                APJP.APJP_HTTP_PROXY_SERVER_USERNAME = properties.getProperty("APJP_HTTP_PROXY_SERVER_USERNAME", "");
                APJP.APJP_HTTP_PROXY_SERVER_PASSWORD = properties.getProperty("APJP_HTTP_PROXY_SERVER_PASSWORD", "");
                APJP.APJP_HTTPS_PROXY_SERVER_ADDRESS = properties.getProperty("APJP_HTTPS_PROXY_SERVER_ADDRESS", "");
                try {
                    APJP.APJP_HTTPS_PROXY_SERVER_PORT = new Integer(properties.getProperty("APJP_HTTPS_PROXY_SERVER_PORT", "0"));
                } catch (Exception e) {
                    APJP.APJP_HTTPS_PROXY_SERVER_PORT = 0;
                }
                APJP.APJP_HTTPS_PROXY_SERVER_USERNAME = properties.getProperty("APJP_HTTPS_PROXY_SERVER_USERNAME", "");
                APJP.APJP_HTTPS_PROXY_SERVER_PASSWORD = properties.getProperty("APJP_HTTPS_PROXY_SERVER_PASSWORD", "");
                Authenticator.setDefault(new Authenticator() {

                    protected PasswordAuthentication getPasswordAuthentication() {
                        PasswordAuthentication passwordAuthentication = null;
                        if (this.getRequestorType() == Authenticator.RequestorType.PROXY) {
                            if (this.getRequestingURL().getProtocol().equalsIgnoreCase("HTTP") == true) {
                                passwordAuthentication = new PasswordAuthentication(APJP.APJP_HTTP_PROXY_SERVER_USERNAME, APJP.APJP_HTTP_PROXY_SERVER_PASSWORD.toCharArray());
                            } else {
                                if (this.getRequestingURL().getProtocol().equalsIgnoreCase("HTTPS") == true) {
                                    passwordAuthentication = new PasswordAuthentication(APJP.APJP_HTTPS_PROXY_SERVER_USERNAME, APJP.APJP_HTTPS_PROXY_SERVER_PASSWORD.toCharArray());
                                }
                            }
                        }
                        return passwordAuthentication;
                    }
                });
                logger = Logger.getLogger(APJP.APJP_LOGGER_ID);
                final ProxyServer proxyServer = new ProxyServer();
                final JTextArea outputTextArea = new JTextArea();
                outputTextArea.setEditable(false);
                outputTextArea.setLineWrap(true);
                outputTextArea.setBackground(new Color(0, 0, 0));
                outputTextArea.setForeground(new Color(255, 255, 255));
                outputTextArea.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 12));
                final JScrollPane outputScrollPane = new JScrollPane(outputTextArea);
                final OutputStream outputStream = new OutputStream() {

                    public void write(final int b) throws IOException {
                        outputTextArea.append(new String(new char[] { (char) b }));
                    }

                    public void write(final byte[] b, final int off, final int len) throws IOException {
                        outputTextArea.append(new String(b, off, len));
                    }
                };
                final PrintStream printStream = new PrintStream(outputStream, true);
                System.setOut(printStream);
                final JButton startButton = new JButton();
                startButton.setText("Start");
                startButton.setPreferredSize(new Dimension(100, 30));
                startButton.addActionListener(new ActionListener() {

                    public void actionPerformed(final ActionEvent actionEvent) {
                        outputTextArea.setText("");
                        logger.log(1, "START_PROXY_SERVER");
                        try {
                            proxyServer.start();
                            logger.log(1, "START_PROXY_SERVER: OK");
                        } catch (Exception e) {
                            logger.log(1, "START_PROXY_SERVER: EXCEPTION", e);
                            logger.log(1, "START_PROXY_SERVER: NOT OK");
                        }
                        HTTPRequests httpRequests = HTTPRequests.getHTTPRequests();
                        logger.log(1, "TEST_HTTP_REQUESTS");
                        try {
                            httpRequests.test();
                            logger.log(1, "TEST_HTTP_REQUESTS: OK");
                        } catch (Exception e) {
                            logger.log(1, "TEST_HTTP_REQUESTS: EXCEPTION", e);
                            logger.log(1, "TEST_HTTP_REQUESTS: NOT OK");
                        }
                        HTTPSRequests httpsRequests = HTTPSRequests.getHTTPSRequests();
                        logger.log(1, "TEST_HTTPS_REQUESTS");
                        try {
                            httpsRequests.test();
                            logger.log(1, "TEST_HTTPS_REQUESTS: OK");
                        } catch (Exception e) {
                            logger.log(1, "TEST_HTTPS_REQUESTS: EXCEPTION", e);
                            logger.log(1, "TEST_HTTPS_REQUESTS: NOT OK");
                        }
                    }
                });
                final JButton stopButton = new JButton();
                stopButton.setText("Stop");
                stopButton.setPreferredSize(new Dimension(100, 30));
                stopButton.addActionListener(new ActionListener() {

                    public void actionPerformed(final ActionEvent actionEvent) {
                        outputTextArea.setText("");
                        logger.log(1, "STOP_PROXY_SERVER");
                        try {
                            proxyServer.stop();
                            logger.log(1, "STOP_PROXY_SERVER: OK");
                        } catch (Exception e) {
                            logger.log(1, "STOP_PROXY_SERVER: EXCEPTION", e);
                            logger.log(1, "STOP_PROXY_SERVER: NOT OK");
                        }
                    }
                });
                final Panel buttonPanel = new Panel();
                buttonPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
                buttonPanel.add(startButton);
                buttonPanel.add(stopButton);
                final ImageIcon imageIcon = new ImageIcon("APJP_LOCAL.png");
                final JFrame frame = new JFrame();
                frame.setIconImage(imageIcon.getImage());
                frame.setSize(675, 375);
                frame.setResizable(false);
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setLayout(new BorderLayout());
                frame.add(buttonPanel, BorderLayout.NORTH);
                frame.add(outputScrollPane, BorderLayout.CENTER);
                if (SystemTray.isSupported()) {
                    final TrayIcon trayIcon = new TrayIcon(imageIcon.getImage());
                    trayIcon.setImageAutoSize(true);
                    trayIcon.addActionListener(new ActionListener() {

                        public void actionPerformed(final ActionEvent actionEvent) {
                            frame.setVisible(!frame.isVisible());
                        }
                    });
                    SystemTray.getSystemTray().add(trayIcon);
                }
                frame.setVisible(true);
            } catch (Exception e) {
                logger.log(1, "EXCEPTION", e);
            }
        }
    });
}
Also used : ImageIcon(javax.swing.ImageIcon) JTextArea(javax.swing.JTextArea) FlowLayout(java.awt.FlowLayout) ActionEvent(java.awt.event.ActionEvent) OutputStream(java.io.OutputStream) JButton(javax.swing.JButton) HTTPRequests(APJP.HTTP11.HTTPRequests) Properties(java.util.Properties) Font(java.awt.Font) HTTPSRequests(APJP.HTTP11.HTTPSRequests) BorderLayout(java.awt.BorderLayout) JFrame(javax.swing.JFrame) TrayIcon(java.awt.TrayIcon) IAIK(iaik.security.provider.IAIK) Authenticator(java.net.Authenticator) PasswordAuthentication(java.net.PasswordAuthentication) JScrollPane(javax.swing.JScrollPane) PrintStream(java.io.PrintStream) Color(java.awt.Color) IOException(java.io.IOException) Dimension(java.awt.Dimension) FileInputStream(java.io.FileInputStream) IOException(java.io.IOException) ProxyServer(APJP.ProxyServer) Panel(java.awt.Panel) ActionListener(java.awt.event.ActionListener)

Example 3 with FlowLayout

use of java.awt.FlowLayout in project javatari by ppeccin.

the class JComboBoxNim method buildGUI.

private void buildGUI() {
    setModalityType(ModalityType.APPLICATION_MODAL);
    setModal(true);
    setIconImage(Toolkit.getDefaultToolkit().getImage(SettingsDialog.class.getResource("/org/javatari/pc/screen/images/Favicon.png")));
    setTitle("javatari");
    setResizable(false);
    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
    addWindowListener(new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent e) {
            closeAction();
        }
    });
    final AbstractAction toggleP1ModeAction = new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            room.awtControls().toggleP1ControlsMode();
            refreshCurrentTab();
        }

        private static final long serialVersionUID = 1L;
    };
    final AbstractAction togglePaddlesAction = new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            room.awtControls().togglePaddleMode();
            refreshCurrentTab();
        }

        private static final long serialVersionUID = 1L;
    };
    final AbstractAction toggleJoystickAction = new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            room.joystickControls().toggleMode();
            refreshCurrentTab();
        }

        private static final long serialVersionUID = 1L;
    };
    final AbstractAction cycleROMFormatAction = new AbstractAction() {

        @Override
        public void actionPerformed(ActionEvent e) {
            room.currentConsole().controlsSocket().controlStateChanged(Control.CARTRIDGE_FORMAT, true);
            refreshCurrentTab();
        }

        private static final long serialVersionUID = 1L;
    };
    String fontName = "SansSerif";
    int adjust = 0;
    if (Environment.ARIAL_FONT)
        fontName = "Arial";
    else if (Environment.LIBERATION_FONT)
        fontName = "Liberation Sans";
    else
        adjust = -1;
    Font fontFields = new Font(fontName, Font.PLAIN, 11);
    Font fontLabel = new Font(fontName, Font.PLAIN, 13 + adjust);
    Font fontLabelBold = new Font(fontName, Font.BOLD, 13 + adjust);
    Font fontLabelMedium = new Font(fontName, Font.PLAIN, 14 + adjust);
    Font fontLabelMediumBold = new Font(fontName, Font.BOLD, 14 + adjust);
    Font fontLabelLarge = new Font(fontName, Font.PLAIN, 16 + adjust);
    Font fontLabelLargeBold = new Font(fontName, Font.BOLD, 16 + adjust);
    Color noBackground = new Color(0, 0, 0, 0);
    getContentPane().setLayout(new BorderLayout());
    contentPanel.setBorder(new EmptyBorder(5, 5, 0, 5));
    getContentPane().add(contentPanel, BorderLayout.CENTER);
    contentPanel.setLayout(new BorderLayout(0, 0));
    {
        mainTabbedPane = new JTabbedPane(JTabbedPane.TOP);
        if (Environment.NIMBUS_LAF)
            mainTabbedPane.setBorder(new DeepBorder(13, new Insets(7, 2, 6, 2)));
        mainTabbedPane.addChangeListener(new ChangeListener() {

            public void stateChanged(ChangeEvent e) {
                mainTabbedPaneChanged();
            }
        });
        mainTabbedPane.setFont(fontLabel);
        mainTabbedPane.setBackground(UIManager.getColor("TabbedPane.background"));
        contentPanel.add(mainTabbedPane, BorderLayout.CENTER);
        JPanel multiplayerPanel = new JPanel();
        mainTabbedPane.addTab("Multiplayer", null, multiplayerPanel, null);
        multiplayerPanel.setLayout(null);
        multiplayerPanel.setPreferredSize(INTERNAL_TAB_SIZE);
        clientConsoleL = new JLabel("");
        clientConsoleL.setIcon(new ImageIcon(SettingsDialog.class.getResource("/org/javatari/pc/room/settings/images/ServerClientConsole.png")));
        clientConsoleL.setBounds(316, 132, 139, 94);
        multiplayerPanel.add(clientConsoleL);
        serverConsoleL = new JLabel("");
        serverConsoleL.setIcon(new ImageIcon(SettingsDialog.class.getResource("/org/javatari/pc/room/settings/images/ServerClientConsole.png")));
        serverConsoleL.setBounds(12, 132, 139, 94);
        multiplayerPanel.add(serverConsoleL);
        networkL = new JLabel("");
        networkL.setIcon(new ImageIcon(SettingsDialog.class.getResource("/org/javatari/pc/room/settings/images/Network.png")));
        networkL.setBounds(116, 81, 237, 98);
        multiplayerPanel.add(networkL);
        JLabel lblNewLabel_1 = new JLabel("P1 Server");
        lblNewLabel_1.setFont(fontLabelLargeBold);
        lblNewLabel_1.setHorizontalAlignment(SwingConstants.CENTER);
        lblNewLabel_1.setBounds(24, 13, 100, 20);
        multiplayerPanel.add(lblNewLabel_1);
        serverStartB = new JButton("START");
        serverStartB.setFont(fontLabel);
        serverStartB.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                serverStartAction();
            }
        });
        serverStartB.setBounds(20, 36, 108, 26);
        multiplayerPanel.add(serverStartB);
        clientConnectB = new JButton("JOIN");
        clientConnectB.setFont(fontLabel);
        clientConnectB.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                clientConnectAction();
            }
        });
        clientConnectB.setBounds(341, 36, 108, 26);
        multiplayerPanel.add(clientConnectB);
        clientServerAddressTf = new JTextFieldNim();
        clientServerAddressTf.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                clientConnectAction();
            }
        });
        clientServerAddressTf.setFont(fontLabel);
        clientServerAddressTf.setBounds(335, 85, 121, 27);
        multiplayerPanel.add(clientServerAddressTf);
        clientServerAddressTf.setColumns(10);
        JLabel lblServerAddressport = new JLabel("Server address [:port]");
        lblServerAddressport.setHorizontalAlignment(SwingConstants.CENTER);
        lblServerAddressport.setFont(fontLabel);
        lblServerAddressport.setBounds(323, 70, 144, 15);
        multiplayerPanel.add(lblServerAddressport);
        serverPortTf = new JTextFieldNim();
        serverPortTf.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                serverStartAction();
            }
        });
        serverPortTf.setFont(fontLabel);
        serverPortTf.setHorizontalAlignment(SwingConstants.RIGHT);
        serverPortTf.setColumns(10);
        serverPortTf.setBounds(41, 85, 66, 27);
        multiplayerPanel.add(serverPortTf);
        JLabel lblPort = new JLabel("Server port");
        lblPort.setHorizontalAlignment(SwingConstants.CENTER);
        lblPort.setFont(fontLabel);
        lblPort.setBounds(32, 70, 82, 15);
        multiplayerPanel.add(lblPort);
        JLabel lblPClient = new JLabel("P2 Client");
        lblPClient.setHorizontalAlignment(SwingConstants.CENTER);
        lblPClient.setFont(fontLabelLargeBold);
        lblPClient.setBounds(345, 13, 100, 20);
        multiplayerPanel.add(lblPClient);
        multiplayerModeL = new JLabel("P1 SERVER MODE");
        multiplayerModeL.setFont(fontLabelMediumBold);
        multiplayerModeL.setOpaque(false);
        multiplayerModeL.setBorder(new DeepBorder(10, new Insets(5, 5, 5, 5)));
        multiplayerModeL.setHorizontalAlignment(SwingConstants.CENTER);
        multiplayerModeL.setBounds(148, 34, 174, 30);
        multiplayerPanel.add(multiplayerModeL);
        standaloneConsoleL = new JLabel("");
        standaloneConsoleL.setIcon(new ImageIcon(SettingsDialog.class.getResource("/org/javatari/pc/room/settings/images/StandaloneConsole.png")));
        standaloneConsoleL.setBounds(120, 90, 202, 146);
        multiplayerPanel.add(standaloneConsoleL);
        {
            keyboardPanel = new JPanel();
            mainTabbedPane.addTab("Keyboard", null, keyboardPanel, null);
            keyboardPanel.setLayout(null);
            keyboardPanel.setPreferredSize(INTERNAL_TAB_SIZE);
            {
                keyboard0Icon = new JLabel("");
                keyboard0Icon.setIcon(joystickIcon);
                keyboard0Icon.setBounds(70, 91, 75, 90);
                keyboardPanel.add(keyboard0Icon);
            }
            keyP0Up = new JTextFieldNim();
            keyP0Up.setDisabledTextColor(Color.GRAY);
            keyP0Up.setBackground(Color.WHITE);
            keyP0Up.setEditable(false);
            keyP0Up.setFont(fontFields);
            keyP0Up.setHorizontalAlignment(SwingConstants.CENTER);
            keyP0Up.setBounds(85, 67, 44, 23);
            keyP0Up.setColumns(10);
            keyboardPanel.add(keyP0Up);
            keyP0Right = new JTextFieldNim();
            keyP0Right.setDisabledTextColor(Color.GRAY);
            keyP0Right.setBackground(Color.WHITE);
            keyP0Right.setEditable(false);
            keyP0Right.setFont(fontFields);
            keyP0Right.setHorizontalAlignment(SwingConstants.CENTER);
            keyP0Right.setColumns(10);
            keyP0Right.setBounds(151, 130, 45, 23);
            keyboardPanel.add(keyP0Right);
            keyP0Left = new JTextFieldNim();
            keyP0Left.setDisabledTextColor(Color.GRAY);
            keyP0Left.setBackground(Color.WHITE);
            keyP0Left.setEditable(false);
            keyP0Left.setFont(fontFields);
            keyP0Left.setHorizontalAlignment(SwingConstants.CENTER);
            keyP0Left.setColumns(10);
            keyP0Left.setBounds(19, 130, 45, 23);
            keyboardPanel.add(keyP0Left);
            keyP0Down = new JTextFieldNim();
            keyP0Down.setDisabledTextColor(Color.GRAY);
            keyP0Down.setBackground(Color.WHITE);
            keyP0Down.setEditable(false);
            keyP0Down.setFont(fontFields);
            keyP0Down.setHorizontalAlignment(SwingConstants.CENTER);
            keyP0Down.setColumns(10);
            keyP0Down.setBounds(85, 194, 45, 23);
            keyboardPanel.add(keyP0Down);
            JLabel lblRight = new JLabel("Right");
            lblRight.setFont(fontLabel);
            lblRight.setHorizontalAlignment(SwingConstants.CENTER);
            lblRight.setBounds(153, 116, 40, 15);
            keyboardPanel.add(lblRight);
            JLabel lblLeft = new JLabel("Left");
            lblLeft.setFont(fontLabel);
            lblLeft.setHorizontalAlignment(SwingConstants.CENTER);
            lblLeft.setBounds(21, 116, 40, 14);
            keyboardPanel.add(lblLeft);
            keyP0DownL = new JLabel("Down");
            keyP0DownL.setFont(fontLabel);
            keyP0DownL.setHorizontalAlignment(SwingConstants.CENTER);
            keyP0DownL.setBounds(78, 180, 58, 14);
            keyboardPanel.add(keyP0DownL);
            keyP0UpL = new JLabel("Up");
            keyP0UpL.setFont(fontLabel);
            keyP0UpL.setHorizontalAlignment(SwingConstants.CENTER);
            keyP0UpL.setBounds(78, 53, 58, 14);
            keyboardPanel.add(keyP0UpL);
            keyP0Button = new JTextFieldNim();
            keyP0Button.setDisabledTextColor(Color.GRAY);
            keyP0Button.setBackground(Color.WHITE);
            keyP0Button.setEditable(false);
            keyP0Button.setFont(fontFields);
            keyP0Button.setHorizontalAlignment(SwingConstants.CENTER);
            keyP0Button.setColumns(10);
            keyP0Button.setBounds(29, 79, 44, 23);
            keyboardPanel.add(keyP0Button);
            JLabel lblFire = new JLabel("Fire 1");
            lblFire.setFont(fontLabel);
            lblFire.setHorizontalAlignment(SwingConstants.CENTER);
            lblFire.setBounds(31, 65, 40, 14);
            keyboardPanel.add(lblFire);
            keyboardPlayer1Lb = new JLabel("Player 1");
            keyboardPlayer1Lb.setFont(fontLabelLargeBold);
            keyboardPlayer1Lb.setHorizontalAlignment(SwingConstants.CENTER);
            keyboardPlayer1Lb.setBounds(70, 22, 74, 20);
            keyboardPanel.add(keyboardPlayer1Lb);
            JLabel lblFire_1 = new JLabel("Fire 2");
            lblFire_1.setFont(fontLabel);
            lblFire_1.setHorizontalAlignment(SwingConstants.CENTER);
            lblFire_1.setBounds(143, 65, 40, 14);
            keyboardPanel.add(lblFire_1);
            keyP0Button2 = new JTextFieldNim();
            keyP0Button2.setDisabledTextColor(Color.GRAY);
            keyP0Button2.setBackground(Color.WHITE);
            keyP0Button2.setEditable(false);
            keyP0Button2.setFont(fontFields);
            keyP0Button2.setHorizontalAlignment(SwingConstants.CENTER);
            keyP0Button2.setColumns(10);
            keyP0Button2.setBounds(141, 79, 44, 23);
            keyboardPanel.add(keyP0Button2);
            JLabel txtpnAltK_1 = new JLabel();
            txtpnAltK_1.setHorizontalTextPosition(SwingConstants.CENTER);
            txtpnAltK_1.setHorizontalAlignment(SwingConstants.CENTER);
            txtpnAltK_1.setOpaque(false);
            txtpnAltK_1.setFont(fontLabel);
            txtpnAltK_1.setText("ALT + K: Swap Controls");
            txtpnAltK_1.setBounds(143, 215, 185, 21);
            keyboardPanel.add(txtpnAltK_1);
            txtpnAltK_1.addMouseListener(new MouseAdapter() {

                @Override
                public void mouseClicked(MouseEvent e) {
                    toggleP1ModeAction.actionPerformed(null);
                }
            });
            keyboard1Icon = new JLabel("");
            keyboard1Icon.setIcon(joystickIcon);
            keyboard1Icon.setBounds(327, 91, 75, 90);
            keyboardPanel.add(keyboard1Icon);
            keyP1Up = new JTextFieldNim();
            keyP1Up.setDisabledTextColor(Color.GRAY);
            keyP1Up.setHorizontalAlignment(SwingConstants.CENTER);
            keyP1Up.setFont(fontFields);
            keyP1Up.setEditable(false);
            keyP1Up.setColumns(10);
            keyP1Up.setBackground(Color.WHITE);
            keyP1Up.setBounds(342, 67, 44, 23);
            keyboardPanel.add(keyP1Up);
            keyP1Right = new JTextFieldNim();
            keyP1Right.setDisabledTextColor(Color.GRAY);
            keyP1Right.setHorizontalAlignment(SwingConstants.CENTER);
            keyP1Right.setFont(fontFields);
            keyP1Right.setEditable(false);
            keyP1Right.setColumns(10);
            keyP1Right.setBackground(Color.WHITE);
            keyP1Right.setBounds(407, 130, 45, 23);
            keyboardPanel.add(keyP1Right);
            keyP1Left = new JTextFieldNim();
            keyP1Left.setDisabledTextColor(Color.GRAY);
            keyP1Left.setHorizontalAlignment(SwingConstants.CENTER);
            keyP1Left.setFont(fontFields);
            keyP1Left.setEditable(false);
            keyP1Left.setColumns(10);
            keyP1Left.setBackground(Color.WHITE);
            keyP1Left.setBounds(276, 130, 45, 23);
            keyboardPanel.add(keyP1Left);
            keyP1Down = new JTextFieldNim();
            keyP1Down.setDisabledTextColor(Color.GRAY);
            keyP1Down.setHorizontalAlignment(SwingConstants.CENTER);
            keyP1Down.setFont(fontFields);
            keyP1Down.setEditable(false);
            keyP1Down.setColumns(10);
            keyP1Down.setBackground(Color.WHITE);
            keyP1Down.setBounds(342, 194, 45, 23);
            keyboardPanel.add(keyP1Down);
            JLabel label_1 = new JLabel("Right");
            label_1.setHorizontalAlignment(SwingConstants.CENTER);
            label_1.setFont(fontLabel);
            label_1.setBounds(409, 116, 40, 15);
            keyboardPanel.add(label_1);
            JLabel label_2 = new JLabel("Left");
            label_2.setHorizontalAlignment(SwingConstants.CENTER);
            label_2.setFont(fontLabel);
            label_2.setBounds(278, 116, 40, 14);
            keyboardPanel.add(label_2);
            keyP1DownL = new JLabel("Down");
            keyP1DownL.setHorizontalAlignment(SwingConstants.CENTER);
            keyP1DownL.setFont(fontLabel);
            keyP1DownL.setBounds(335, 180, 58, 14);
            keyboardPanel.add(keyP1DownL);
            keyP1UpL = new JLabel("Up");
            keyP1UpL.setHorizontalAlignment(SwingConstants.CENTER);
            keyP1UpL.setFont(fontLabel);
            keyP1UpL.setBounds(335, 53, 58, 14);
            keyboardPanel.add(keyP1UpL);
            keyP1Button = new JTextFieldNim();
            keyP1Button.setDisabledTextColor(Color.GRAY);
            keyP1Button.setHorizontalAlignment(SwingConstants.CENTER);
            keyP1Button.setFont(fontFields);
            keyP1Button.setEditable(false);
            keyP1Button.setColumns(10);
            keyP1Button.setBackground(Color.WHITE);
            keyP1Button.setBounds(286, 79, 44, 23);
            keyboardPanel.add(keyP1Button);
            JLabel label_5 = new JLabel("Fire 1");
            label_5.setHorizontalAlignment(SwingConstants.CENTER);
            label_5.setFont(fontLabel);
            label_5.setBounds(288, 65, 40, 14);
            keyboardPanel.add(label_5);
            keyboardPlayer2Lb = new JLabel("Player 2");
            keyboardPlayer2Lb.setHorizontalAlignment(SwingConstants.CENTER);
            keyboardPlayer2Lb.setFont(fontLabelLargeBold);
            keyboardPlayer2Lb.setBounds(327, 22, 74, 20);
            keyboardPanel.add(keyboardPlayer2Lb);
            JLabel label_7 = new JLabel("Fire 2");
            label_7.setHorizontalAlignment(SwingConstants.CENTER);
            label_7.setFont(fontLabel);
            label_7.setBounds(399, 65, 40, 14);
            keyboardPanel.add(label_7);
            keyP1Button2 = new JTextFieldNim();
            keyP1Button2.setDisabledTextColor(Color.GRAY);
            keyP1Button2.setHorizontalAlignment(SwingConstants.CENTER);
            keyP1Button2.setFont(fontFields);
            keyP1Button2.setEditable(false);
            keyP1Button2.setColumns(10);
            keyP1Button2.setBackground(Color.WHITE);
            keyP1Button2.setBounds(397, 79, 44, 23);
            keyboardPanel.add(keyP1Button2);
            keyboardMessageL = new JLabel("");
            keyboardMessageL.setHorizontalAlignment(SwingConstants.CENTER);
            keyboardMessageL.setFont(fontLabel);
            keyboardMessageL.setBounds(165, 25, 141, 15);
            keyboardPanel.add(keyboardMessageL);
            JLabel txtpnAltL = new JLabel();
            txtpnAltL.setHorizontalTextPosition(SwingConstants.CENTER);
            txtpnAltL.setHorizontalAlignment(SwingConstants.CENTER);
            txtpnAltL.setText("ALT + L: Toggle Paddles");
            txtpnAltL.setOpaque(false);
            txtpnAltL.setFont(fontLabel);
            txtpnAltL.setBounds(143, 235, 185, 21);
            keyboardPanel.add(txtpnAltL);
            txtpnAltL.addMouseListener(new MouseAdapter() {

                @Override
                public void mouseClicked(MouseEvent e) {
                    togglePaddlesAction.actionPerformed(null);
                }
            });
        }
        joysticksPanel = new JPanel();
        joysticksPanel.setLayout(null);
        joysticksPanel.setPreferredSize(INTERNAL_TAB_SIZE);
        mainTabbedPane.addTab("Joysticks", null, joysticksPanel, null);
        joystick0Icon = new JLabel("");
        joystick0Icon.setIcon(joystickIcon);
        joystick0Icon.setBounds(70, 91, 75, 90);
        joysticksPanel.add(joystick0Icon);
        joyP0Reset = new JTextFieldNim();
        joyP0Reset.setDisabledTextColor(Color.GRAY);
        joyP0Reset.setEnabled(false);
        joyP0Reset.setName("joyP0Reset");
        joyP0Reset.setHorizontalAlignment(SwingConstants.CENTER);
        joyP0Reset.setFont(fontFields);
        joyP0Reset.setEditable(false);
        joyP0Reset.setColumns(10);
        joyP0Reset.setBackground(Color.WHITE);
        joyP0Reset.setBounds(85, 194, 44, 23);
        joysticksPanel.add(joyP0Reset);
        joyP0Pause = new JTextFieldNim();
        joyP0Pause.setDisabledTextColor(Color.GRAY);
        joyP0Pause.setEnabled(false);
        joyP0Pause.setName("joyP0Pause");
        joyP0Pause.setHorizontalAlignment(SwingConstants.CENTER);
        joyP0Pause.setFont(fontFields);
        joyP0Pause.setEditable(false);
        joyP0Pause.setColumns(10);
        joyP0Pause.setBackground(Color.WHITE);
        joyP0Pause.setBounds(85, 232, 44, 23);
        joysticksPanel.add(joyP0Pause);
        JLabel lblSelect = new JLabel("Select");
        lblSelect.setHorizontalAlignment(SwingConstants.CENTER);
        lblSelect.setFont(fontLabel);
        lblSelect.setBounds(28, 180, 40, 15);
        joysticksPanel.add(lblSelect);
        JLabel lblFire_2 = new JLabel("Pause");
        lblFire_2.setHorizontalAlignment(SwingConstants.CENTER);
        lblFire_2.setFont(fontLabel);
        lblFire_2.setBounds(87, 218, 40, 14);
        joysticksPanel.add(lblFire_2);
        joyP0Button2 = new JTextFieldNim();
        joyP0Button2.setDisabledTextColor(Color.GRAY);
        joyP0Button2.setEnabled(false);
        joyP0Button2.setName("joyP0Button2");
        joyP0Button2.setHorizontalAlignment(SwingConstants.CENTER);
        joyP0Button2.setFont(fontFields);
        joyP0Button2.setEditable(false);
        joyP0Button2.setColumns(10);
        joyP0Button2.setBackground(Color.WHITE);
        joyP0Button2.setBounds(141, 79, 44, 23);
        joysticksPanel.add(joyP0Button2);
        JLabel lblFire_5 = new JLabel("Fire 2");
        lblFire_5.setHorizontalAlignment(SwingConstants.CENTER);
        lblFire_5.setFont(fontLabel);
        lblFire_5.setBounds(143, 65, 40, 14);
        joysticksPanel.add(lblFire_5);
        joysticksPlayer1Lb = new JLabel("Player 1");
        joysticksPlayer1Lb.setHorizontalAlignment(SwingConstants.CENTER);
        joysticksPlayer1Lb.setFont(fontLabelLargeBold);
        joysticksPlayer1Lb.setBounds(78, 6, 74, 20);
        joysticksPanel.add(joysticksPlayer1Lb);
        JLabel lblReset = new JLabel("Fire 1");
        lblReset.setHorizontalAlignment(SwingConstants.CENTER);
        lblReset.setFont(fontLabel);
        lblReset.setBounds(31, 65, 40, 15);
        joysticksPanel.add(lblReset);
        joyP0Button = new JTextFieldNim();
        joyP0Button.setDisabledTextColor(Color.GRAY);
        joyP0Button.setEnabled(false);
        joyP0Button.setName("joyP0Button");
        joyP0Button.setHorizontalAlignment(SwingConstants.CENTER);
        joyP0Button.setFont(fontFields);
        joyP0Button.setEditable(false);
        joyP0Button.setColumns(10);
        joyP0Button.setBackground(Color.WHITE);
        joyP0Button.setBounds(29, 79, 44, 23);
        joysticksPanel.add(joyP0Button);
        joystick1Icon = new JLabel("");
        joystick1Icon.setIcon(joystickIcon);
        joystick1Icon.setBounds(327, 91, 75, 90);
        joysticksPanel.add(joystick1Icon);
        joyP1Pause = new JTextFieldNim();
        joyP1Pause.setDisabledTextColor(Color.GRAY);
        joyP1Pause.setEnabled(false);
        joyP1Pause.setName("joyP1Pause");
        joyP1Pause.setHorizontalAlignment(SwingConstants.CENTER);
        joyP1Pause.setFont(fontFields);
        joyP1Pause.setEditable(false);
        joyP1Pause.setColumns(10);
        joyP1Pause.setBackground(Color.WHITE);
        joyP1Pause.setBounds(400, 232, 44, 23);
        joysticksPanel.add(joyP1Pause);
        JLabel lblFire_3 = new JLabel("Pause");
        lblFire_3.setHorizontalAlignment(SwingConstants.CENTER);
        lblFire_3.setFont(fontLabel);
        lblFire_3.setBounds(402, 218, 40, 14);
        joysticksPanel.add(lblFire_3);
        joysticksPlayer2Lb = new JLabel("Player 2");
        joysticksPlayer2Lb.setHorizontalAlignment(SwingConstants.CENTER);
        joysticksPlayer2Lb.setFont(fontLabelLargeBold);
        joysticksPlayer2Lb.setBounds(319, 6, 74, 20);
        joysticksPanel.add(joysticksPlayer2Lb);
        JLabel lblFire_4 = new JLabel("Fire 1");
        lblFire_4.setHorizontalAlignment(SwingConstants.CENTER);
        lblFire_4.setFont(fontLabel);
        lblFire_4.setBounds(288, 65, 40, 14);
        joysticksPanel.add(lblFire_4);
        joyP1Button = new JTextFieldNim();
        joyP1Button.setDisabledTextColor(Color.GRAY);
        joyP1Button.setEnabled(false);
        joyP1Button.setName("joyP1Button");
        joyP1Button.setHorizontalAlignment(SwingConstants.CENTER);
        joyP1Button.setFont(fontFields);
        joyP1Button.setEditable(false);
        joyP1Button.setColumns(10);
        joyP1Button.setBackground(Color.WHITE);
        joyP1Button.setBounds(286, 79, 44, 23);
        joysticksPanel.add(joyP1Button);
        joysticksMessageL = new JLabel("");
        joysticksMessageL.setHorizontalAlignment(SwingConstants.CENTER);
        joysticksMessageL.setFont(fontLabel);
        joysticksMessageL.setBounds(160, 9, 151, 15);
        joysticksPanel.add(joysticksMessageL);
        JLabel txtpnAltJ_1 = new JLabel();
        txtpnAltJ_1.setHorizontalTextPosition(SwingConstants.CENTER);
        txtpnAltJ_1.setHorizontalAlignment(SwingConstants.CENTER);
        txtpnAltJ_1.setText("ALT + J: Swap Joysticks");
        txtpnAltJ_1.setOpaque(false);
        txtpnAltJ_1.setFont(fontLabel);
        txtpnAltJ_1.setBounds(155, 215, 163, 21);
        joysticksPanel.add(txtpnAltJ_1);
        txtpnAltJ_1.addMouseListener(new MouseAdapter() {

            @Override
            public void mouseClicked(MouseEvent e) {
                toggleJoystickAction.actionPerformed(null);
            }
        });
        JLabel txtpnAltL_2 = new JLabel();
        txtpnAltL_2.setHorizontalTextPosition(SwingConstants.CENTER);
        txtpnAltL_2.setHorizontalAlignment(SwingConstants.CENTER);
        txtpnAltL_2.setText("ALT + L: Toggle Paddles");
        txtpnAltL_2.setOpaque(false);
        txtpnAltL_2.setFont(fontLabel);
        txtpnAltL_2.setBounds(146, 235, 179, 21);
        joysticksPanel.add(txtpnAltL_2);
        txtpnAltL_2.addMouseListener(new MouseAdapter() {

            @Override
            public void mouseClicked(MouseEvent e) {
                togglePaddlesAction.actionPerformed(null);
            }
        });
        JLabel lblFastSpeed = new JLabel("Reset");
        lblFastSpeed.setHorizontalAlignment(SwingConstants.CENTER);
        lblFastSpeed.setFont(fontLabel);
        lblFastSpeed.setBounds(87, 180, 40, 15);
        joysticksPanel.add(lblFastSpeed);
        joyP0Select = new JTextFieldNim();
        joyP0Select.setDisabledTextColor(Color.GRAY);
        joyP0Select.setEnabled(false);
        joyP0Select.setName("joyP0Select");
        joyP0Select.setHorizontalAlignment(SwingConstants.CENTER);
        joyP0Select.setFont(fontFields);
        joyP0Select.setEditable(false);
        joyP0Select.setColumns(10);
        joyP0Select.setBackground(Color.WHITE);
        joyP0Select.setBounds(26, 194, 44, 23);
        joysticksPanel.add(joyP0Select);
        joyP1Select = new JTextFieldNim();
        joyP1Select.setDisabledTextColor(Color.GRAY);
        joyP1Select.setEnabled(false);
        joyP1Select.setName("joyP1Select");
        joyP1Select.setHorizontalAlignment(SwingConstants.CENTER);
        joyP1Select.setFont(fontFields);
        joyP1Select.setEditable(false);
        joyP1Select.setColumns(10);
        joyP1Select.setBackground(Color.WHITE);
        joyP1Select.setBounds(342, 194, 44, 23);
        joysticksPanel.add(joyP1Select);
        JLabel lblSelect_1 = new JLabel("Reset");
        lblSelect_1.setHorizontalAlignment(SwingConstants.CENTER);
        lblSelect_1.setFont(fontLabel);
        lblSelect_1.setBounds(402, 180, 40, 15);
        joysticksPanel.add(lblSelect_1);
        joyP1Reset = new JTextFieldNim();
        joyP1Reset.setDisabledTextColor(Color.GRAY);
        joyP1Reset.setEnabled(false);
        joyP1Reset.setName("joyP1Reset");
        joyP1Reset.setHorizontalAlignment(SwingConstants.CENTER);
        joyP1Reset.setFont(fontFields);
        joyP1Reset.setEditable(false);
        joyP1Reset.setColumns(10);
        joyP1Reset.setBackground(Color.WHITE);
        joyP1Reset.setBounds(400, 194, 44, 23);
        joysticksPanel.add(joyP1Reset);
        joyP1Button2 = new JTextFieldNim();
        joyP1Button2.setEnabled(false);
        joyP1Button2.setDisabledTextColor(Color.GRAY);
        joyP1Button2.setName("joyP1Button2");
        joyP1Button2.setHorizontalAlignment(SwingConstants.CENTER);
        joyP1Button2.setFont(fontFields);
        joyP1Button2.setEditable(false);
        joyP1Button2.setColumns(10);
        joyP1Button2.setBackground(Color.WHITE);
        joyP1Button2.setBounds(397, 79, 44, 23);
        joysticksPanel.add(joyP1Button2);
        JLabel lblReset_1 = new JLabel("Select");
        lblReset_1.setHorizontalAlignment(SwingConstants.CENTER);
        lblReset_1.setFont(fontLabel);
        lblReset_1.setBounds(344, 180, 40, 14);
        joysticksPanel.add(lblReset_1);
        JLabel lblFastSpeed_1 = new JLabel("Fire 2");
        lblFastSpeed_1.setHorizontalAlignment(SwingConstants.CENTER);
        lblFastSpeed_1.setFont(fontLabel);
        lblFastSpeed_1.setBounds(399, 65, 40, 15);
        joysticksPanel.add(lblFastSpeed_1);
        joyP0Deadzone = new JComboBoxNim();
        joyP0Deadzone.setFont(fontFields);
        joyP0Deadzone.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                joyP0DeadzoneAction();
            }
        });
        joyP0Deadzone.setModel(new DefaultComboBoxModel(JOY_DEADZONE_OPTIONS));
        joyP0Deadzone.setBounds(152, 121, 64, 23);
        joysticksPanel.add(joyP0Deadzone);
        joyP0DeadzoneL = new JLabel("Dead zone");
        joyP0DeadzoneL.setHorizontalAlignment(SwingConstants.CENTER);
        joyP0DeadzoneL.setFont(fontLabel);
        joyP0DeadzoneL.setBounds(149, 107, 71, 15);
        joysticksPanel.add(joyP0DeadzoneL);
        joyP1Deadzone = new JComboBoxNim();
        joyP1Deadzone.setFont(fontFields);
        joyP1Deadzone.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                joyP1DeadzoneAction();
            }
        });
        joyP1Deadzone.setModel(new DefaultComboBoxModel(JOY_DEADZONE_OPTIONS));
        joyP1Deadzone.setBounds(257, 121, 64, 23);
        joysticksPanel.add(joyP1Deadzone);
        joyP1DeadzoneL = new JLabel("Dead zone");
        joyP1DeadzoneL.setHorizontalAlignment(SwingConstants.CENTER);
        joyP1DeadzoneL.setFont(fontLabel);
        joyP1DeadzoneL.setBounds(254, 107, 71, 15);
        joysticksPanel.add(joyP1DeadzoneL);
        joyP0FastSpeed = new JTextFieldNim();
        joyP0FastSpeed.setName("joyP0FastSpeed");
        joyP0FastSpeed.setHorizontalAlignment(SwingConstants.CENTER);
        joyP0FastSpeed.setFont(fontFields);
        joyP0FastSpeed.setEnabled(false);
        joyP0FastSpeed.setEditable(false);
        joyP0FastSpeed.setDisabledTextColor(Color.GRAY);
        joyP0FastSpeed.setColumns(10);
        joyP0FastSpeed.setBackground(Color.WHITE);
        joyP0FastSpeed.setBounds(26, 232, 44, 23);
        joysticksPanel.add(joyP0FastSpeed);
        JLabel lblFast = new JLabel("Fast");
        lblFast.setHorizontalAlignment(SwingConstants.CENTER);
        lblFast.setFont(fontLabel);
        lblFast.setBounds(28, 218, 40, 15);
        joysticksPanel.add(lblFast);
        joyP1FastSpeed = new JTextFieldNim();
        joyP1FastSpeed.setName("joyP1FastSpeed");
        joyP1FastSpeed.setHorizontalAlignment(SwingConstants.CENTER);
        joyP1FastSpeed.setFont(fontFields);
        joyP1FastSpeed.setEnabled(false);
        joyP1FastSpeed.setEditable(false);
        joyP1FastSpeed.setDisabledTextColor(Color.GRAY);
        joyP1FastSpeed.setColumns(10);
        joyP1FastSpeed.setBackground(Color.WHITE);
        joyP1FastSpeed.setBounds(342, 232, 44, 23);
        joysticksPanel.add(joyP1FastSpeed);
        JLabel lblFast_1 = new JLabel("Fast");
        lblFast_1.setHorizontalAlignment(SwingConstants.CENTER);
        lblFast_1.setFont(fontLabel);
        lblFast_1.setBounds(344, 218, 40, 15);
        joysticksPanel.add(lblFast_1);
        joyP0Sensitivity = new JComboBoxNim();
        joyP0Sensitivity.setFont(fontFields);
        joyP0Sensitivity.setModel(new DefaultComboBoxModel(PADDLE_SENS_OPTIONS));
        joyP0Sensitivity.setBounds(152, 163, 64, 23);
        joysticksPanel.add(joyP0Sensitivity);
        joyP0Sensitivity.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                joyP0SensitivityAction();
            }
        });
        JLabel lblPaddleSens = new JLabel("Sensitivity");
        lblPaddleSens.setHorizontalAlignment(SwingConstants.CENTER);
        lblPaddleSens.setFont(fontLabel);
        lblPaddleSens.setBounds(149, 149, 71, 15);
        joysticksPanel.add(lblPaddleSens);
        joyP1Sensitivity = new JComboBoxNim();
        joyP1Sensitivity.setFont(fontFields);
        joyP1Sensitivity.setModel(new DefaultComboBoxModel(PADDLE_SENS_OPTIONS));
        joyP1Sensitivity.setBounds(257, 163, 64, 23);
        joysticksPanel.add(joyP1Sensitivity);
        joyP1Sensitivity.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                joyP1SensitivityAction();
            }
        });
        JLabel label_3 = new JLabel("Sensitivity");
        label_3.setHorizontalAlignment(SwingConstants.CENTER);
        label_3.setFont(fontLabel);
        label_3.setBounds(254, 149, 71, 15);
        joysticksPanel.add(label_3);
        JPanel cartridgePanel = new JPanel();
        mainTabbedPane.addTab("Cartridge", null, cartridgePanel, null);
        cartridgePanel.setLayout(null);
        cartridgePanel.setPreferredSize(INTERNAL_TAB_SIZE);
        JLabel txtpnRomName = new JLabel();
        txtpnRomName.setBounds(15, 6, 153, 21);
        txtpnRomName.setText("Cartridge");
        txtpnRomName.setOpaque(false);
        txtpnRomName.setFont(fontLabelBold);
        cartridgePanel.add(txtpnRomName);
        romNameTf = new JTextFieldNim();
        romNameTf.setFont(fontLabel);
        romNameTf.setEditable(false);
        romNameTf.setBounds(14, 24, 445, 27);
        cartridgePanel.add(romNameTf);
        romNameTf.setColumns(10);
        JLabel txtpnRomFormat = new JLabel();
        txtpnRomFormat.setText("Cartridge Format");
        txtpnRomFormat.setOpaque(false);
        txtpnRomFormat.setFont(fontLabelBold);
        txtpnRomFormat.setBounds(15, 53, 447, 21);
        cartridgePanel.add(txtpnRomFormat);
        JScrollPane scrollPane = new JScrollPane();
        scrollPane.setBounds(14, 73, 285, 177);
        cartridgePanel.add(scrollPane);
        romFormatLb = new JList();
        romFormatLb.addListSelectionListener(new ListSelectionListener() {

            @Override
            public void valueChanged(ListSelectionEvent e) {
                romFormatLbAction();
            }
        });
        romFormatLb.setFont(fontLabel);
        scrollPane.setViewportView(romFormatLb);
        JTextPane txtpnYouCanPlace = new JTextPane();
        txtpnYouCanPlace.setText("You can give Format Hints like (E0) or (3F) in ROMs filenames");
        txtpnYouCanPlace.setOpaque(false);
        txtpnYouCanPlace.setBackground(noBackground);
        txtpnYouCanPlace.setFont(fontLabel);
        txtpnYouCanPlace.setEditable(false);
        txtpnYouCanPlace.setBounds(306, 77, 165, 78);
        cartridgePanel.add(txtpnYouCanPlace);
        JTextPane txtpnAltbCycle = new JTextPane();
        txtpnAltbCycle.setFocusable(false);
        txtpnAltbCycle.setText("ALT + B: Cycle through compatible Formats\r\n");
        txtpnAltbCycle.setOpaque(false);
        txtpnAltbCycle.setBackground(noBackground);
        txtpnAltbCycle.setFont(fontLabel);
        txtpnAltbCycle.setEditable(false);
        txtpnAltbCycle.setBounds(306, 201, 165, 61);
        cartridgePanel.add(txtpnAltbCycle);
        JLabel lbLibInfo = new JLabel("(Based on Rom Hunter's collection)");
        lbLibInfo.setHorizontalAlignment(SwingConstants.TRAILING);
        lbLibInfo.setFont(fontLabel);
        lbLibInfo.setBounds(170, 6, 285, 20);
        cartridgePanel.add(lbLibInfo);
        txtpnAltbCycle.addMouseListener(new MouseAdapter() {

            @Override
            public void mouseClicked(MouseEvent e) {
                cycleROMFormatAction.actionPerformed(null);
            }
        });
        JPanel helpPanel = new JPanel();
        mainTabbedPane.addTab("Help", null, helpPanel, null);
        helpPanel.setLayout(null);
        helpPanel.setPreferredSize(INTERNAL_TAB_SIZE);
        JTextPane txtpnAltJ = new JTextPane();
        txtpnAltJ.setOpaque(false);
        txtpnAltJ.setBackground(noBackground);
        txtpnAltJ.setEditable(false);
        txtpnAltJ.setFont(fontLabel);
        txtpnAltJ.setBounds(12, 39, 121, 226);
        helpPanel.add(txtpnAltJ);
        txtpnAltJ.setText("CTR + 1-0:\r\nALT + 1-0:\r\n\r\nALT + ENT:\r\nALT + V:\r\nALT + R:\r\nALT + T:\r\nALT + G:\r\nALT + D:\r\nALT + C:\r\nALT + P:\r\nALT + F:\r\nTAB:");
        JTextPane txtpnFullscreenNtsc = new JTextPane();
        txtpnFullscreenNtsc.setOpaque(false);
        txtpnFullscreenNtsc.setBackground(noBackground);
        txtpnFullscreenNtsc.setEditable(false);
        txtpnFullscreenNtsc.setText("Save State\r\nLoad State\r\n\r\nFullscreen\r\nNTSC / PAL\r\nCRT Modes\r\nCRT Filter\r\nShow info\r\nDebug Modes\r\nCollisions\r\nPause\r\nNext Frame\r\nFast Speed");
        txtpnFullscreenNtsc.setFont(fontLabel);
        txtpnFullscreenNtsc.setBounds(95, 39, 145, 226);
        helpPanel.add(txtpnFullscreenNtsc);
        JTextPane txtpnAltF = new JTextPane();
        txtpnAltF.setOpaque(false);
        txtpnAltF.setBackground(noBackground);
        txtpnAltF.setEditable(false);
        txtpnAltF.setText("ALT + F1:\r\nALT + F5:\r\nALT + F6:\r\nF7:\r\nF8:\r\n\r\nDrag/Drop or Copy/Paste of files and URLs\r\n\r\nSHIFT + Arrows:\r\nSHIFT-ALT + Arrows:\r\nCTR-SHIFT + Arrows:\r\nCTR-ALT + Arrows:\r\nBACKSPACE:");
        txtpnAltF.setFont(fontLabel);
        txtpnAltF.setBounds(201, 39, 309, 226);
        helpPanel.add(txtpnAltF);
        JTextPane txtpnFryConsoleLoad = new JTextPane();
        txtpnFryConsoleLoad.setOpaque(false);
        txtpnFryConsoleLoad.setBackground(noBackground);
        txtpnFryConsoleLoad.setEditable(false);
        txtpnFryConsoleLoad.setText("Fry Console\r\nLoad Cartridge\r\nwith no Power Cycle\r\nRemove Cartridge\nSave State file");
        txtpnFryConsoleLoad.setFont(fontLabel);
        txtpnFryConsoleLoad.setBounds(277, 39, 194, 117);
        helpPanel.add(txtpnFryConsoleLoad);
        JTextPane txtpnDisplayOriginDisplay = new JTextPane();
        txtpnDisplayOriginDisplay.setOpaque(false);
        txtpnDisplayOriginDisplay.setBackground(noBackground);
        txtpnDisplayOriginDisplay.setEditable(false);
        txtpnDisplayOriginDisplay.setText("\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nScreen Size\r\nScreen Scale\r\nViewport Size\r\nViewport Origin\r\nScreen Defaults");
        txtpnDisplayOriginDisplay.setFont(fontLabel);
        txtpnDisplayOriginDisplay.setBounds(340, 39, 139, 226);
        helpPanel.add(txtpnDisplayOriginDisplay);
        JLabel lblHotKeys = new JLabel();
        lblHotKeys.setHorizontalAlignment(SwingConstants.CENTER);
        lblHotKeys.setText("Hot Keys");
        lblHotKeys.setOpaque(false);
        lblHotKeys.setFont(fontLabelBold);
        lblHotKeys.setBounds(11, 10, 446, 21);
        helpPanel.add(lblHotKeys);
        {
            JPanel aboutPanel = new JPanel();
            aboutPanel.setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
            aboutPanel.setBackground(UIManager.getColor("Panel.background"));
            mainTabbedPane.addTab("About", null, aboutPanel, null);
            aboutPanel.setLayout(null);
            aboutPanel.setPreferredSize(INTERNAL_TAB_SIZE);
            {
                JLabel lblNewButton = new JLabel("");
                lblNewButton.setBounds(29, 27, 170, 166);
                aboutPanel.add(lblNewButton);
                lblNewButton.setIcon(new ImageIcon(SettingsDialog.class.getResource("/org/javatari/pc/room/settings/images/LogoAbout.png")));
                lblNewButton.setHorizontalAlignment(SwingConstants.CENTER);
                lblNewButton.setVerticalAlignment(SwingConstants.CENTER);
                lblNewButton.setBorder(new DeepBorder(6, new Insets(3, 3, 3, 3)));
            }
            JLabel lblVerion = new JLabel("version " + Parameters.VERSION);
            lblVerion.setHorizontalAlignment(SwingConstants.CENTER);
            lblVerion.setFont(fontLabelMedium);
            lblVerion.setBounds(67, 202, 95, 14);
            aboutPanel.add(lblVerion);
            JLabel lblCreate = new JLabel("Paulo Augusto Peccin");
            lblCreate.setHorizontalAlignment(SwingConstants.CENTER);
            lblCreate.setFont(fontLabelLarge);
            lblCreate.setBounds(241, 67, 173, 19);
            aboutPanel.add(lblCreate);
            JLabel lblCreated = new JLabel("created by");
            lblCreated.setHorizontalAlignment(SwingConstants.CENTER);
            lblCreated.setFont(fontLabelMedium);
            lblCreated.setBounds(259, 44, 137, 21);
            aboutPanel.add(lblCreated);
            {
                JLabel lblOfficialHomepage = new JLabel("official homepage:");
                lblOfficialHomepage.setHorizontalAlignment(SwingConstants.CENTER);
                lblOfficialHomepage.setFont(fontLabelMedium);
                lblOfficialHomepage.setBounds(259, 124, 137, 21);
                aboutPanel.add(lblOfficialHomepage);
            }
            {
                JButton lblHttpjavatariorg = new JButton("http://javatari.org");
                lblHttpjavatariorg.setFocusPainted(false);
                lblHttpjavatariorg.addActionListener(new ActionListener() {

                    public void actionPerformed(ActionEvent e) {
                        officialWebPageAction();
                    }
                });
                lblHttpjavatariorg.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                lblHttpjavatariorg.setBorder(null);
                lblHttpjavatariorg.setContentAreaFilled(false);
                lblHttpjavatariorg.setBorderPainted(false);
                lblHttpjavatariorg.setHorizontalAlignment(SwingConstants.CENTER);
                lblHttpjavatariorg.setForeground(new Color(40, 100, 230));
                lblHttpjavatariorg.setFont(fontLabelLarge);
                lblHttpjavatariorg.setBounds(250, 146, 154, 19);
                aboutPanel.add(lblHttpjavatariorg);
            }
            {
                JButton lblppeccin = new JButton("@ppeccin");
                lblppeccin.addActionListener(new ActionListener() {

                    public void actionPerformed(ActionEvent e) {
                        twitterPageAction();
                    }
                });
                lblppeccin.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
                lblppeccin.setContentAreaFilled(false);
                lblppeccin.setForeground(new Color(40, 100, 230));
                lblppeccin.setBorderPainted(false);
                lblppeccin.setBorder(null);
                lblppeccin.setHorizontalAlignment(SwingConstants.CENTER);
                lblppeccin.setFont(fontLabelMedium);
                lblppeccin.setBounds(259, 87, 137, 19);
                aboutPanel.add(lblppeccin);
            }
            vmInfo = new JLabel("");
            vmInfo.setHorizontalAlignment(SwingConstants.CENTER);
            vmInfo.setVerticalAlignment(SwingConstants.BOTTOM);
            vmInfo.setFont(fontFields);
            vmInfo.setBounds(11, 239, 450, 20);
            aboutPanel.add(vmInfo);
        }
    }
    {
        JPanel buttonPane = new JPanel();
        getContentPane().add(buttonPane, BorderLayout.SOUTH);
        buttonPane.setLayout(new BorderLayout(0, 0));
        {
            JPanel panel = new JPanel();
            FlowLayout flowLayout = (FlowLayout) panel.getLayout();
            flowLayout.setAlignment(FlowLayout.LEFT);
            buttonPane.add(panel, BorderLayout.WEST);
            defaultsB = new JButton("Defaults");
            defaultsB.setFont(fontLabel);
            defaultsB.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent e) {
                    defaultsAction();
                }
            });
            panel.add(defaultsB);
            JPanel panel_1 = new JPanel();
            buttonPane.add(panel_1, BorderLayout.EAST);
            {
                closeB = new JButton("Close");
                closeB.setFont(fontLabel);
                panel_1.add(closeB);
                closeB.addActionListener(new ActionListener() {

                    public void actionPerformed(ActionEvent e) {
                        closeAction();
                    }
                });
                closeB.setActionCommand("Cancel");
            }
        // getRootPane().setDefaultButton(okButton);
        }
    }
    keyboardEdittingL = new JLabel("");
    keyboardEdittingL.setHorizontalAlignment(SwingConstants.CENTER);
    keyboardEdittingL.setFont(fontLabel);
    keyboardEdittingL.setBounds(192, 53, 86, 15);
    keyboardPanel.add(keyboardEdittingL);
    joyP0XAxis = new JComboBoxNim();
    joyP0XAxis.setFont(fontFields);
    joyP0XAxis.setModel(new DefaultComboBoxModel(JOY_AXIS_OPTIONS));
    joyP0XAxis.setBounds(19, 130, 44, 23);
    joysticksPanel.add(joyP0XAxis);
    joyP0XAxis.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            joyP0XAxisAction();
        }
    });
    joyP0XAxisL = new JLabel("X Axis");
    joyP0XAxisL.setHorizontalAlignment(SwingConstants.CENTER);
    joyP0XAxisL.setFont(fontLabel);
    joyP0XAxisL.setBounds(12, 116, 58, 15);
    joysticksPanel.add(joyP0XAxisL);
    joyP0YAxis = new JComboBoxNim();
    joyP0YAxis.setFont(fontFields);
    joyP0YAxis.setModel(new DefaultComboBoxModel(JOY_AXIS_OPTIONS));
    joyP0YAxis.setBounds(85, 67, 44, 23);
    joysticksPanel.add(joyP0YAxis);
    joyP0YAxis.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            joyP0YAxisAction();
        }
    });
    JLabel lblVAxis = new JLabel("Y Axis");
    lblVAxis.setHorizontalAlignment(SwingConstants.CENTER);
    lblVAxis.setFont(fontLabel);
    lblVAxis.setBounds(85, 53, 45, 15);
    joysticksPanel.add(lblVAxis);
    joyP1XAxis = new JComboBoxNim();
    joyP1XAxis.setFont(fontFields);
    joyP1XAxis.setModel(new DefaultComboBoxModel(JOY_AXIS_OPTIONS));
    joyP1XAxis.setBounds(407, 130, 44, 23);
    joysticksPanel.add(joyP1XAxis);
    joyP1XAxis.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            joyP1XAxisAction();
        }
    });
    joyP1XAxisL = new JLabel("X Axis");
    joyP1XAxisL.setHorizontalAlignment(SwingConstants.CENTER);
    joyP1XAxisL.setFont(fontLabel);
    joyP1XAxisL.setBounds(400, 116, 58, 15);
    joysticksPanel.add(joyP1XAxisL);
    joyP1YAxis = new JComboBoxNim();
    joyP1YAxis.setFont(fontFields);
    joyP1YAxis.setModel(new DefaultComboBoxModel(JOY_AXIS_OPTIONS));
    joyP1YAxis.setBounds(342, 67, 44, 23);
    joysticksPanel.add(joyP1YAxis);
    joyP1YAxis.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            joyP1YAxisAction();
        }
    });
    JLabel lblP1YAxis = new JLabel("Y Axis");
    lblP1YAxis.setHorizontalAlignment(SwingConstants.CENTER);
    lblP1YAxis.setFont(fontLabel);
    lblP1YAxis.setBounds(342, 53, 45, 15);
    joysticksPanel.add(lblP1YAxis);
    joysticksEdittingL = new JLabel("");
    joysticksEdittingL.setHorizontalAlignment(SwingConstants.CENTER);
    joysticksEdittingL.setFont(fontLabel);
    joysticksEdittingL.setBounds(186, 52, 100, 15);
    joysticksPanel.add(joysticksEdittingL);
    joyP0Device = new JComboBoxNim();
    joyP0Device.setFont(fontFields);
    joyP0Device.setBounds(13, 26, 213, 23);
    joysticksPanel.add(joyP0Device);
    joyP0Device.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            joyP0P1DeviceAction();
        }
    });
    joyP1Device = new JComboBoxNim();
    joyP1Device.setFont(fontFields);
    joyP1Device.setBounds(245, 26, 213, 23);
    joysticksPanel.add(joyP1Device);
    joyP1Device.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            joyP0P1DeviceAction();
        }
    });
    ((JComponent) getContentPane()).getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(AWTConsoleControls.KEY_TOGGLE_P1_MODE, KeyEvent.ALT_DOWN_MASK), "ToggleP1Mode");
    ((JComponent) getContentPane()).getActionMap().put("ToggleP1Mode", toggleP1ModeAction);
    ((JComponent) getContentPane()).getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(AWTConsoleControls.KEY_TOGGLE_PADDLE, KeyEvent.ALT_DOWN_MASK), "TogglePaddles");
    ((JComponent) getContentPane()).getActionMap().put("TogglePaddles", togglePaddlesAction);
    ((JComponent) getContentPane()).getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(AWTConsoleControls.KEY_TOGGLE_JOYSTICK, KeyEvent.ALT_DOWN_MASK), "ToggleJoystick");
    ((JComponent) getContentPane()).getActionMap().put("ToggleJoystick", toggleJoystickAction);
    ((JComponent) getContentPane()).getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(KeyStroke.getKeyStroke(AWTConsoleControls.KEY_CARTRIDGE_FORMAT, KeyEvent.ALT_DOWN_MASK), "CycleROMFormat");
    ((JComponent) getContentPane()).getActionMap().put("CycleROMFormat", cycleROMFormatAction);
    buildFinished = true;
}
Also used : JPanel(javax.swing.JPanel) ImageIcon(javax.swing.ImageIcon) Insets(java.awt.Insets) FlowLayout(java.awt.FlowLayout) ActionEvent(java.awt.event.ActionEvent) JTabbedPane(javax.swing.JTabbedPane) JButton(javax.swing.JButton) ListSelectionEvent(javax.swing.event.ListSelectionEvent) WindowAdapter(java.awt.event.WindowAdapter) Font(java.awt.Font) JTextPane(javax.swing.JTextPane) BorderLayout(java.awt.BorderLayout) ChangeListener(javax.swing.event.ChangeListener) EmptyBorder(javax.swing.border.EmptyBorder) AbstractAction(javax.swing.AbstractAction) JScrollPane(javax.swing.JScrollPane) MouseEvent(java.awt.event.MouseEvent) Color(java.awt.Color) MouseAdapter(java.awt.event.MouseAdapter) JLabel(javax.swing.JLabel) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) ListSelectionListener(javax.swing.event.ListSelectionListener) ChangeEvent(javax.swing.event.ChangeEvent) ActionListener(java.awt.event.ActionListener) WindowEvent(java.awt.event.WindowEvent) JList(javax.swing.JList)

Example 4 with FlowLayout

use of java.awt.FlowLayout in project javatari by ppeccin.

the class PanelScreen method setup.

private void setup() {
    setTransferHandler(new ROMDropTransferHandler());
    monitorPanel.addComponentListener(new ComponentAdapter() {

        public void componentResized(ComponentEvent e) {
            if (e.getComponent() == monitorPanel)
                validate();
        }
    });
    setLayout(new FlowLayout(FlowLayout.CENTER, 0, 0));
    setOpaque(false);
    add(monitorPanel);
    if (consolePanel != null)
        add(consolePanel);
    validate();
}
Also used : FlowLayout(java.awt.FlowLayout) ComponentEvent(java.awt.event.ComponentEvent) ComponentAdapter(java.awt.event.ComponentAdapter)

Example 5 with FlowLayout

use of java.awt.FlowLayout in project lombok by rzwitserloot.

the class InstallerGUI method doUninstall.

private void doUninstall() {
    JPanel spinner = new JPanel();
    spinner.setOpaque(true);
    spinner.setLayout(new FlowLayout());
    spinner.add(new JLabel(new ImageIcon(Installer.class.getResource("/lombok/installer/loading.gif"))));
    final Container originalContentPane = appWindow.getContentPane();
    appWindow.setContentPane(spinner);
    final AtomicInteger successes = new AtomicInteger();
    new Thread(new Runnable() {

        @Override
        public void run() {
            for (IdeLocation loc : toUninstall) {
                try {
                    loc.uninstall();
                    successes.incrementAndGet();
                } catch (final UninstallException e) {
                    if (e.isWarning()) {
                        try {
                            SwingUtilities.invokeAndWait(new Runnable() {

                                @Override
                                public void run() {
                                    JOptionPane.showMessageDialog(appWindow, e.getMessage(), "Uninstall Problem", JOptionPane.WARNING_MESSAGE);
                                }
                            });
                        } catch (Exception e2) {
                            e2.printStackTrace();
                            //Shouldn't happen.
                            throw new RuntimeException(e2);
                        }
                    } else {
                        try {
                            SwingUtilities.invokeAndWait(new Runnable() {

                                @Override
                                public void run() {
                                    JOptionPane.showMessageDialog(appWindow, e.getMessage(), "Uninstall Problem", JOptionPane.ERROR_MESSAGE);
                                }
                            });
                        } catch (Exception e2) {
                            e2.printStackTrace();
                            //Shouldn't happen.
                            throw new RuntimeException(e2);
                        }
                    }
                }
            }
            SwingUtilities.invokeLater(new Runnable() {

                @Override
                public void run() {
                    if (successes.get() > 0) {
                        JOptionPane.showMessageDialog(appWindow, "Lombok has been removed from the selected IDE installations.", "Uninstall successful", JOptionPane.INFORMATION_MESSAGE);
                        appWindow.setVisible(false);
                        System.exit(0);
                        return;
                    }
                    appWindow.setContentPane(originalContentPane);
                }
            });
        }
    }).start();
}
Also used : JPanel(javax.swing.JPanel) ImageIcon(javax.swing.ImageIcon) FlowLayout(java.awt.FlowLayout) JLabel(javax.swing.JLabel) Container(java.awt.Container) AtomicInteger(java.util.concurrent.atomic.AtomicInteger)

Aggregations

FlowLayout (java.awt.FlowLayout)330 JPanel (javax.swing.JPanel)281 JLabel (javax.swing.JLabel)158 JButton (javax.swing.JButton)143 BoxLayout (javax.swing.BoxLayout)122 ActionEvent (java.awt.event.ActionEvent)120 ActionListener (java.awt.event.ActionListener)99 BorderLayout (java.awt.BorderLayout)89 JScrollPane (javax.swing.JScrollPane)80 Dimension (java.awt.Dimension)79 Container (java.awt.Container)45 JTextField (javax.swing.JTextField)36 GridBagLayout (java.awt.GridBagLayout)32 JCheckBox (javax.swing.JCheckBox)31 JmriJFrame (jmri.util.JmriJFrame)30 Insets (java.awt.Insets)29 GridBagConstraints (java.awt.GridBagConstraints)27 ButtonGroup (javax.swing.ButtonGroup)27 JTable (javax.swing.JTable)27 JSeparator (javax.swing.JSeparator)24