I've created a JOptionPane
and it only has two buttons YES_NO_OPTION
.
After JOptionPane.showConfirmDialog
pops out , I want to click YES BUTTON
to continue opening the JFileChooser
and if I clicked NO BUTTON
it should cancel the operation.
It seems pretty easy but I'm not sure where is my mistake.
Code Snippet:
if (textArea.getLineCount() >= 1) { //The condition to show the dialog if there is text inside the textArea int dialogButton = JOptionPane.YES_NO_OPTION; JOptionPane.showConfirmDialog (null, "Would You Like to Save your Previous Note First?","Warning",dialogButton); if (dialogButton == JOptionPane.YES_OPTION) { //The ISSUE is here JFileChooser saveFile = new JFileChooser(); int saveOption = saveFile.showSaveDialog(frame); if(saveOption == JFileChooser.APPROVE_OPTION) { try { BufferedWriter fileWriter = new BufferedWriter(new FileWriter(saveFile.getSelectedFile().getPath())); fileWriter.write(textArea.getText()); fileWriter.close(); } catch(Exception ex) { } }
You can use any of the JOptionPane's option constants, you just need to supply a options array of size 4: public static void main(String[] args) { String[] options = new String[] {"Yes", "No", "Maybe", "Cancel"}; int response = JOptionPane. showOptionDialog(null, "Message", "Title", JOptionPane.
How to Create a Dialog Box in Java. There are several ways in which a developer can create a dialog box in Java. Programmers can use JDialog, JOptionPane, or ProgressMonitor. To create a standard dialog, you can simply use the JOptionPane class.
You need to look at the return value of the call to showConfirmDialog
. I.E.:
int dialogResult = JOptionPane.showConfirmDialog (null, "Would You Like to Save your Previous Note First?","Warning",dialogButton); if(dialogResult == JOptionPane.YES_OPTION){ // Saving code here }
You were testing against dialogButton
, which you were using to set the buttons that should be displayed by the dialog, and this variable was never updated - so dialogButton
would never have been anything other than JOptionPane.YES_NO_OPTION
.
Per the Javadoc for showConfirmDialog
:
Returns: an integer indicating the option selected by the user
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With