Example usage for javax.swing JOptionPane showOptionDialog

List of usage examples for javax.swing JOptionPane showOptionDialog

Introduction

In this page you can find the example usage for javax.swing JOptionPane showOptionDialog.

Prototype

@SuppressWarnings("deprecation")
public static int showOptionDialog(Component parentComponent, Object message, String title, int optionType,
        int messageType, Icon icon, Object[] options, Object initialValue) throws HeadlessException 

Source Link

Document

Brings up a dialog with a specified icon, where the initial choice is determined by the initialValue parameter and the number of choices is determined by the optionType parameter.

Usage

From source file:com.nikonhacker.gui.EmulatorUI.java

private void openUIOptionsDialog() {
    JPanel options = new JPanel(new GridLayout(0, 1));
    options.setName("User Interface");
    // Button size
    ActionListener buttonSizeRadioListener = new ActionListener() {
        @Override// w w w  .j a v  a  2s .  co  m
        public void actionPerformed(ActionEvent e) {
            prefs.setButtonSize(e.getActionCommand());
        }
    };
    JRadioButton small = new JRadioButton("Small");
    small.setActionCommand(BUTTON_SIZE_SMALL);
    small.addActionListener(buttonSizeRadioListener);
    if (BUTTON_SIZE_SMALL.equals(prefs.getButtonSize()))
        small.setSelected(true);
    JRadioButton medium = new JRadioButton("Medium");
    medium.setActionCommand(BUTTON_SIZE_MEDIUM);
    medium.addActionListener(buttonSizeRadioListener);
    if (BUTTON_SIZE_MEDIUM.equals(prefs.getButtonSize()))
        medium.setSelected(true);
    JRadioButton large = new JRadioButton("Large");
    large.setActionCommand(BUTTON_SIZE_LARGE);
    large.addActionListener(buttonSizeRadioListener);
    if (BUTTON_SIZE_LARGE.equals(prefs.getButtonSize()))
        large.setSelected(true);

    ButtonGroup group = new ButtonGroup();
    group.add(small);
    group.add(medium);
    group.add(large);

    // Close windows on stop
    final JCheckBox closeAllWindowsOnStopCheckBox = new JCheckBox("Close all windows on Stop");
    closeAllWindowsOnStopCheckBox.setSelected(prefs.isCloseAllWindowsOnStop());

    // Refresh interval
    JPanel refreshIntervalPanel = new JPanel();
    final JTextField refreshIntervalField = new JTextField(5);
    refreshIntervalPanel.add(new JLabel("Refresh interval for cpu, screen, etc. (ms):"));

    refreshIntervalField.setText("" + prefs.getRefreshIntervalMs());
    refreshIntervalPanel.add(refreshIntervalField);

    // Setup panel
    options.add(new JLabel("Button size :"));
    options.add(small);
    options.add(medium);
    options.add(large);
    options.add(closeAllWindowsOnStopCheckBox);
    options.add(refreshIntervalPanel);
    options.add(new JLabel("Larger value greatly increases emulation speed"));

    if (JOptionPane.OK_OPTION == JOptionPane.showOptionDialog(this, options, "Preferences",
            JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE, null, null, JOptionPane.DEFAULT_OPTION)) {
        // save
        prefs.setButtonSize(group.getSelection().getActionCommand());
        prefs.setCloseAllWindowsOnStop(closeAllWindowsOnStopCheckBox.isSelected());
        int refreshIntervalMs = 0;
        try {
            refreshIntervalMs = Integer.parseInt(refreshIntervalField.getText());
        } catch (NumberFormatException e) {
            // noop
        }
        refreshIntervalMs = Math.max(Math.min(refreshIntervalMs, 10000), 10);
        prefs.setRefreshIntervalMs(refreshIntervalMs);
        applyPrefsToUI();
    }
}

From source file:JNLPAppletLauncher.java

