这样做是因为您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());
}
更新
如果您只想接受输入,则无需将对象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");
}