Search in sources :

Example 6 with MouseAdapter

use of java.awt.event.MouseAdapter 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 7 with MouseAdapter

use of java.awt.event.MouseAdapter in project dbeaver by serge-rider.

the class TrayIconHandler method show.

public void show() {
    if (trayItem != null) {
        return;
    }
    File logoFile;
    try {
        logoFile = RuntimeUtils.getPlatformFile(UIIcon.DBEAVER_LOGO.getLocation());
    } catch (IOException e) {
        log.error(e);
        return;
    }
    trayItem = new TrayIcon(Toolkit.getDefaultToolkit().getImage(logoFile.getAbsolutePath()));
    trayItem.setImageAutoSize(true);
    trayItem.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
        }
    });
    trayItem.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseReleased(MouseEvent e) {
        }
    });
    // Add tooltip and menu to tray icon
    trayItem.setToolTip(GeneralUtils.getProductTitle());
    // area
    try {
        SystemTray.getSystemTray().add(trayItem);
    } catch (AWTException e) {
        log.error(e);
    }
}
Also used : MouseEvent(java.awt.event.MouseEvent) ActionListener(java.awt.event.ActionListener) ActionEvent(java.awt.event.ActionEvent) MouseAdapter(java.awt.event.MouseAdapter) IOException(java.io.IOException) File(java.io.File)

Example 8 with MouseAdapter

use of java.awt.event.MouseAdapter in project jadx by skylot.

the class MainWindow method initUI.

private void initUI() {
    mainPanel = new JPanel(new BorderLayout());
    JSplitPane splitPane = new JSplitPane();
    splitPane.setResizeWeight(SPLIT_PANE_RESIZE_WEIGHT);
    mainPanel.add(splitPane);
    DefaultMutableTreeNode treeRoot = new DefaultMutableTreeNode(NLS.str("msg.open_file"));
    treeModel = new DefaultTreeModel(treeRoot);
    tree = new JTree(treeModel);
    tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    tree.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            treeClickAction();
        }
    });
    tree.addKeyListener(new KeyAdapter() {

        @Override
        public void keyPressed(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_ENTER) {
                treeClickAction();
            }
        }
    });
    tree.setCellRenderer(new DefaultTreeCellRenderer() {

        @Override
        public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean isLeaf, int row, boolean focused) {
            Component c = super.getTreeCellRendererComponent(tree, value, selected, expanded, isLeaf, row, focused);
            if (value instanceof JNode) {
                setIcon(((JNode) value).getIcon());
            }
            return c;
        }
    });
    tree.addTreeWillExpandListener(new TreeWillExpandListener() {

        @Override
        public void treeWillExpand(TreeExpansionEvent event) throws ExpandVetoException {
            TreePath path = event.getPath();
            Object node = path.getLastPathComponent();
            if (node instanceof JClass) {
                JClass cls = (JClass) node;
                cls.getRootClass().load();
            }
        }

        @Override
        public void treeWillCollapse(TreeExpansionEvent event) throws ExpandVetoException {
        }
    });
    progressPane = new ProgressPanel(this, true);
    JPanel leftPane = new JPanel(new BorderLayout());
    leftPane.add(new JScrollPane(tree), BorderLayout.CENTER);
    leftPane.add(progressPane, BorderLayout.PAGE_END);
    splitPane.setLeftComponent(leftPane);
    tabbedPane = new TabbedPane(this);
    splitPane.setRightComponent(tabbedPane);
    dropTarget = new DropTarget(this, DnDConstants.ACTION_COPY, new MainDropTarget(this));
    setContentPane(mainPanel);
    setTitle(DEFAULT_TITLE);
}
Also used : JPanel(javax.swing.JPanel) DefaultMutableTreeNode(javax.swing.tree.DefaultMutableTreeNode) KeyAdapter(java.awt.event.KeyAdapter) DefaultTreeCellRenderer(javax.swing.tree.DefaultTreeCellRenderer) ExpandVetoException(javax.swing.tree.ExpandVetoException) KeyEvent(java.awt.event.KeyEvent) BorderLayout(java.awt.BorderLayout) JNode(jadx.gui.treemodel.JNode) Component(java.awt.Component) TreeExpansionEvent(javax.swing.event.TreeExpansionEvent) TreeWillExpandListener(javax.swing.event.TreeWillExpandListener) JScrollPane(javax.swing.JScrollPane) MouseEvent(java.awt.event.MouseEvent) JClass(jadx.gui.treemodel.JClass) MouseAdapter(java.awt.event.MouseAdapter) DefaultTreeModel(javax.swing.tree.DefaultTreeModel) JTree(javax.swing.JTree) TreePath(javax.swing.tree.TreePath) CacheObject(jadx.gui.utils.CacheObject) DropTarget(java.awt.dnd.DropTarget) JSplitPane(javax.swing.JSplitPane)