private void updateDeploymentPropertiesImpl() {
    String userHome = System.getProperty("user.home");
    File dontAskFile = new File(userHome + File.separator + ".jnlp-applet" + File.separator + DONT_ASK);
    if (dontAskFile.exists())
        return; // User asked us not to prompt again

    int option = 0;

    if (!getBooleanParameter("noddraw.check.silent")) {
        option = JOptionPane.showOptionDialog(null,
                "For best robustness of OpenGL applets on Windows,\n"
                        + "we recommend disabling Java2D's use of DirectDraw.\n"
                        + "This setting will affect all applets, but is unlikely\n"
                        + "to slow other applets down significantly. May we update\n"
                        + "your deployment.properties to turn off DirectDraw for\n"
                        + "applets? You can change this back later if necessary\n"
                        + "using the Java Control Panel, Java tab, under Java\n" + "Applet Runtime Settings.",
                "Update deployment.properties?", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE,
                null, new Object[] { "Yes", "No", "No, Don't Ask Again" }, "Yes");
    }//from www.  j av  a2  s  . c  o  m

    if (option < 0 || option == 1)
        return; // No

    if (option == 2) {
        try {
            dontAskFile.createNewFile();
        } catch (IOException e) {
        }
        return; // No, Don't Ask Again
    }

    try {
        // Must update deployment.properties
        File propsDir = new File(getDeploymentPropsDir());
        if (!propsDir.exists()) {
            // Don't know what's going on or how to set this permanently
            return;
        }

        File propsFile = new File(propsDir, "deployment.properties");
        if (!propsFile.exists()) {
            // Don't know what's going on or how to set this permanently
            return;
        }

        Properties props = new Properties();
        InputStream input = new BufferedInputStream(new FileInputStream(propsFile));
        props.load(input);
        input.close();
        // Search through the keys looking for JRE versions
        Set/*<String>*/ jreVersions = new HashSet/*<String>*/();
        for (Iterator /*<String>*/ iter = props.keySet().iterator(); iter.hasNext();) {
            String key = (String) iter.next();
            if (key.startsWith(JRE_PREFIX)) {
                int idx = key.lastIndexOf(".");
                if (idx >= 0 && idx > JRE_PREFIX.length()) {
                    String jreVersion = key.substring(JRE_PREFIX.length(), idx);
                    jreVersions.add(jreVersion);
                }
            }
        }

        // Make sure the currently-running JRE shows up in this set to
        // avoid repeated displays of the dialog. It might not in some
        // upgrade scenarios where there was a pre-existing
        // deployment.properties and the new Java Control Panel hasn't
        // been run yet.
        jreVersions.add(System.getProperty("java.version"));

        // OK, now that we know all JRE versions covered by the
        // deployment.properties, check out the args for each and update
        // them
        for (Iterator /*<String>*/ iter = jreVersions.iterator(); iter.hasNext();) {
            String version = (String) iter.next();
            String argKey = JRE_PREFIX + version + ".args";
            String argVal = props.getProperty(argKey);
            if (argVal == null) {
                argVal = NODDRAW_PROP;
            } else if (argVal.indexOf(NODDRAW_PROP) < 0) {
                argVal = argVal + " " + NODDRAW_PROP;
            }
            props.setProperty(argKey, argVal);
        }

        OutputStream output = new BufferedOutputStream(new FileOutputStream(propsFile));
        props.store(output, null);
        output.close();

        if (!getBooleanParameter("noddraw.check.silent")) {
            // Tell user we're done
            JOptionPane.showMessageDialog(null, "For best robustness, we recommend you now exit and\n"
                    + "restart your web browser. (Note: clicking \"OK\" will\n" + "not exit your browser.)",
                    "Browser Restart Recommended", JOptionPane.INFORMATION_MESSAGE);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}

From source file:fi.hoski.remote.ui.Admin.java

private void swapPatrolShift(AnyDataObject user) {
    Long memberNumber = (Long) user.get(Member.JASENNO);
    PatrolShift selectedShift = choosePatrolShift(user);
    if (selectedShift != null) {
        SwapRequest req = new SwapRequest();
        req.set(Repository.JASENNO, user.createKey());
        req.set(Repository.VUOROID, selectedShift.createKey());
        req.set(Repository.PAIVA, selectedShift.get(Repository.PAIVA));
        List<Long> excluded = new ArrayList<Long>();
        Day day = (Day) selectedShift.get(Repository.PAIVA);
        excluded.add(day.getValue());//  ww w .ja  v  a  2s .c  om
        req.set(SwapRequest.EXCLUDE, excluded);
        req.set(Repository.CREATOR, creator);
        Object[] options = { TextUtil.getText("SWAP SHIFT"), TextUtil.getText("EXCLUDE DATE"),
                TextUtil.getText("DELETE PREVIOUS SWAP"), TextUtil.getText("CANCEL") };
        String msg = TextUtil.getText("SWAP OPTIONS");
        try {
            msg = dss.getShiftString(selectedShift.getEntity(), msg);
        } catch (EntityNotFoundException ex) {
            Logger.getLogger(Admin.class.getName()).log(Level.SEVERE, null, ex);
        }
        while (true) {
            int choise = JOptionPane.showOptionDialog(frame, msg + dateList(excluded), "",
                    JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
            switch (choise) {
            case 0:
                try {
                    msg = TextUtil.getText("SWAP CONFIRMATION");
                    msg = dss.getShiftString(selectedShift.getEntity(), msg) + dateList(excluded);
                    int confirm = JOptionPane.showConfirmDialog(frame, msg, TextUtil.getText("SWAP SHIFT"),
                            JOptionPane.OK_CANCEL_OPTION);
                    if (JOptionPane.YES_OPTION == confirm) {
                        boolean ok = dss.swapShift(req);
                        if (ok) {
                            JOptionPane.showMessageDialog(frame, TextUtil.getText("SwapOk"));
                        } else {
                            JOptionPane.showMessageDialog(frame, TextUtil.getText("SwapPending"));
                        }
                    }
                } catch (EntityNotFoundException | IOException | SMSException | AddressException ex) {
                    ex.printStackTrace();
                    JOptionPane.showMessageDialog(null, ex.getMessage());
                }
                return;
            case 1:
                Day d = DateChooser.chooseDate(TextUtil.getText("EXCLUDE DATE"),
                        new Day(excluded.get(excluded.size() - 1)));
                excluded.add(d.getValue());
                break;
            case 2:
                dss.deleteSwaps(memberNumber.intValue());
                return;
            case 3:
                return;
            }
        }
    } else {
        JOptionPane.showMessageDialog(frame, TextUtil.getText("NO SELECTION"), TextUtil.getText("MESSAGE"),
                JOptionPane.INFORMATION_MESSAGE);
    }
}

From source file:de.huxhorn.lilith.swing.MainFrame.java

private void showApplicationPathChangedDialog() {
    if (logger.isInfoEnabled())
        logger.info("showApplicationPathChangedDialog()");
    final Object[] options = { "Exit", "Cancel" };
    Icon icon = null;//w  ww  . j a  va 2 s.  co m
    {
        URL url = MainFrame.class.getResource("/tango/32x32/status/dialog-warning.png");
        if (url != null) {
            icon = new ImageIcon(url);
        }
    }
    int result = JOptionPane.showOptionDialog(this,
            "You have changed the application path.\n"
                    + "You need to restart for this change to take effect.\n\n" + "Exit now?",
            "Exit now?", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, icon, options, options[0]);
    if (result == 0) {
        exit();
    }
}

From source file:de.huxhorn.lilith.swing.MainFrame.java

private void showLookAndFeelChangedDialog() {
    if (logger.isInfoEnabled())
        logger.info("showLookAndFeelChangedDialog()");
    final Object[] options = { "Exit", "Cancel" };
    Icon icon = null;/*from   w ww. j a v a2 s . c o  m*/
    {
        URL url = MainFrame.class.getResource("/tango/32x32/status/dialog-warning.png");
        if (url != null) {
            icon = new ImageIcon(url);
        }
    }
    int result = JOptionPane.showOptionDialog(this,
            "You have changed the look & feel.\n" + "You need to restart for this change to take effect.\n\n"
                    + "Exit now?",
            "Exit now?", JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE, icon, options, options[0]);
    if (result == 0) {
        exit();
    }
}

From source file:com.nikonhacker.gui.EmulatorUI.java

private void openChipOptionsDialog(final int chip) {

    // ------------------------ Disassembly options

    JPanel disassemblyOptionsPanel = new JPanel(new MigLayout("", "[left,grow][left,grow]"));

    // Prepare sample code area
    final RSyntaxTextArea listingArea = new RSyntaxTextArea(20, 90);
    SourceCodeFrame.prepareAreaFormat(chip, listingArea);

    final List<JCheckBox> outputOptionsCheckBoxes = new ArrayList<JCheckBox>();
    ActionListener areaRefresherListener = new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            try {
                Set<OutputOption> sampleOptions = EnumSet.noneOf(OutputOption.class);
                dumpOptionCheckboxes(outputOptionsCheckBoxes, sampleOptions);
                int baseAddress = framework.getPlatform(chip).getCpuState().getResetAddress();
                int lastAddress = baseAddress;
                Memory sampleMemory = new DebuggableMemory(false);
                sampleMemory.map(baseAddress, 0x100, true, true, true);
                StringWriter writer = new StringWriter();
                Disassembler disassembler;
                if (chip == Constants.CHIP_FR) {
                    sampleMemory.store16(lastAddress, 0x1781); // PUSH    RP
                    lastAddress += 2;/*from   w  ww  . j a v  a2  s  . c o  m*/
                    sampleMemory.store16(lastAddress, 0x8FFE); // PUSH    (FP,AC,R12,R11,R10,R9,R8)
                    lastAddress += 2;
                    sampleMemory.store16(lastAddress, 0x83EF); // ANDCCR  #0xEF
                    lastAddress += 2;
                    sampleMemory.store16(lastAddress, 0x9F80); // LDI:32  #0x68000000,R0
                    lastAddress += 2;
                    sampleMemory.store16(lastAddress, 0x6800);
                    lastAddress += 2;
                    sampleMemory.store16(lastAddress, 0x0000);
                    lastAddress += 2;
                    sampleMemory.store16(lastAddress, 0x2031); // LD      @(FP,0x00C),R1
                    lastAddress += 2;
                    sampleMemory.store16(lastAddress, 0xB581); // LSL     #24,R1
                    lastAddress += 2;
                    sampleMemory.store16(lastAddress, 0x1A40); // DMOVB   R13,@0x40
                    lastAddress += 2;
                    sampleMemory.store16(lastAddress, 0x9310); // ORCCR   #0x10
                    lastAddress += 2;
                    sampleMemory.store16(lastAddress, 0x8D7F); // POP     (R8,R9,R10,R11,R12,AC,FP)
                    lastAddress += 2;
                    sampleMemory.store16(lastAddress, 0x0781); // POP    RP
                    lastAddress += 2;

                    disassembler = new Dfr();
                    disassembler.setDebugPrintWriter(new PrintWriter(new StringWriter())); // Ignore
                    disassembler.setOutputFileName(null);
                    disassembler.processOptions(new String[] { "-m", "0x" + Format.asHex(baseAddress, 8) + "-0x"
                            + Format.asHex(lastAddress, 8) + "=CODE" });
                } else {
                    sampleMemory.store32(lastAddress, 0x340B0001); // li      $t3, 0x0001
                    lastAddress += 4;
                    sampleMemory.store32(lastAddress, 0x17600006); // bnez    $k1, 0xBFC00020
                    lastAddress += 4;
                    sampleMemory.store32(lastAddress, 0x00000000); //  nop
                    lastAddress += 4;
                    sampleMemory.store32(lastAddress, 0x54400006); // bnezl   $t4, 0xBFC00028
                    lastAddress += 4;
                    sampleMemory.store32(lastAddress, 0x3C0C0000); //  ?lui   $t4, 0x0000
                    lastAddress += 4;

                    int baseAddress16 = lastAddress;
                    int lastAddress16 = baseAddress16;
                    sampleMemory.store32(lastAddress16, 0xF70064F6); // save    $ra,$s0,$s1,$s2-$s7,$fp, 0x30
                    lastAddress16 += 4;
                    sampleMemory.store16(lastAddress16, 0x6500); // nop
                    lastAddress16 += 2;
                    sampleMemory.store32(lastAddress16, 0xF7006476); // restore $ra,$s0,$s1,$s2-$s7,$fp, 0x30
                    lastAddress16 += 4;
                    sampleMemory.store16(lastAddress16, 0xE8A0); // ret
                    lastAddress16 += 2;

                    disassembler = new Dtx();
                    disassembler.setDebugPrintWriter(new PrintWriter(new StringWriter())); // Ignore
                    disassembler.setOutputFileName(null);
                    disassembler.processOptions(new String[] { "-m",
                            "0x" + Format.asHex(baseAddress, 8) + "-0x" + Format.asHex(lastAddress, 8)
                                    + "=CODE:32",
                            "-m", "0x" + Format.asHex(baseAddress16, 8) + "-0x" + Format.asHex(lastAddress16, 8)
                                    + "=CODE:16" });
                }
                disassembler.setOutputOptions(sampleOptions);
                disassembler.setMemory(sampleMemory);
                disassembler.initialize();
                disassembler.setOutWriter(writer);
                disassembler.disassembleMemRanges();
                disassembler.cleanup();
                listingArea.setText("");
                listingArea.append(writer.toString());
                listingArea.setCaretPosition(0);

            } catch (Exception ex) {
                ex.printStackTrace();
            }
        }
    };

    int i = 1;
    for (OutputOption outputOption : OutputOption.allFormatOptions) {
        JCheckBox checkBox = makeOutputOptionCheckBox(chip, outputOption, prefs.getOutputOptions(chip), false);
        if (checkBox != null) {
            outputOptionsCheckBoxes.add(checkBox);
            disassemblyOptionsPanel.add(checkBox, (i % 2 == 0) ? "wrap" : "");
            checkBox.addActionListener(areaRefresherListener);
            i++;
        }
    }
    if (i % 2 == 0) {
        disassemblyOptionsPanel.add(new JLabel(), "wrap");
    }

    // Force a refresh
    areaRefresherListener.actionPerformed(new ActionEvent(outputOptionsCheckBoxes.get(0), 0, ""));

    //        disassemblyOptionsPanel.add(new JLabel("Sample output:", SwingConstants.LEADING), "gapbottom 1, span, split 2, aligny center");
    //        disassemblyOptionsPanel.add(new JSeparator(), "span 2,wrap");
    disassemblyOptionsPanel.add(new JSeparator(), "span 2, gapleft rel, growx, wrap");
    disassemblyOptionsPanel.add(new JLabel("Sample output:"), "span 2,wrap");
    disassemblyOptionsPanel.add(new JScrollPane(listingArea), "span 2,wrap");
    disassemblyOptionsPanel.add(new JLabel("Tip: hover over the option checkboxes for help"),
            "span 2, center, wrap");

    // ------------------------ Emulation options

    JPanel emulationOptionsPanel = new JPanel(new VerticalLayout(5, VerticalLayout.LEFT));
    emulationOptionsPanel.add(new JLabel());
    JLabel warningLabel = new JLabel(
            "NOTE: these options only take effect after reloading the firmware (or performing a 'Stop and reset')");
    warningLabel.setBackground(Color.RED);
    warningLabel.setOpaque(true);
    warningLabel.setForeground(Color.WHITE);
    warningLabel.setHorizontalAlignment(SwingConstants.CENTER);
    emulationOptionsPanel.add(warningLabel);
    emulationOptionsPanel.add(new JLabel());

    final JCheckBox writeProtectFirmwareCheckBox = new JCheckBox("Write-protect firmware");
    writeProtectFirmwareCheckBox.setSelected(prefs.isFirmwareWriteProtected(chip));
    emulationOptionsPanel.add(writeProtectFirmwareCheckBox);
    emulationOptionsPanel.add(new JLabel(
            "If checked, any attempt to write to the loaded firmware area will result in an Emulator error. This can help trap spurious writes"));

    final JCheckBox dmaSynchronousCheckBox = new JCheckBox("Make DMA synchronous");
    dmaSynchronousCheckBox.setSelected(prefs.isDmaSynchronous(chip));
    emulationOptionsPanel.add(dmaSynchronousCheckBox);
    emulationOptionsPanel.add(new JLabel(
            "If checked, DMA operations will be performed immediately, pausing the CPU. Otherwise they are performed in a separate thread."));

    final JCheckBox autoEnableTimersCheckBox = new JCheckBox("Auto enable timers");
    autoEnableTimersCheckBox.setSelected(prefs.isAutoEnableTimers(chip));
    emulationOptionsPanel.add(autoEnableTimersCheckBox);
    emulationOptionsPanel
            .add(new JLabel("If checked, timers will be automatically enabled upon reset or firmware load."));

    // Log memory messages
    final JCheckBox logMemoryMessagesCheckBox = new JCheckBox("Log memory messages");
    logMemoryMessagesCheckBox.setSelected(prefs.isLogMemoryMessages(chip));
    emulationOptionsPanel.add(logMemoryMessagesCheckBox);
    emulationOptionsPanel
            .add(new JLabel("If checked, messages related to memory will be logged to the console."));

    // Log serial messages
    final JCheckBox logSerialMessagesCheckBox = new JCheckBox("Log serial messages");
    logSerialMessagesCheckBox.setSelected(prefs.isLogSerialMessages(chip));
    emulationOptionsPanel.add(logSerialMessagesCheckBox);
    emulationOptionsPanel.add(
            new JLabel("If checked, messages related to serial interfaces will be logged to the console."));

    // Log register messages
    final JCheckBox logRegisterMessagesCheckBox = new JCheckBox("Log register messages");
    logRegisterMessagesCheckBox.setSelected(prefs.isLogRegisterMessages(chip));
    emulationOptionsPanel.add(logRegisterMessagesCheckBox);
    emulationOptionsPanel.add(new JLabel(
            "If checked, warnings related to unimplemented register addresses will be logged to the console."));

    // Log pin messages
    final JCheckBox logPinMessagesCheckBox = new JCheckBox("Log pin messages");
    logPinMessagesCheckBox.setSelected(prefs.isLogPinMessages(chip));
    emulationOptionsPanel.add(logPinMessagesCheckBox);
    emulationOptionsPanel.add(new JLabel(
            "If checked, warnings related to unimplemented I/O pins will be logged to the console."));

    emulationOptionsPanel.add(new JSeparator(JSeparator.HORIZONTAL));

    // Alt mode upon Debug
    JPanel altDebugPanel = new JPanel(new FlowLayout());
    Object[] altDebugMode = EnumSet.allOf(EmulationFramework.ExecutionMode.class).toArray();
    final JComboBox altModeForDebugCombo = new JComboBox(new DefaultComboBoxModel(altDebugMode));
    for (int j = 0; j < altDebugMode.length; j++) {
        if (altDebugMode[j].equals(prefs.getAltExecutionModeForSyncedCpuUponDebug(chip))) {
            altModeForDebugCombo.setSelectedIndex(j);
        }
    }
    altDebugPanel.add(new JLabel(Constants.CHIP_LABEL[1 - chip] + " mode when " + Constants.CHIP_LABEL[chip]
            + " runs in sync Debug: "));
    altDebugPanel.add(altModeForDebugCombo);
    emulationOptionsPanel.add(altDebugPanel);
    emulationOptionsPanel
            .add(new JLabel("If 'sync mode' is selected, this is the mode the " + Constants.CHIP_LABEL[1 - chip]
                    + " chip will run in when running the " + Constants.CHIP_LABEL[chip] + " in Debug mode"));

    // Alt mode upon Step
    JPanel altStepPanel = new JPanel(new FlowLayout());
    Object[] altStepMode = EnumSet.allOf(EmulationFramework.ExecutionMode.class).toArray();
    final JComboBox altModeForStepCombo = new JComboBox(new DefaultComboBoxModel(altStepMode));
    for (int j = 0; j < altStepMode.length; j++) {
        if (altStepMode[j].equals(prefs.getAltExecutionModeForSyncedCpuUponStep(chip))) {
            altModeForStepCombo.setSelectedIndex(j);
        }
    }
    altStepPanel.add(new JLabel(Constants.CHIP_LABEL[1 - chip] + " mode when " + Constants.CHIP_LABEL[chip]
            + " runs in sync Step: "));
    altStepPanel.add(altModeForStepCombo);
    emulationOptionsPanel.add(altStepPanel);
    emulationOptionsPanel
            .add(new JLabel("If 'sync mode' is selected, this is the mode the " + Constants.CHIP_LABEL[1 - chip]
                    + " chip will run in when running the " + Constants.CHIP_LABEL[chip] + " in Step mode"));

    // ------------------------ Prepare tabbed pane

    JTabbedPane tabbedPane = new JTabbedPane();
    tabbedPane.addTab(Constants.CHIP_LABEL[chip] + " Disassembly Options", null, disassemblyOptionsPanel);
    tabbedPane.addTab(Constants.CHIP_LABEL[chip] + " Emulation Options", null, emulationOptionsPanel);

    if (chip == Constants.CHIP_TX) {
        JPanel chipSpecificOptionsPanel = new JPanel(new VerticalLayout(5, VerticalLayout.LEFT));

        chipSpecificOptionsPanel.add(new JLabel("Eeprom status upon startup:"));

        ActionListener eepromInitializationRadioActionListener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                prefs.setEepromInitMode(Prefs.EepromInitMode.valueOf(e.getActionCommand()));
            }
        };
        JRadioButton blank = new JRadioButton("Blank");
        blank.setActionCommand(Prefs.EepromInitMode.BLANK.name());
        blank.addActionListener(eepromInitializationRadioActionListener);
        if (Prefs.EepromInitMode.BLANK.equals(prefs.getEepromInitMode()))
            blank.setSelected(true);
        JRadioButton persistent = new JRadioButton("Persistent across sessions");
        persistent.setActionCommand(Prefs.EepromInitMode.PERSISTENT.name());
        persistent.addActionListener(eepromInitializationRadioActionListener);
        if (Prefs.EepromInitMode.PERSISTENT.equals(prefs.getEepromInitMode()))
            persistent.setSelected(true);
        JRadioButton lastLoaded = new JRadioButton("Last Loaded");
        lastLoaded.setActionCommand(Prefs.EepromInitMode.LAST_LOADED.name());
        lastLoaded.addActionListener(eepromInitializationRadioActionListener);
        if (Prefs.EepromInitMode.LAST_LOADED.equals(prefs.getEepromInitMode()))
            lastLoaded.setSelected(true);

        ButtonGroup group = new ButtonGroup();
        group.add(blank);
        group.add(persistent);
        group.add(lastLoaded);

        chipSpecificOptionsPanel.add(blank);
        chipSpecificOptionsPanel.add(persistent);
        chipSpecificOptionsPanel.add(lastLoaded);

        chipSpecificOptionsPanel.add(new JLabel("Front panel type:"));
        final JComboBox frontPanelNameCombo = new JComboBox(new String[] { "D5100_small", "D5100_large" });
        if (prefs.getFrontPanelName() != null) {
            frontPanelNameCombo.setSelectedItem(prefs.getFrontPanelName());
        }
        frontPanelNameCombo.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                prefs.setFrontPanelName((String) frontPanelNameCombo.getSelectedItem());
            }
        });
        chipSpecificOptionsPanel.add(frontPanelNameCombo);

        emulationOptionsPanel.add(new JSeparator(JSeparator.HORIZONTAL));

        tabbedPane.addTab(Constants.CHIP_LABEL[chip] + " specific options", null, chipSpecificOptionsPanel);
    }

    // ------------------------ Show it

    if (JOptionPane.OK_OPTION == JOptionPane.showOptionDialog(this, tabbedPane,
            Constants.CHIP_LABEL[chip] + " options", JOptionPane.OK_CANCEL_OPTION, JOptionPane.PLAIN_MESSAGE,
            null, null, JOptionPane.DEFAULT_OPTION)) {
        // save output options
        dumpOptionCheckboxes(outputOptionsCheckBoxes, prefs.getOutputOptions(chip));
        // apply
        TxCPUState.initRegisterLabels(prefs.getOutputOptions(chip));

        // save other prefs
        prefs.setFirmwareWriteProtected(chip, writeProtectFirmwareCheckBox.isSelected());
        prefs.setDmaSynchronous(chip, dmaSynchronousCheckBox.isSelected());
        prefs.setAutoEnableTimers(chip, autoEnableTimersCheckBox.isSelected());
        prefs.setLogRegisterMessages(chip, logRegisterMessagesCheckBox.isSelected());
        prefs.setLogSerialMessages(chip, logSerialMessagesCheckBox.isSelected());
        prefs.setLogPinMessages(chip, logPinMessagesCheckBox.isSelected());
        prefs.setLogMemoryMessages(chip, logMemoryMessagesCheckBox.isSelected());
        prefs.setAltExecutionModeForSyncedCpuUponDebug(chip,
                (EmulationFramework.ExecutionMode) altModeForDebugCombo.getSelectedItem());
        prefs.setAltExecutionModeForSyncedCpuUponStep(chip,
                (EmulationFramework.ExecutionMode) altModeForStepCombo.getSelectedItem());

    }
}

