Search in sources :

Example 11 with ActionListener

use of java.awt.event.ActionListener in project antlr4 by antlr.

the class TreeViewer method showInDialog.

protected static JFrame showInDialog(final TreeViewer viewer) {
    final JFrame dialog = new JFrame();
    dialog.setTitle("Parse Tree Inspector");
    final Preferences prefs = Preferences.userNodeForPackage(TreeViewer.class);
    // Make new content panes
    final Container mainPane = new JPanel(new BorderLayout(5, 5));
    final Container contentPane = new JPanel(new BorderLayout(0, 0));
    contentPane.setBackground(Color.white);
    // Wrap viewer in scroll pane
    JScrollPane scrollPane = new JScrollPane(viewer);
    // Make the scrollpane (containing the viewer) the center component
    contentPane.add(scrollPane, BorderLayout.CENTER);
    JPanel wrapper = new JPanel(new FlowLayout());
    // Add button to bottom
    JPanel bottomPanel = new JPanel(new BorderLayout(0, 0));
    contentPane.add(bottomPanel, BorderLayout.SOUTH);
    JButton ok = new JButton("OK");
    ok.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            dialog.dispatchEvent(new WindowEvent(dialog, WindowEvent.WINDOW_CLOSING));
        }
    });
    wrapper.add(ok);
    // Add an export-to-png button right of the "OK" button
    JButton png = new JButton("Export as PNG");
    png.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            generatePNGFile(viewer, dialog);
        }
    });
    wrapper.add(png);
    bottomPanel.add(wrapper, BorderLayout.SOUTH);
    // Add scale slider
    double lastKnownViewerScale = prefs.getDouble(DIALOG_VIEWER_SCALE_PREFS_KEY, viewer.getScale());
    viewer.setScale(lastKnownViewerScale);
    int sliderValue = (int) ((lastKnownViewerScale - 1.0) * 1000);
    final JSlider scaleSlider = new JSlider(JSlider.HORIZONTAL, -999, 1000, sliderValue);
    scaleSlider.addChangeListener(new ChangeListener() {

        @Override
        public void stateChanged(ChangeEvent e) {
            int v = scaleSlider.getValue();
            viewer.setScale(v / 1000.0 + 1.0);
        }
    });
    bottomPanel.add(scaleSlider, BorderLayout.CENTER);
    // Add a JTree representing the parser tree of the input.
    JPanel treePanel = new JPanel(new BorderLayout(5, 5));
    // An "empty" icon that will be used for the JTree's nodes.
    Icon empty = new EmptyIcon();
    UIManager.put("Tree.closedIcon", empty);
    UIManager.put("Tree.openIcon", empty);
    UIManager.put("Tree.leafIcon", empty);
    Tree parseTreeRoot = viewer.getTree().getRoot();
    TreeNodeWrapper nodeRoot = new TreeNodeWrapper(parseTreeRoot, viewer);
    fillTree(nodeRoot, parseTreeRoot, viewer);
    final JTree tree = new JTree(nodeRoot);
    tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
    tree.addTreeSelectionListener(new TreeSelectionListener() {

        @Override
        public void valueChanged(TreeSelectionEvent e) {
            JTree selectedTree = (JTree) e.getSource();
            TreePath path = selectedTree.getSelectionPath();
            if (path != null) {
                TreeNodeWrapper treeNode = (TreeNodeWrapper) path.getLastPathComponent();
                // Set the clicked AST.
                viewer.setTree((Tree) treeNode.getUserObject());
            }
        }
    });
    treePanel.add(new JScrollPane(tree));
    // Create the pane for both the JTree and the AST
    final JSplitPane splitPane = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, treePanel, contentPane);
    mainPane.add(splitPane, BorderLayout.CENTER);
    dialog.setContentPane(mainPane);
    // make viz
    WindowListener exitListener = new WindowAdapter() {

        @Override
        public void windowClosing(WindowEvent e) {
            prefs.putInt(DIALOG_WIDTH_PREFS_KEY, (int) dialog.getSize().getWidth());
            prefs.putInt(DIALOG_HEIGHT_PREFS_KEY, (int) dialog.getSize().getHeight());
            prefs.putDouble(DIALOG_X_PREFS_KEY, dialog.getLocationOnScreen().getX());
            prefs.putDouble(DIALOG_Y_PREFS_KEY, dialog.getLocationOnScreen().getY());
            prefs.putInt(DIALOG_DIVIDER_LOC_PREFS_KEY, splitPane.getDividerLocation());
            prefs.putDouble(DIALOG_VIEWER_SCALE_PREFS_KEY, viewer.getScale());
            dialog.setVisible(false);
            dialog.dispose();
        }
    };
    dialog.addWindowListener(exitListener);
    dialog.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
    int width = prefs.getInt(DIALOG_WIDTH_PREFS_KEY, 600);
    int height = prefs.getInt(DIALOG_HEIGHT_PREFS_KEY, 500);
    dialog.setPreferredSize(new Dimension(width, height));
    dialog.pack();
    // After pack(): set the divider at 1/3 (200/600) of the frame.
    int dividerLocation = prefs.getInt(DIALOG_DIVIDER_LOC_PREFS_KEY, 200);
    splitPane.setDividerLocation(dividerLocation);
    if (prefs.getDouble(DIALOG_X_PREFS_KEY, -1) != -1) {
        dialog.setLocation((int) prefs.getDouble(DIALOG_X_PREFS_KEY, 100), (int) prefs.getDouble(DIALOG_Y_PREFS_KEY, 100));
    } else {
        dialog.setLocationRelativeTo(null);
    }
    dialog.setVisible(true);
    return dialog;
}
Also used : ActionEvent(java.awt.event.ActionEvent) WindowAdapter(java.awt.event.WindowAdapter) TreeSelectionListener(javax.swing.event.TreeSelectionListener) Tree(org.antlr.v4.runtime.tree.Tree) ChangeListener(javax.swing.event.ChangeListener) Preferences(java.util.prefs.Preferences) WindowListener(java.awt.event.WindowListener) ActionListener(java.awt.event.ActionListener) ChangeEvent(javax.swing.event.ChangeEvent) TreePath(javax.swing.tree.TreePath) WindowEvent(java.awt.event.WindowEvent) TreeSelectionEvent(javax.swing.event.TreeSelectionEvent)

Example 12 with ActionListener

use of java.awt.event.ActionListener in project jodd by oblac.

the class SwingSpy method createSpyRootPane.

/**
	 * Creates spy root pane for spy dialog.
	 */
protected JRootPane createSpyRootPane() {
    JRootPane rootPane = new JRootPane();
    KeyStroke escapeKeyStroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
    rootPane.registerKeyboardAction(new ActionListener() {

        public void actionPerformed(ActionEvent actionEvent) {
            spyGlass.setVisible(false);
            spyDialog.setVisible(false);
        }
    }, escapeKeyStroke, JComponent.WHEN_IN_FOCUSED_WINDOW);
    return rootPane;
}
Also used : ActionListener(java.awt.event.ActionListener) ActionEvent(java.awt.event.ActionEvent) KeyStroke(javax.swing.KeyStroke) JRootPane(javax.swing.JRootPane)

Example 13 with ActionListener

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

use of java.awt.event.ActionListener in project antlrworks by antlr.

the class AWPrefsDialog method prepareSyntaxTab.

public void prepareSyntaxTab() {
    syntaxDefaultButton.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            defaultSyntax(AWPrefs.PREF_SYNTAX_PARSER, parserColorPanel, parserBoldButton, parserItalicButton);
            defaultSyntax(AWPrefs.PREF_SYNTAX_LEXER, lexerColorPanel, lexerBoldButton, lexerItalicButton);
            defaultSyntax(AWPrefs.PREF_SYNTAX_LABEL, labelColorPanel, labelsBoldButton, labelsItalicButton);
            defaultSyntax(AWPrefs.PREF_SYNTAX_REFS, refsActionColorPanel, refsActionBoldButton, refsActionItalicButton);
            defaultSyntax(AWPrefs.PREF_SYNTAX_BLOCK, blockLabelsColorPanel, blockLabelsBoldButton, blockLabelsItalicButton);
            defaultSyntax(AWPrefs.PREF_SYNTAX_COMMENT, commentsColorPanel, commentsBoldButton, commentsItalicButton);
            defaultSyntax(AWPrefs.PREF_SYNTAX_STRING, stringsColorPanel, stringsBoldButton, stringsItalicButton);
            defaultSyntax(AWPrefs.PREF_SYNTAX_KEYWORD, keywordsColorPanel, keywordsBoldButton, keywordsItalicButton);
        }
    });
    bindSyntax(AWPrefs.PREF_SYNTAX_PARSER, parserColorPanel, parserBoldButton, parserItalicButton);
    bindSyntax(AWPrefs.PREF_SYNTAX_LEXER, lexerColorPanel, lexerBoldButton, lexerItalicButton);
    bindSyntax(AWPrefs.PREF_SYNTAX_LABEL, labelColorPanel, labelsBoldButton, labelsItalicButton);
    bindSyntax(AWPrefs.PREF_SYNTAX_REFS, refsActionColorPanel, refsActionBoldButton, refsActionItalicButton);
    bindSyntax(AWPrefs.PREF_SYNTAX_BLOCK, blockLabelsColorPanel, blockLabelsBoldButton, blockLabelsItalicButton);
    bindSyntax(AWPrefs.PREF_SYNTAX_COMMENT, commentsColorPanel, commentsBoldButton, commentsItalicButton);
    bindSyntax(AWPrefs.PREF_SYNTAX_STRING, stringsColorPanel, stringsBoldButton, stringsItalicButton);
    bindSyntax(AWPrefs.PREF_SYNTAX_KEYWORD, keywordsColorPanel, keywordsBoldButton, keywordsItalicButton);
}
Also used : ActionListener(java.awt.event.ActionListener) ActionEvent(java.awt.event.ActionEvent)

