I want to display a JOptionPane user input box in my start method of Application class (JavaFX)
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
public class Matrices extends Application
@Override // Override the start method in the Application class
public void start(Stage primaryStage)
String inputValue = JOptionPane.ShowInputDialogue("Enter a value: ");
public static void main (String args)
launch(args);
This runs the program infinitely and doesn't display the JOptionPane dialogue box to ask the user for input
javafx joptionpane
add a comment |
public class Matrices extends Application
@Override // Override the start method in the Application class
public void start(Stage primaryStage)
String inputValue = JOptionPane.ShowInputDialogue("Enter a value: ");
public static void main (String args)
launch(args);
This runs the program infinitely and doesn't display the JOptionPane dialogue box to ask the user for input
javafx joptionpane
add a comment |
public class Matrices extends Application
@Override // Override the start method in the Application class
public void start(Stage primaryStage)
String inputValue = JOptionPane.ShowInputDialogue("Enter a value: ");
public static void main (String args)
launch(args);
This runs the program infinitely and doesn't display the JOptionPane dialogue box to ask the user for input
javafx joptionpane
public class Matrices extends Application
@Override // Override the start method in the Application class
public void start(Stage primaryStage)
String inputValue = JOptionPane.ShowInputDialogue("Enter a value: ");
public static void main (String args)
launch(args);
This runs the program infinitely and doesn't display the JOptionPane dialogue box to ask the user for input
javafx joptionpane
javafx joptionpane
edited Nov 14 '18 at 2:05
LazerBass
1,53331125
1,53331125
asked Nov 13 '18 at 21:44
Pavit ChawlaPavit Chawla
62
62
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
Why you shouldn't use a JOptionPane
Don't use a JOptionPane
in a JavaFX application.
JOptionPane
is for the Swing library, not the JavaFX library.
Generally, you should not mix Swing and JavaFX code unless you have a really good reason for it, and even then you must be careful about how you manage the integration (e.g. thread management) to ensure the best outcome.
Use a JavaFX Dialog
Instead of JOptionPane
, use a JavaFX Dialog
or Alert
.
For your particular case, you are using the JOptionPane
to gather input, so the equivalent JavaFX dialog for this is a TextInputDialog
.
Why your app doesn't exit
As to why the application doesn't complete, see the Application
documentation:
Waits for the application to finish, which happens when either of the following occur:
- the application calls Platform.exit()
- the last window has been closed and the implicitExit attribute on Platform is true
As you never show a JavaFX window and close it and you never call Platform.exit()
, the application never shuts down.
This issue doesn't arise when you show a TextInputDialog
, because that is a JavaFX window. After you enter a value and close the input dialog, the application will shut down automatically (if the dialog was the only window currently being shown for the application).
Working Example
Here is an example which uses TextInputDialog
instead of JOptionPane
:
import javafx.application.Application;
import javafx.scene.control.TextInputDialog;
import javafx.stage.Stage;
import java.util.Optional;
public class TextInputDialogExample extends Application
private Optional<String> getValueFromUser()
TextInputDialog dialog = new TextInputDialog("xyzzy");
dialog.setTitle("Value Input");
dialog.setHeaderText("Enter a value:");
dialog.setContentText("Value:");
return dialog.showAndWait();
@Override
public void start(Stage stage)
Optional<String> value = getValueFromUser();
value.ifPresent(System.out::println);
public static void main(String args)
launch(args);
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53289970%2fi-want-to-display-a-joptionpane-user-input-box-in-my-start-method-of-application%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Why you shouldn't use a JOptionPane
Don't use a JOptionPane
in a JavaFX application.
JOptionPane
is for the Swing library, not the JavaFX library.
Generally, you should not mix Swing and JavaFX code unless you have a really good reason for it, and even then you must be careful about how you manage the integration (e.g. thread management) to ensure the best outcome.
Use a JavaFX Dialog
Instead of JOptionPane
, use a JavaFX Dialog
or Alert
.
For your particular case, you are using the JOptionPane
to gather input, so the equivalent JavaFX dialog for this is a TextInputDialog
.
Why your app doesn't exit
As to why the application doesn't complete, see the Application
documentation:
Waits for the application to finish, which happens when either of the following occur:
- the application calls Platform.exit()
- the last window has been closed and the implicitExit attribute on Platform is true
As you never show a JavaFX window and close it and you never call Platform.exit()
, the application never shuts down.
This issue doesn't arise when you show a TextInputDialog
, because that is a JavaFX window. After you enter a value and close the input dialog, the application will shut down automatically (if the dialog was the only window currently being shown for the application).
Working Example
Here is an example which uses TextInputDialog
instead of JOptionPane
:
import javafx.application.Application;
import javafx.scene.control.TextInputDialog;
import javafx.stage.Stage;
import java.util.Optional;
public class TextInputDialogExample extends Application
private Optional<String> getValueFromUser()
TextInputDialog dialog = new TextInputDialog("xyzzy");
dialog.setTitle("Value Input");
dialog.setHeaderText("Enter a value:");
dialog.setContentText("Value:");
return dialog.showAndWait();
@Override
public void start(Stage stage)
Optional<String> value = getValueFromUser();
value.ifPresent(System.out::println);
public static void main(String args)
launch(args);
add a comment |
Why you shouldn't use a JOptionPane
Don't use a JOptionPane
in a JavaFX application.
JOptionPane
is for the Swing library, not the JavaFX library.
Generally, you should not mix Swing and JavaFX code unless you have a really good reason for it, and even then you must be careful about how you manage the integration (e.g. thread management) to ensure the best outcome.
Use a JavaFX Dialog
Instead of JOptionPane
, use a JavaFX Dialog
or Alert
.
For your particular case, you are using the JOptionPane
to gather input, so the equivalent JavaFX dialog for this is a TextInputDialog
.
Why your app doesn't exit
As to why the application doesn't complete, see the Application
documentation:
Waits for the application to finish, which happens when either of the following occur:
- the application calls Platform.exit()
- the last window has been closed and the implicitExit attribute on Platform is true
As you never show a JavaFX window and close it and you never call Platform.exit()
, the application never shuts down.
This issue doesn't arise when you show a TextInputDialog
, because that is a JavaFX window. After you enter a value and close the input dialog, the application will shut down automatically (if the dialog was the only window currently being shown for the application).
Working Example
Here is an example which uses TextInputDialog
instead of JOptionPane
:
import javafx.application.Application;
import javafx.scene.control.TextInputDialog;
import javafx.stage.Stage;
import java.util.Optional;
public class TextInputDialogExample extends Application
private Optional<String> getValueFromUser()
TextInputDialog dialog = new TextInputDialog("xyzzy");
dialog.setTitle("Value Input");
dialog.setHeaderText("Enter a value:");
dialog.setContentText("Value:");
return dialog.showAndWait();
@Override
public void start(Stage stage)
Optional<String> value = getValueFromUser();
value.ifPresent(System.out::println);
public static void main(String args)
launch(args);
add a comment |
Why you shouldn't use a JOptionPane
Don't use a JOptionPane
in a JavaFX application.
JOptionPane
is for the Swing library, not the JavaFX library.
Generally, you should not mix Swing and JavaFX code unless you have a really good reason for it, and even then you must be careful about how you manage the integration (e.g. thread management) to ensure the best outcome.
Use a JavaFX Dialog
Instead of JOptionPane
, use a JavaFX Dialog
or Alert
.
For your particular case, you are using the JOptionPane
to gather input, so the equivalent JavaFX dialog for this is a TextInputDialog
.
Why your app doesn't exit
As to why the application doesn't complete, see the Application
documentation:
Waits for the application to finish, which happens when either of the following occur:
- the application calls Platform.exit()
- the last window has been closed and the implicitExit attribute on Platform is true
As you never show a JavaFX window and close it and you never call Platform.exit()
, the application never shuts down.
This issue doesn't arise when you show a TextInputDialog
, because that is a JavaFX window. After you enter a value and close the input dialog, the application will shut down automatically (if the dialog was the only window currently being shown for the application).
Working Example
Here is an example which uses TextInputDialog
instead of JOptionPane
:
import javafx.application.Application;
import javafx.scene.control.TextInputDialog;
import javafx.stage.Stage;
import java.util.Optional;
public class TextInputDialogExample extends Application
private Optional<String> getValueFromUser()
TextInputDialog dialog = new TextInputDialog("xyzzy");
dialog.setTitle("Value Input");
dialog.setHeaderText("Enter a value:");
dialog.setContentText("Value:");
return dialog.showAndWait();
@Override
public void start(Stage stage)
Optional<String> value = getValueFromUser();
value.ifPresent(System.out::println);
public static void main(String args)
launch(args);
Why you shouldn't use a JOptionPane
Don't use a JOptionPane
in a JavaFX application.
JOptionPane
is for the Swing library, not the JavaFX library.
Generally, you should not mix Swing and JavaFX code unless you have a really good reason for it, and even then you must be careful about how you manage the integration (e.g. thread management) to ensure the best outcome.
Use a JavaFX Dialog
Instead of JOptionPane
, use a JavaFX Dialog
or Alert
.
For your particular case, you are using the JOptionPane
to gather input, so the equivalent JavaFX dialog for this is a TextInputDialog
.
Why your app doesn't exit
As to why the application doesn't complete, see the Application
documentation:
Waits for the application to finish, which happens when either of the following occur:
- the application calls Platform.exit()
- the last window has been closed and the implicitExit attribute on Platform is true
As you never show a JavaFX window and close it and you never call Platform.exit()
, the application never shuts down.
This issue doesn't arise when you show a TextInputDialog
, because that is a JavaFX window. After you enter a value and close the input dialog, the application will shut down automatically (if the dialog was the only window currently being shown for the application).
Working Example
Here is an example which uses TextInputDialog
instead of JOptionPane
:
import javafx.application.Application;
import javafx.scene.control.TextInputDialog;
import javafx.stage.Stage;
import java.util.Optional;
public class TextInputDialogExample extends Application
private Optional<String> getValueFromUser()
TextInputDialog dialog = new TextInputDialog("xyzzy");
dialog.setTitle("Value Input");
dialog.setHeaderText("Enter a value:");
dialog.setContentText("Value:");
return dialog.showAndWait();
@Override
public void start(Stage stage)
Optional<String> value = getValueFromUser();
value.ifPresent(System.out::println);
public static void main(String args)
launch(args);
edited Nov 14 '18 at 0:18
answered Nov 14 '18 at 0:07
jewelseajewelsea
112k8265318
112k8265318
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53289970%2fi-want-to-display-a-joptionpane-user-input-box-in-my-start-method-of-application%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown