private void cancelButtonPressed() {
jPane = new JOptionPane("quit?", JOptionPane.QUESTION_MESSAGE, JOptionPane.YES_NO_OPTION, null, buttons, buttons[1]);
jPane.setName("WPane");
dialog = jPane.createDialog(jPane.getParent(), "Confirm Dialog");
dialog.setVisible(true);
dialog.dispose();
Object selectedValue = jPane.getValue();
System.out.println("selectedValue:" + selectedValue);
if(selectedValue == null)
System.out.println("selectedValue:" + selectedValue);
//return CLOSED_OPTION;
if(buttons == null) {
if(selectedValue instanceof Integer) {
//return ((Integer)selectedValue).intValue();
System.out.println("selectedValue instanceof Integer, selectedValue:" + selectedValue);
//return CLOSED_OPTION;
}
}
for(int counter = 0, maxCounter = buttons.length;
counter < maxCounter; counter++) {
if(buttons[counter].equals(selectedValue)){
System.out.println("buttons[counter].equals(selectedValue) selectedValue:" + selectedValue);
//return counter;
}
}
//return CLOSED_OPTION;
}
in the constructor I set the names of the buttons:
buttons[0]= new JButton("Yes");
buttons[1]= new JButton("No");
buttons[0].setName("Yes_Next_Btn");
buttons[1].setName("No_Back_Btn");
The problem was, that I need to setNames
to the components: JOptionPane
, and the buttons. So that I don't use : JOptionPane.showConfirmDialog
.
And in this case:
When I click on the buttons(Yes,No) I don't get any value, only if I click on the "X", for exit I get null
.
If you put
JButtons
as options into theJOptionPane
, then YOU need to specify what happens when they are clicked. Since you don't appear to have anyAction
orActionListener
bound to your buttons, nothing happens.The problem is, the
JOptionPane
doesn't add any listeners to the buttons, so when you click on them, nothing happens.Try replacing the buttons with
String
s instead...