From source file:edu.ku.brc.af.ui.forms.FormViewObj.java

/**
 * Save any changes to the current object
 *///from   ww w.  j  av  a 2 s. c  o  m
protected void askToRemoveObject() {
    boolean addSearch = mvParent != null
            && MultiView.isOptionOn(mvParent.getOptions(), MultiView.ADD_SEARCH_BTN);

    Object[] delBtnLabels = { getResourceString(addSearch ? "Remove" : "Delete"), getResourceString("CANCEL") };
    String title = dataObj instanceof FormDataObjIFace ? ((FormDataObjIFace) dataObj).getIdentityTitle()
            : tableInfo.getTitle();

    int rv = JOptionPane.showOptionDialog(UIRegistry.getTopWindow(),
            UIRegistry.getLocalizedMessage(addSearch ? "ASK_REMOVE" : "ASK_DELETE", title),
            getResourceString(addSearch ? "Remove" : "Delete"), JOptionPane.YES_NO_OPTION,
            JOptionPane.QUESTION_MESSAGE, null, delBtnLabels, delBtnLabels[1]);
    if (rv != JOptionPane.YES_OPTION) {
        return;
    }

    // We do this because the process of determining whether something can be deleted might take a while.

    if (addSearch) {
        doDeleteDataObj(dataObj, session, true);

    } else if (businessRules != null) {
        UIRegistry.getStatusBar().setIndeterminate(STATUSBAR_NAME, true);
        final SwingWorker worker = new SwingWorker() {
            public Object construct() {
                businessRules.okToDelete(dataObj, session, FormViewObj.this);
                return null;
            }

            //Runs on the event-dispatching thread.
            public void finished() {
                UIRegistry.getStatusBar().setProgressDone(STATUSBAR_NAME);
                if (session != null) {
                    session.close();
                }
            }
        };
        worker.start();

    } else // No Business Rules
    {
        doDeleteDataObj(dataObj, session, true);
    }
}

