How to make JOptionPane.showConfirmDialog have No selected by default?

前端 未结 5 734
感动是毒
感动是毒 2020-12-11 00:04

I implemented a Save As dialog in Java that prompts the user if the file already exists, and I want the No option to be selected by default. How do I do this?

Here i

5条回答
  •  心在旅途
    2020-12-11 00:46

    This is my solution:

    import java.awt.Component;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.List;
    
    import javax.swing.JDialog;
    import javax.swing.JFrame;
    import javax.swing.JOptionPane;
    import javax.swing.UIManager;
    
    
    public class NegativeDefaultButtonJOptionPane {
    
    public static int showConfirmDialog(Component parentComponent, Object message, String title, int optionType) {
        List options = new ArrayList();
        Object defaultOption;
        switch(optionType){
        case JOptionPane.OK_CANCEL_OPTION:
            options.add(UIManager.getString("OptionPane.okButtonText"));
            options.add(UIManager.getString("OptionPane.cancelButtonText"));
            defaultOption = UIManager.getString("OptionPane.cancelButtonText");
            break;
        case JOptionPane.YES_NO_OPTION:
            options.add(UIManager.getString("OptionPane.yesButtonText"));
            options.add(UIManager.getString("OptionPane.noButtonText"));
            defaultOption = UIManager.getString("OptionPane.noButtonText");
            break;
        case JOptionPane.YES_NO_CANCEL_OPTION:
            options.add(UIManager.getString("OptionPane.yesButtonText"));
            options.add(UIManager.getString("OptionPane.noButtonText"));
            options.add(UIManager.getString("OptionPane.cancelButtonText"));
            defaultOption = UIManager.getString("OptionPane.cancelButtonText");
            break;
            default:
                throw new IllegalArgumentException("Unknown optionType "+optionType);
        }
        return JOptionPane.showOptionDialog(parentComponent, message, title, optionType, JOptionPane.QUESTION_MESSAGE, null, options.toArray(), defaultOption);
    }
    
    }
    
        

    提交回复
    热议问题