为了账号安全,请及时绑定邮箱和手机立即绑定

无法获得JFileChooser的示例JAVA代码以在NetBeans IDE 8.2中工作

无法获得JFileChooser的示例JAVA代码以在NetBeans IDE 8.2中工作

临摹微笑 2021-04-16 14:11:42
我正在尝试编写一个程序,该程序将提示用户选择一个文件夹,然后将允许用户显示该文件夹中的所有内容。我一直在网上搜索,找到了几个使用JFileChooser的示例,包括此处的一个示例。当我尝试在JGrasp中的上一个链接中使用该示例时,该示例运行没有问题。但是,当我尝试在NetBeans中运行它时,会出现错误(由于需要返回类型,因此无法编译DemoJFileChooser类,并且Main中的行显示找不到符号DemoJFileChooser)。我不确定这是什么问题,但是我已经尽力做到了下面的程序可以编译并正常运行,但是当我选择选项1时,该程序仅冻结一秒钟,然后重新显示菜单。我无法显示文件选择对话框。我究竟做错了什么?import java.util.Scanner;import javax.swing.JFileChooser;public class FileDirectoryProcessing {JFileChooser chooser;String choosertitle;public static void main(String[] args) {    SelectionMenu:    while (true) {        Scanner scannerIn = new Scanner(System.in);        System.out.println("0 - Exit");        System.out.println("1 - Select Directory");        System.out.println("2 – List directory contents");        System.out.println("Select Option");        try{        int userInput = Integer.parseInt(scannerIn.nextLine());        switch (userInput) {            case 0:                System.out.println("Thank you");                break SelectionMenu;            case 1:                System.out.println("Select a directory");                new FileDirectoryProcessing().ChooseDirectory();                break;            case 2:                System.out.println("Directory Contents");                break;            default:                System.out.println("Please make a valid selection");                break;        }        } catch (NumberFormatException e){            System.out.println("Please make a valid selection");        }               }      }
查看完整描述

1 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

该方法showOpenDialog接受一个组件,而this(的实例FileDirectoryProcessing)不是一个组件,因此是问题所在。

component在方法中提供父实例。或现在,您也可以通过chooser(实例为JFileChooser)或null

因此,以下两个选项都可以正常工作:

chooser.showOpenDialog(chooser)

或者

chooser.showOpenDialog(null)


查看完整回答
反对 回复 2021-04-21
  • 1 回答
  • 0 关注
  • 133 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信