Example 15 with ActionListener

use of java.awt.event.ActionListener in project antlrworks by antlr.

the class AWPrefsDialog method prepareTestRigTab.

public void prepareTestRigTab() {
    testRigRadioButtonGroup = new ButtonGroup();
    testRigRadioButtonGroup.add(testRigDefaultRadio);
    testRigRadioButtonGroup.add(testRigTextRadio);
    TextUtils.createTabs(testTextArea);
    TextUtils.setDefaultTextPaneProperties(testTextArea);
    testTextArea.setFont(new Font(AWPrefs.getEditorFont(), Font.PLAIN, AWPrefs.getEditorFontSize()));
    testTextArea.setFocusable(true);
    testTextArea.requestFocusInWindow();
    testRigLanguageComboBox.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            prepareTestRigTabValues();
        }
    });
    testRigDefaultRadio.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            if (testRigDefaultRadio.isSelected()) {
                testTextArea.setEnabled(false);
            } else {
                testTextArea.setEnabled(true);
            }
        }
    });
    testRigTextRadio.addActionListener(new ActionListener() {

        public void actionPerformed(ActionEvent e) {
            if (testRigDefaultRadio.isSelected()) {
                testTextArea.setEnabled(false);
            } else {
                testTextArea.setEnabled(true);
            }
        }
    });
    prepareTestRigTabValues();
}
Also used : ActionListener(java.awt.event.ActionListener) ActionEvent(java.awt.event.ActionEvent)

Aggregations

ActionListener (java.awt.event.ActionListener)1347 ActionEvent (java.awt.event.ActionEvent)1303 JButton (javax.swing.JButton)363 JPanel (javax.swing.JPanel)345 JLabel (javax.swing.JLabel)234 JMenuItem (javax.swing.JMenuItem)191 BoxLayout (javax.swing.BoxLayout)150 GridBagConstraints (java.awt.GridBagConstraints)121 Insets (java.awt.Insets)121 GridBagLayout (java.awt.GridBagLayout)114 Dimension (java.awt.Dimension)113 FlowLayout (java.awt.FlowLayout)110 JCheckBox (javax.swing.JCheckBox)103 JScrollPane (javax.swing.JScrollPane)103 JMenu (javax.swing.JMenu)96 BorderLayout (java.awt.BorderLayout)88 JTextField (javax.swing.JTextField)79 JComboBox (javax.swing.JComboBox)73 ButtonGroup (javax.swing.ButtonGroup)64 ArrayList (java.util.ArrayList)60