Example 9 with MouseAdapter

use of java.awt.event.MouseAdapter in project jadx by skylot.

the class TabbedPane method makeTabComponent.

private Component makeTabComponent(final ContentPanel contentPanel) {
    JNode node = contentPanel.getNode();
    String name = node.makeLongString();
    final JPanel panel = new JPanel(new FlowLayout(FlowLayout.CENTER, 3, 0));
    panel.setOpaque(false);
    final JLabel label = new JLabel(name);
    label.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 10));
    label.setIcon(node.getIcon());
    final JButton button = new JButton();
    button.setIcon(ICON_CLOSE_INACTIVE);
    button.setRolloverIcon(ICON_CLOSE);
    button.setRolloverEnabled(true);
    button.setOpaque(false);
    button.setUI(new BasicButtonUI());
    button.setContentAreaFilled(false);
    button.setFocusable(false);
    button.setBorder(null);
    button.setBorderPainted(false);
    button.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            closeCodePanel(contentPanel);
        }
    });
    panel.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            if (SwingUtilities.isMiddleMouseButton(e)) {
                closeCodePanel(contentPanel);
            } else if (SwingUtilities.isRightMouseButton(e)) {
                JPopupMenu menu = createTabPopupMenu(contentPanel);
                menu.show(panel, e.getX(), e.getY());
            } else {
                // TODO: make correct event delegation to tabbed pane
                setSelectedComponent(contentPanel);
            }
        }
    });
    panel.add(label);
    panel.add(button);
    panel.setBorder(BorderFactory.createEmptyBorder(4, 0, 0, 0));
    return panel;
}
Also used : JPanel(javax.swing.JPanel) FlowLayout(java.awt.FlowLayout) MouseEvent(java.awt.event.MouseEvent) ActionEvent(java.awt.event.ActionEvent) JButton(javax.swing.JButton) MouseAdapter(java.awt.event.MouseAdapter) JLabel(javax.swing.JLabel) BasicButtonUI(javax.swing.plaf.basic.BasicButtonUI) JPopupMenu(javax.swing.JPopupMenu) ActionListener(java.awt.event.ActionListener) JNode(jadx.gui.treemodel.JNode)

Example 10 with MouseAdapter

use of java.awt.event.MouseAdapter in project jadx by skylot.

the class JadxSettingsWindow method makeEditorGroup.

private SettingsGroup makeEditorGroup() {
    JButton fontBtn = new JButton(NLS.str("preferences.select_font"));
    fontBtn.addMouseListener(new MouseAdapter() {

        @Override
        public void mouseClicked(MouseEvent e) {
            JFontChooser fontChooser = new JFontChooser();
            fontChooser.setSelectedFont(settings.getFont());
            int result = fontChooser.showDialog(JadxSettingsWindow.this);
            if (result == JFontChooser.OK_OPTION) {
                Font font = fontChooser.getSelectedFont();
                LOG.info("Selected Font : {}", font);
                settings.setFont(font);
                mainWindow.updateFont(font);
            }
        }
    });
    SettingsGroup other = new SettingsGroup(NLS.str("preferences.editor"));
    other.addRow(NLS.str("preferences.font"), fontBtn);
    return other;
}
Also used : MouseEvent(java.awt.event.MouseEvent) JFontChooser(say.swing.JFontChooser) JButton(javax.swing.JButton) MouseAdapter(java.awt.event.MouseAdapter) Font(java.awt.Font)

Aggregations

MouseAdapter (java.awt.event.MouseAdapter)147 MouseEvent (java.awt.event.MouseEvent)144 JLabel (javax.swing.JLabel)31 JPanel (javax.swing.JPanel)30 ActionEvent (java.awt.event.ActionEvent)28 JButton (javax.swing.JButton)27 ActionListener (java.awt.event.ActionListener)25 BorderLayout (java.awt.BorderLayout)23 JScrollPane (javax.swing.JScrollPane)22 Dimension (java.awt.Dimension)17 KeyEvent (java.awt.event.KeyEvent)17 KeyAdapter (java.awt.event.KeyAdapter)16 FlowLayout (java.awt.FlowLayout)13 JTextField (javax.swing.JTextField)13 ListSelectionEvent (javax.swing.event.ListSelectionEvent)12 IOException (java.io.IOException)11 ListSelectionListener (javax.swing.event.ListSelectionListener)11 Insets (java.awt.Insets)10 JTable (javax.swing.JTable)10 NotNull (org.jetbrains.annotations.NotNull)10