Domanda

Ho bisogno di fare una finestra di dialogo personalizzato con 4 opzioni, ma per quanto ne so si può avere solo una con tre opzioni. Ecco come vorrei fare un riquadro di opzione con 3 opzioni:

        Frame refFrame = DialogUtils.getReferenceFrame();

        ///TODO:
        /// - Use DialogUtils
        int option = JOptionPane.showOptionDialog(refFrame,
            msg,
            rsc.str("918"),
            JOptionPane.YES_NO_CANCEL_OPTION,
            JOptionPane.INFORMATION_MESSAGE,
            DialogUtils.INFO_ICON,
            options,
            options[0]);

Ma non riuscivo a trovare una sorta di sostituzione a tempo indeterminato per YES_NO_CANCEL_OPTION. C'è un modo per rendere il JOptionPane consentire quattro scelte?

È stato utile?

Soluzione

È possibile utilizzare qualsiasi delle costanti option della JOptionPane, hai solo bisogno di fornire una vasta gamma di opzioni di formato 4:

public static void main(String[] args) {
    String[] options = new String[] {"Yes", "No", "Maybe", "Cancel"};
    int response = JOptionPane.showOptionDialog(null, "Message", "Title",
        JOptionPane.DEFAULT_OPTION, JOptionPane.PLAIN_MESSAGE,
        null, options, options[0]);

    // Where response == 0 for Yes, 1 for No, 2 for Maybe and -1 or 3 for Escape/Cancel.
}

Altri suggerimenti

semplicemente utilizzare una matrice di dimensione options 4 invece di 3 ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top