Это потому, что вы добавляете JTextField
объект также в message[]
.
Object[] message = {"File name", fileName};//sending filename as message
Итак, первый JTextField
показано присуща одна из inputDialog и другой ваш собственный JTextField
, что вы отправляете в виде сообщения.
Я полагаю, что вы хотите отправить контент fileName
в сообщение. В этом случае код должен быть таким:
public static void main(String[] args) {
JTextField fileName = new JTextField();
Object[] message = {"File name", fileName.getText()};//send text of filename
String option = JOptionPane.showInputDialog(null, message, "Add New", JOptionPane.OK_CANCEL_OPTION);
System.out.println(fileName.getText());
}
UPDATE
Если вы хотите только принимать ввод, то нет никакой необходимости посылать объект filename
в виде сообщения. Вы должны просто действовать следующим образом:
public static void main(String[] args) {
//JTextField fileName = new JTextField();
Object[] message = {"File name"};
String option = JOptionPane.showInputDialog(null, message, "Add New", JOptionPane.OK_CANCEL_OPTION);
if (option == null)
System.out.println("Cancell is clicked..");
else
System.out.println(option+ " is entered by user");
}
На самом деле, я хочу получить данные от пользователя. Но это объясняет. –
Если вы хотите использовать только ввод от использования, тогда не отправляйте 'filename' как сообщение ..' JOptionPane.inputDialog' делает это автоматически для вас. –
Итак, как я могу проверить, нажал ли пользователь Ok или Cancel? –