How can I specify the position of a JOptionPane. Can anyone make a class that extends JOptionPane.showInputDialog that also takes in an x,y position?
You can use JOptionPane's setLocation(...) method. OR Instead of using JOptionPane
you can extends a JDialog, and then specify it's location on the screen.
Here is one working code sample as adviced by @HovercraftFullOfEels , just this example will help you to get input from the user as you asked for :
import javax.swing.*;
public class OptionPaneLocation
{
private void createAndDisplayGUI()
{
JOptionPane optionPane = new JOptionPane("Its me"
, JOptionPane.PLAIN_MESSAGE
, JOptionPane.DEFAULT_OPTION
, null, null, "Please ENTER your NAME here");
optionPane.setWantsInput(true);
JDialog dialog = optionPane.createDialog(null, "TEST");
dialog.setLocation(10, 20);
dialog.setVisible(true);
System.out.println(optionPane.getInputValue());
}
public static void main(String... args)
{
Runnable runnable = new Runnable()
{
public void run()
{
new OptionPaneLocation().createAndDisplayGUI();
}
};
SwingUtilities.invokeLater(runnable);
}
}