Search in sources :

Example 1 with DefaultComboBoxModel

use of javax.swing.DefaultComboBoxModel in project openblocks by mikaelhg.

the class AutoCompletePanel method updateMenu.

/**
     * Updates the menu such that it can display
     * all the possible blocks that match the user-generated pattern
     * (the user-generated pattern is entered within AutoCompletePanel.editor)
     */
private void updateMenu() {
    //resize to display entire text in editor
    if (this.editor.getPreferredSize().width > preferredWidth) {
        this.setSize(this.editor.getPreferredSize().width, preferredHeight);
    } else {
        this.setSize(preferredWidth, preferredHeight);
    }
    //get matching blocks
    String text = editor.getText().trim();
    List<TextualFactoryBlock> matchingBlocks;
    // two "+" blocks, otherwise get the blocks matching the input text
    try {
        Float.valueOf(text);
        matchingBlocks = BlockUtilities.getDigits(workspace, text);
    } catch (NumberFormatException e) {
        if (text.equals(TypeBlockManager.PLUS_OPERATION_LABEL)) {
            matchingBlocks = BlockUtilities.getPlusBlocks(workspace, text);
        } else {
            matchingBlocks = BlockUtilities.getAllMatchingBlocks(workspace, text);
        }
    }
    //update menu and repaint
    menu.setModel(new DefaultComboBoxModel(matchingBlocks.toArray()));
    this.revalidate();
    this.repaint();
}
Also used : TextualFactoryBlock(edu.mit.blocks.renderable.TextualFactoryBlock) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel)

Example 2 with DefaultComboBoxModel

use of javax.swing.DefaultComboBoxModel 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 3 with DefaultComboBoxModel

use of javax.swing.DefaultComboBoxModel in project libgdx by libgdx.

the class DynamicsInfluencerPanel method initializeComponents.

protected void initializeComponents() {
    super.initializeComponents();
    JPanel velocitiesPanel = new JPanel();
    velocitiesPanel.setLayout(new GridBagLayout());
    {
        JPanel sideButtons = new JPanel(new GridBagLayout());
        velocitiesPanel.add(sideButtons, new GridBagConstraints(1, 0, 1, 1, 1, 1, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
        {
            sideButtons.add(velocityBox = new JComboBox(new DefaultComboBoxModel()), new GridBagConstraints(0, -1, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 6, 0), 0, 0));
        }
        {
            JButton newButton = new JButton("New");
            sideButtons.add(newButton, new GridBagConstraints(0, -1, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 6, 0), 0, 0));
            newButton.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent event) {
                    createVelocity(velocityBox.getSelectedItem());
                }
            });
        }
        {
            JButton deleteButton = new JButton("Delete");
            sideButtons.add(deleteButton, new GridBagConstraints(0, -1, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 6, 0), 0, 0));
            deleteButton.addActionListener(new ActionListener() {

                public void actionPerformed(ActionEvent event) {
                    deleteVelocity();
                }
            });
        }
    }
    JScrollPane scroll = new JScrollPane();
    velocitiesPanel.add(scroll, new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 6), 0, 0));
    velocityTable = new JTable() {

        public Class getColumnClass(int column) {
            return column == 1 ? Boolean.class : super.getColumnClass(column);
        }

        @Override
        public Dimension getPreferredScrollableViewportSize() {
            Dimension dim = super.getPreferredScrollableViewportSize();
            dim.height = getPreferredSize().height;
            return dim;
        }
    };
    velocityTable.getTableHeader().setReorderingAllowed(false);
    velocityTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    scroll.setViewportView(velocityTable);
    velocityTableModel = new DefaultTableModel(new String[0][0], new String[] { "Velocity", "Active" });
    velocityTable.setModel(velocityTableModel);
    velocityTable.getSelectionModel().addListSelectionListener(new ListSelectionListener() {

        public void valueChanged(ListSelectionEvent event) {
            if (event.getValueIsAdjusting())
                return;
            velocitySelected();
        }
    });
    velocityTableModel.addTableModelListener(new TableModelListener() {

        public void tableChanged(TableModelEvent event) {
            if (event.getColumn() != 1)
                return;
            velocityChecked(event.getFirstRow(), (Boolean) velocityTable.getValueAt(event.getFirstRow(), 1));
        }
    });
    //Velocity values
    emptyPanel = new ParticleValuePanel(editor, "", "", true, false);
    strengthVelocityPanel = new StrengthVelocityPanel(editor, null, "Life", "", "");
    angularVelocityPanel = new AngularVelocityPanel(editor, null, "Life", "", "");
    strengthVelocityPanel.setVisible(false);
    angularVelocityPanel.setVisible(false);
    emptyPanel.setVisible(false);
    strengthVelocityPanel.setIsAlwayShown(true);
    angularVelocityPanel.setIsAlwayShown(true);
    emptyPanel.setIsAlwayShown(true);
    emptyPanel.setValue(null);
    //Assemble
    int i = 0;
    addContent(i++, 0, velocitiesPanel);
    addContent(i++, 0, strengthVelocityPanel);
    addContent(i++, 0, angularVelocityPanel);
    addContent(i++, 0, emptyPanel);
}
Also used : JPanel(javax.swing.JPanel) GridBagConstraints(java.awt.GridBagConstraints) Insets(java.awt.Insets) GridBagLayout(java.awt.GridBagLayout) ActionEvent(java.awt.event.ActionEvent) TableModelEvent(javax.swing.event.TableModelEvent) DefaultTableModel(javax.swing.table.DefaultTableModel) JButton(javax.swing.JButton) ListSelectionEvent(javax.swing.event.ListSelectionEvent) JScrollPane(javax.swing.JScrollPane) JComboBox(javax.swing.JComboBox) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) Dimension(java.awt.Dimension) ListSelectionListener(javax.swing.event.ListSelectionListener) ActionListener(java.awt.event.ActionListener) JTable(javax.swing.JTable) TableModelListener(javax.swing.event.TableModelListener)

Example 4 with DefaultComboBoxModel

use of javax.swing.DefaultComboBoxModel in project libgdx by libgdx.

the class Hiero method initializeComponents.

private void initializeComponents() {
    getContentPane().setLayout(new GridBagLayout());
    JPanel leftSidePanel = new JPanel();
    leftSidePanel.setLayout(new GridBagLayout());
    getContentPane().add(leftSidePanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
    {
        JPanel fontPanel = new JPanel();
        leftSidePanel.add(fontPanel, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 5, 5, 5), 0, 0));
        fontPanel.setLayout(new GridBagLayout());
        fontPanel.setBorder(BorderFactory.createTitledBorder("Font"));
        {
            fontSizeSpinner = new JSpinner(new SpinnerNumberModel(32, 0, 256, 1));
            fontPanel.add(fontSizeSpinner, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 5, 10), 0, 0));
            ((JSpinner.DefaultEditor) fontSizeSpinner.getEditor()).getTextField().setColumns(2);
        }
        {
            JScrollPane fontScroll = new JScrollPane();
            fontPanel.add(fontScroll, new GridBagConstraints(1, 1, 3, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0));
            {
                fontListModel = new DefaultComboBoxModel(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames());
                fontList = new JList();
                fontScroll.setViewportView(fontList);
                fontList.setModel(fontListModel);
                fontList.setVisibleRowCount(6);
                fontList.setSelectedIndex(0);
                fontScroll.setMinimumSize(new Dimension(220, fontList.getPreferredScrollableViewportSize().height));
            }
        }
        {
            systemFontRadio = new JRadioButton("System:", true);
            fontPanel.add(systemFontRadio, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0, 5, 0, 5), 0, 0));
            systemFontRadio.setMargin(new Insets(0, 0, 0, 0));
        }
        {
            fontFileRadio = new JRadioButton("File:");
            fontPanel.add(fontFileRadio, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 5, 5), 0, 0));
            fontFileRadio.setMargin(new Insets(0, 0, 0, 0));
        }
        {
            fontFileText = new JTextField();
            fontPanel.add(fontFileText, new GridBagConstraints(1, 2, 2, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 5, 0), 0, 0));
        }
        {
            fontPanel.add(new JLabel("Size:"), new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
        }
        {
            unicodePanel = new JPanel(new GridBagLayout());
            fontPanel.add(unicodePanel, new GridBagConstraints(2, 3, 2, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 5), 0, 0));
            {
                boldCheckBox = new JCheckBox("Bold");
                unicodePanel.add(boldCheckBox, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
            {
                italicCheckBox = new JCheckBox("Italic");
                unicodePanel.add(italicCheckBox, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
        }
        {
            bitmapPanel = new JPanel(new GridBagLayout());
            fontPanel.add(bitmapPanel, new GridBagConstraints(2, 3, 2, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 5), 0, 0));
            {
                bitmapPanel.add(new JLabel("Gamma:"), new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
            {
                gammaSpinner = new JSpinner(new SpinnerNumberModel(1.8f, 0, 30, 0.01));
                ((JSpinner.DefaultEditor) gammaSpinner.getEditor()).getTextField().setColumns(2);
                bitmapPanel.add(gammaSpinner, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 5, 10), 0, 0));
            }
            {
                monoCheckBox = new JCheckBox("Mono");
                bitmapPanel.add(monoCheckBox, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
        }
        {
            browseButton = new JButton("...");
            fontPanel.add(browseButton, new GridBagConstraints(3, 2, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            browseButton.setMargin(new Insets(0, 0, 0, 0));
        }
        {
            fontPanel.add(new JLabel("Rendering:"), new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.NORTHEAST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
        }
        {
            JPanel renderingPanel = new JPanel(new GridBagLayout());
            fontPanel.add(renderingPanel, new GridBagConstraints(1, 4, 3, 1, 0.0, 0.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
            {
                freeTypeRadio = new JRadioButton("FreeType");
                renderingPanel.add(freeTypeRadio, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
            {
                javaRadio = new JRadioButton("Java");
                renderingPanel.add(javaRadio, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
            {
                nativeRadio = new JRadioButton("Native");
                renderingPanel.add(nativeRadio, new GridBagConstraints(2, 0, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
        }
        ButtonGroup buttonGroup = new ButtonGroup();
        buttonGroup.add(systemFontRadio);
        buttonGroup.add(fontFileRadio);
        buttonGroup = new ButtonGroup();
        buttonGroup.add(freeTypeRadio);
        buttonGroup.add(javaRadio);
        buttonGroup.add(nativeRadio);
        freeTypeRadio.setSelected(true);
    }
    {
        JPanel samplePanel = new JPanel();
        leftSidePanel.add(samplePanel, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 0, 5, 5), 0, 0));
        samplePanel.setLayout(new GridBagLayout());
        samplePanel.setBorder(BorderFactory.createTitledBorder("Sample Text"));
        {
            JScrollPane textScroll = new JScrollPane();
            samplePanel.add(textScroll, new GridBagConstraints(0, 0, 4, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0));
            {
                sampleTextPane = new JTextPane();
                textScroll.setViewportView(sampleTextPane);
            }
        }
        {
            sampleNeheButton = new JButton();
            sampleNeheButton.setText("NEHE");
            samplePanel.add(sampleNeheButton, new GridBagConstraints(2, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
        }
        {
            sampleAsciiButton = new JButton();
            sampleAsciiButton.setText("ASCII");
            samplePanel.add(sampleAsciiButton, new GridBagConstraints(3, 1, 1, 1, 0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
        }
        {
            sampleExtendedButton = new JButton();
            sampleExtendedButton.setText("Extended");
            samplePanel.add(sampleExtendedButton, new GridBagConstraints(1, 1, 1, 1, 1.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
        }
    }
    {
        JPanel renderingPanel = new JPanel();
        leftSidePanel.add(renderingPanel, new GridBagConstraints(0, 1, 2, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0));
        renderingPanel.setBorder(BorderFactory.createTitledBorder("Rendering"));
        renderingPanel.setLayout(new GridBagLayout());
        {
            JPanel wrapperPanel = new JPanel();
            renderingPanel.add(wrapperPanel, new GridBagConstraints(0, 1, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 5, 5, 5), 0, 0));
            wrapperPanel.setLayout(new BorderLayout());
            wrapperPanel.setBackground(java.awt.Color.white);
            {
                gamePanel = new JPanel();
                wrapperPanel.add(gamePanel);
                gamePanel.setLayout(new BorderLayout());
                gamePanel.setBackground(java.awt.Color.white);
            }
        }
        {
            glyphCachePanel = new JPanel() {

                private int maxWidth;

                public Dimension getPreferredSize() {
                    // Keep glyphCachePanel width from ever going down so the CanvasGameContainer doesn't change sizes and flicker.
                    Dimension size = super.getPreferredSize();
                    maxWidth = Math.max(maxWidth, size.width);
                    size.width = maxWidth;
                    return size;
                }
            };
            glyphCachePanel.setVisible(false);
            renderingPanel.add(glyphCachePanel, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
            glyphCachePanel.setLayout(new GridBagLayout());
            {
                glyphCachePanel.add(new JLabel("Glyphs:"), new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 5, 5), 0, 0));
            }
            {
                glyphCachePanel.add(new JLabel("Pages:"), new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 5, 5), 0, 0));
            }
            {
                glyphCachePanel.add(new JLabel("Page width:"), new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 5, 5), 0, 0));
            }
            {
                glyphCachePanel.add(new JLabel("Page height:"), new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 5, 5), 0, 0));
            }
            {
                glyphPageWidthCombo = new JComboBox(new DefaultComboBoxModel(new Integer[] { new Integer(32), new Integer(64), new Integer(128), new Integer(256), new Integer(512), new Integer(1024), new Integer(2048) }));
                glyphCachePanel.add(glyphPageWidthCombo, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
                glyphPageWidthCombo.setSelectedIndex(4);
            }
            {
                glyphPageHeightCombo = new JComboBox(new DefaultComboBoxModel(new Integer[] { new Integer(32), new Integer(64), new Integer(128), new Integer(256), new Integer(512), new Integer(1024), new Integer(2048) }));
                glyphCachePanel.add(glyphPageHeightCombo, new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
                glyphPageHeightCombo.setSelectedIndex(4);
            }
            {
                resetCacheButton = new JButton("Reset Cache");
                glyphCachePanel.add(resetCacheButton, new GridBagConstraints(0, 6, 2, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 5, 5, 5), 0, 0));
            }
            {
                glyphPagesTotalLabel = new JLabel("1");
                glyphCachePanel.add(glyphPagesTotalLabel, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
            {
                glyphsTotalLabel = new JLabel("0");
                glyphCachePanel.add(glyphsTotalLabel, new GridBagConstraints(1, 4, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
            {
                glyphPageComboModel = new DefaultComboBoxModel();
                glyphPageCombo = new JComboBox();
                glyphCachePanel.add(glyphPageCombo, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
                glyphPageCombo.setModel(glyphPageComboModel);
            }
            {
                glyphCachePanel.add(new JLabel("View:"), new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 5, 5), 0, 0));
            }
        }
        {
            JPanel radioButtonsPanel = new JPanel();
            renderingPanel.add(radioButtonsPanel, new GridBagConstraints(0, 0, 2, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
            radioButtonsPanel.setLayout(new GridBagLayout());
            {
                sampleTextRadio = new JRadioButton("Sample text");
                radioButtonsPanel.add(sampleTextRadio, new GridBagConstraints(2, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
                sampleTextRadio.setSelected(true);
            }
            {
                glyphCacheRadio = new JRadioButton("Glyph cache");
                radioButtonsPanel.add(glyphCacheRadio, new GridBagConstraints(3, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
            {
                radioButtonsPanel.add(new JLabel("Background:"), new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 5, 5, 5), 0, 0));
            }
            {
                backgroundColorLabel = new JLabel();
                radioButtonsPanel.add(backgroundColorLabel, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 5, 5), 0, 0));
            }
            ButtonGroup buttonGroup = new ButtonGroup();
            buttonGroup.add(glyphCacheRadio);
            buttonGroup.add(sampleTextRadio);
        }
    }
    JPanel rightSidePanel = new JPanel();
    rightSidePanel.setLayout(new GridBagLayout());
    getContentPane().add(rightSidePanel, new GridBagConstraints(1, 0, 1, 2, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 0, 0), 0, 0));
    {
        JPanel paddingPanel = new JPanel();
        paddingPanel.setLayout(new GridBagLayout());
        rightSidePanel.add(paddingPanel, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(0, 0, 5, 5), 0, 0));
        paddingPanel.setBorder(BorderFactory.createTitledBorder("Padding"));
        {
            padTopSpinner = new JSpinner(new SpinnerNumberModel(1, 0, 999, 1));
            paddingPanel.add(padTopSpinner, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
            ((JSpinner.DefaultEditor) padTopSpinner.getEditor()).getTextField().setColumns(2);
        }
        {
            padRightSpinner = new JSpinner(new SpinnerNumberModel(1, 0, 999, 1));
            paddingPanel.add(padRightSpinner, new GridBagConstraints(2, 2, 1, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 5), 0, 0));
            ((JSpinner.DefaultEditor) padRightSpinner.getEditor()).getTextField().setColumns(2);
        }
        {
            padLeftSpinner = new JSpinner(new SpinnerNumberModel(1, 0, 999, 1));
            paddingPanel.add(padLeftSpinner, new GridBagConstraints(0, 2, 1, 1, 1.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 0, 0), 0, 0));
            ((JSpinner.DefaultEditor) padLeftSpinner.getEditor()).getTextField().setColumns(2);
        }
        {
            padBottomSpinner = new JSpinner(new SpinnerNumberModel(1, 0, 999, 1));
            paddingPanel.add(padBottomSpinner, new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
            ((JSpinner.DefaultEditor) padBottomSpinner.getEditor()).getTextField().setColumns(2);
        }
        {
            JPanel advancePanel = new JPanel();
            FlowLayout advancePanelLayout = new FlowLayout();
            advancePanel.setLayout(advancePanelLayout);
            paddingPanel.add(advancePanel, new GridBagConstraints(0, 4, 3, 1, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
            {
                advancePanel.add(new JLabel("X:"));
            }
            {
                padAdvanceXSpinner = new JSpinner(new SpinnerNumberModel(-2, -999, 999, 1));
                advancePanel.add(padAdvanceXSpinner);
                ((JSpinner.DefaultEditor) padAdvanceXSpinner.getEditor()).getTextField().setColumns(2);
            }
            {
                advancePanel.add(new JLabel("Y:"));
            }
            {
                padAdvanceYSpinner = new JSpinner(new SpinnerNumberModel(-2, -999, 999, 1));
                advancePanel.add(padAdvanceYSpinner);
                ((JSpinner.DefaultEditor) padAdvanceYSpinner.getEditor()).getTextField().setColumns(2);
            }
        }
    }
    {
        effectsPanel = new JPanel();
        effectsPanel.setLayout(new GridBagLayout());
        rightSidePanel.add(effectsPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.CENTER, GridBagConstraints.BOTH, new Insets(5, 0, 5, 5), 0, 0));
        effectsPanel.setBorder(BorderFactory.createTitledBorder("Effects"));
        effectsPanel.setMinimumSize(new Dimension(210, 1));
        {
            effectsScroll = new JScrollPane();
            effectsPanel.add(effectsScroll, new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL, new Insets(0, 5, 5, 5), 0, 0));
            {
                effectsListModel = new DefaultComboBoxModel();
                effectsList = new JList();
                effectsScroll.setViewportView(effectsList);
                effectsList.setModel(effectsListModel);
                effectsList.setVisibleRowCount(7);
                effectsScroll.setMinimumSize(effectsList.getPreferredScrollableViewportSize());
            }
        }
        {
            addEffectButton = new JButton("Add");
            effectsPanel.add(addEffectButton, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0, GridBagConstraints.EAST, GridBagConstraints.NONE, new Insets(0, 5, 6, 5), 0, 0));
            addEffectButton.setEnabled(false);
        }
        {
            appliedEffectsScroll = new JScrollPane();
            effectsPanel.add(appliedEffectsScroll, new GridBagConstraints(1, 3, 1, 1, 1.0, 1.0, GridBagConstraints.NORTH, GridBagConstraints.BOTH, new Insets(0, 0, 5, 0), 0, 0));
            appliedEffectsScroll.setBorder(new EmptyBorder(0, 0, 0, 0));
            appliedEffectsScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
            {
                JPanel panel = new JPanel();
                panel.setLayout(new GridBagLayout());
                appliedEffectsScroll.setViewportView(panel);
                {
                    appliedEffectsPanel = new JPanel();
                    appliedEffectsPanel.setLayout(new GridBagLayout());
                    panel.add(appliedEffectsPanel, new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, GridBagConstraints.NORTH, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
                    appliedEffectsPanel.setBorder(BorderFactory.createMatteBorder(1, 0, 0, 0, java.awt.Color.black));
                }
            }
        }
    }
}
Also used : JScrollPane(javax.swing.JScrollPane) JPanel(javax.swing.JPanel) GridBagConstraints(java.awt.GridBagConstraints) Insets(java.awt.Insets) JRadioButton(javax.swing.JRadioButton) FlowLayout(java.awt.FlowLayout) GridBagLayout(java.awt.GridBagLayout) JComboBox(javax.swing.JComboBox) JButton(javax.swing.JButton) JLabel(javax.swing.JLabel) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) Dimension(java.awt.Dimension) JTextField(javax.swing.JTextField) SpinnerNumberModel(javax.swing.SpinnerNumberModel) JCheckBox(javax.swing.JCheckBox) JTextPane(javax.swing.JTextPane) BorderLayout(java.awt.BorderLayout) ButtonGroup(javax.swing.ButtonGroup) JSpinner(javax.swing.JSpinner) EmptyBorder(javax.swing.border.EmptyBorder) JList(javax.swing.JList)

Example 5 with DefaultComboBoxModel

use of javax.swing.DefaultComboBoxModel in project libgdx by libgdx.

the class RegionPickerPanel method initializeComponents.

private void initializeComponents() {
    setLayout(new GridBagLayout());
    content = new JPanel();
    atlasPanel = new TextureAtlasPanel();
    texturePanel = new TexturePanel();
    CustomCardLayout cardLayout = new CustomCardLayout();
    content.setLayout(cardLayout);
    content.add(atlasPanel, "atlas");
    content.add(texturePanel, "texture");
    add(content, new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    JPanel controls = new JPanel(new GridBagLayout());
    controls.add(selectButton = new JButton("Select"), new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    controls.add(new JSeparator(JSeparator.HORIZONTAL), new GridBagConstraints(0, -1, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 6, 0), 0, 0));
    //Pick
    JPanel pickPanel = new JPanel(new GridBagLayout());
    pickPanel.add(selectAllButton = new JButton("Pick All"), new GridBagConstraints(0, 0, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    pickPanel.add(clearButton = new JButton("Clear Selection"), new GridBagConstraints(1, 0, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    pickPanel.add(reverseButton = new JButton("Reverse Selection"), new GridBagConstraints(0, 1, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    controls.add(pickPanel, new GridBagConstraints(0, -1, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    //Generation
    generationPanel = new JPanel(new GridBagLayout());
    generationPanel.add(new JLabel("Rows"), new GridBagConstraints(0, 0, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    generationPanel.add(rowSlider = new Slider(1, 1, 9999, 1), new GridBagConstraints(1, 0, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    generationPanel.add(new JLabel("Columns"), new GridBagConstraints(0, 1, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    generationPanel.add(columnSlider = new Slider(1, 1, 9999, 1), new GridBagConstraints(1, 1, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    generationPanel.add(generateBox = new JComboBox(new DefaultComboBoxModel(GenerationMode.values())), new GridBagConstraints(0, 2, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    generationPanel.add(generateButton = new JButton("Generate"), new GridBagConstraints(1, 2, 1, 1, 1, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    controls.add(new JSeparator(JSeparator.HORIZONTAL), new GridBagConstraints(0, -1, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 6, 0), 0, 0));
    controls.add(generationPanel, new GridBagConstraints(0, -1, 1, 1, 0, 0, GridBagConstraints.CENTER, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    add(controls, new GridBagConstraints(1, 0, 1, 1, 1, 0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
    selectButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            JPanel panel = ((CustomCardLayout) content.getLayout()).getCurrentCard(content);
            TexturePanel currentTexturePanel = panel == atlasPanel ? atlasPanel.getCurrentRegionPanel() : texturePanel;
            listener.onRegionsSelected(currentTexturePanel.selectedRegions);
        }
    });
    selectAllButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            JPanel panel = ((CustomCardLayout) content.getLayout()).getCurrentCard(content);
            TexturePanel currentTexturePanel = panel == atlasPanel ? atlasPanel.getCurrentRegionPanel() : texturePanel;
            currentTexturePanel.selectAll();
        }
    });
    reverseButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            JPanel panel = ((CustomCardLayout) content.getLayout()).getCurrentCard(content);
            TexturePanel currentTexturePanel = panel == atlasPanel ? atlasPanel.getCurrentRegionPanel() : texturePanel;
            currentTexturePanel.selectedRegions.reverse();
            currentTexturePanel.revalidate();
            currentTexturePanel.repaint();
        }
    });
    clearButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            JPanel panel = ((CustomCardLayout) content.getLayout()).getCurrentCard(content);
            TexturePanel currentPanel = panel == atlasPanel ? atlasPanel.getCurrentRegionPanel() : texturePanel;
            currentPanel.clearSelection();
        }
    });
    generateButton.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent arg0) {
            generateRegions((GenerationMode) generateBox.getSelectedItem());
            texturePanel.revalidate();
            texturePanel.repaint();
        }
    });
}
Also used : JPanel(javax.swing.JPanel) GridBagConstraints(java.awt.GridBagConstraints) Insets(java.awt.Insets) GridBagLayout(java.awt.GridBagLayout) JComboBox(javax.swing.JComboBox) ActionEvent(java.awt.event.ActionEvent) JButton(javax.swing.JButton) JLabel(javax.swing.JLabel) DefaultComboBoxModel(javax.swing.DefaultComboBoxModel) JSeparator(javax.swing.JSeparator) ActionListener(java.awt.event.ActionListener)

Aggregations

DefaultComboBoxModel (javax.swing.DefaultComboBoxModel)63 JPanel (javax.swing.JPanel)16 JLabel (javax.swing.JLabel)13 JButton (javax.swing.JButton)12 ActionEvent (java.awt.event.ActionEvent)11 ActionListener (java.awt.event.ActionListener)11 JComboBox (javax.swing.JComboBox)11 Insets (java.awt.Insets)10 GridBagConstraints (java.awt.GridBagConstraints)9 GridBagLayout (java.awt.GridBagLayout)8 JScrollPane (javax.swing.JScrollPane)8 JTextField (javax.swing.JTextField)7 BorderLayout (java.awt.BorderLayout)5 Dimension (java.awt.Dimension)5 ItemEvent (java.awt.event.ItemEvent)5 ItemListener (java.awt.event.ItemListener)5 ArrayList (java.util.ArrayList)5 Vector (java.util.Vector)5 JCheckBox (javax.swing.JCheckBox)5 FlowLayout (java.awt.FlowLayout)4