它这样做是因为您在message[]
中也添加了JTextField
对象。
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");
}
其实,我想从用户的输入。但是这解释了。 – 2013-03-24 15:36:59
如果你只想使用输入,那么不要发送'filename'作为消息。“JOptionPane.inputDialog”会自动为你做。 – 2013-03-24 15:39:08
那么如何检查用户是否点击确定或取消? – 2013-03-24 15:54:34