JLabel类型中的方法setText(String)不适用于参数(File)

时间:2015-09-03 23:32:56

标签: java jfilechooser

我正在尝试为标签中选择的文件夹放置路径,但它不会将文件转换为字符串。

public void mousePressed(MouseEvent arg0)             {                     JFileChooser filechooser;                     String choosertitle = null;

                filechooser = new JFileChooser(); 
                filechooser.setCurrentDirectory(new java.io.File("."));
                filechooser.setDialogTitle(choosertitle);
                filechooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
                //
                // disable the "All files" option.
                //
                filechooser.setAcceptAllFileFilterUsed(false);
                //    

                int returnValue = filechooser.showOpenDialog(null);
                if (returnValue == JFileChooser.APPROVE_OPTION) {
                    File selectedFile = filechooser.getSelectedFile();
                    System.out.println(selectedFile.getName());
                    System.out.println("getCurrentDirectory(): " 
                            +  filechooser.getCurrentDirectory());
                    lbl_Arborescence.setText(filechooser.getCurrentDirectory());
                    System.out.println("getSelectedFile() : " 
                            +  filechooser.getSelectedFile());                  
                }
        }

2 个答案:

答案 0 :(得分:1)

JFileChooser.getCurrentDirectory()返回一个File对象。您想获取该文件的名称。使用像

这样的东西
lbl_Arborescence.setText(fileChooser.getCurrentDirectory().getPath());

See Java Docs

答案 1 :(得分:0)

JLabel#setText需要String参数,显然,File不是String类型。

您可以使用File#getPath来返回路径的String表示

lbl_Arborescence.setText(filechooser.getCurrentDirectory().getPath());