From source file:edu.ku.brc.ui.UIHelper.java

/**
 * A Two button prompt to ask the user for a decision.
 * @param yesLabelKey the I18N label for the Yes button
 * @param noLabelKey the I18N label for the No button
 * @param titleKey I18N key for title//w ww .  j a va  2  s  . c o m
 * @param msg (not localized)
 * @return
 */
public static boolean promptForAction(final String yesLabelKey, final String noLabelKey, final String titleKey,
        final String msg) {
    Object[] options = { getResourceString(yesLabelKey), getResourceString(noLabelKey) };

    int userChoice = JOptionPane.showOptionDialog(UIRegistry.getTopWindow(), msg, getResourceString(titleKey),
            JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null, options, options[0]);
    return userChoice == JOptionPane.YES_OPTION;
}

From source file:CSSDFarm.UserInterface.java

private void btnAddFieldStationActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAddFieldStationActionPerformed
    JTextField id = new JTextField();
    JTextField name = new JTextField();
    //Space is needed to expand dialog
    JLabel verified = new JLabel(" ");
    JButton okButton = new JButton("Ok");
    JButton cancelButton = new JButton("Cancel");
    okButton.setEnabled(false);/*from  ww  w.  j  ava 2 s  . c om*/
    okButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            String idText = id.getText();
            String nameText = name.getText();
            addFieldStation(id.getText(), name.getText());
            JOptionPane.getRootFrame().dispose();
            listUserStations.setSelectedValue(server.getFieldStation(idText), false);
        }
    });

    cancelButton.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            JOptionPane.getRootFrame().dispose();
        }
    });

    id.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent key) {
            boolean theid = id.getText().equals("");
            boolean thename = name.getText().equals("");
            if (server.verifyFieldStation(id.getText()) && !theid && !thename) {
                verified.setText(" Verified");
                verified.setForeground(new Color(0, 102, 0));
                okButton.setEnabled(true);
            } else {
                verified.setText(" Not Verified");
                verified.setForeground(Color.RED);
                okButton.setEnabled(false);
            }
        }
    });
    name.addKeyListener(new KeyAdapter() {
        public void keyReleased(KeyEvent key) {
            boolean theid = id.getText().equals("");
            boolean thename = name.getText().equals("");
            if (server.verifyFieldStation(id.getText()) && !theid && !thename) {
                verified.setText(" Verified");
                verified.setForeground(new Color(0, 102, 0));
                okButton.setEnabled(true);
            } else {
                verified.setText(" Not Verified");
                verified.setForeground(Color.RED);
                okButton.setEnabled(false);
            }
        }
    });

    Object[] message = { "Field Station ID:", id, "Field Station Name:", name, verified };
    int inputFields = JOptionPane.showOptionDialog(null, message, "Add Field Station",
            JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, null,
            new Object[] { okButton, cancelButton }, null);
    if (inputFields == JOptionPane.OK_OPTION) {
        System.out.print("Added Field Station!");
    }
}