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

从 GUI 类调用字符串 - VariableDeclarators 错误

从 GUI 类调用字符串 - VariableDeclarators 错误

守着一只汪 2021-07-06 17:49:12
我创建了一个程序来浏览 excel 文件并使用windowbuilder和Apache POI修改它。我为文件路径创建了一个公共字符串,如下所示。public class UI {    public static String filename;JFileChooser chooser = new JFileChooser();                FileNameExtensionFilter filter = new FileNameExtensionFilter("MS Excel Files", "xlsx");                chooser.setFileFilter(filter);                chooser.showOpenDialog(null);                File file= chooser.getSelectedFile();                filename=file.getAbsolutePath();    并在主代码中调用字符串以获取文件路径以继续该过程。public static void main (String[]args) throws Exception {    UI.filename;    File file= new File(filename);    FileInputStream fis= new FileInputStream (file);    XSSFWorkbook wb = new XSSFWorkbook(fis);    XSSFSheet sheet1= wb.getSheetAt(0);当我运行 GUI 时,我收到以下错误消息,语法错误,插入“VariableDeclarators”完成 LocalVariableDeclaration 文件名无法解析为变量new File(filename);这部分应该是这样的File file= new File("C:\\Users\\Desktop\\Project\\Data.xlsx");在这方面的任何建议将不胜感激。
查看完整描述

1 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

Java 中的所有代码都需要在“可执行”上下文中执行。在您的情况下,这意味着类中的方法。


您需要首先更改您的UI类以提供static执行您想要的操作的方法......


public class UI {


    public static File selectFile() {


        JFileChooser chooser = new JFileChooser();

        FileNameExtensionFilter filter = new FileNameExtensionFilter("MS Excel Files", "xlsx");

        chooser.setFileFilter(filter);

        chooser.showOpenDialog(null);


        return chooser.getSelectedFile();

    }

然后您需要更新您的main方法以利用此更改...


public static void main (String[]args) throws Exception {

    EventQueue.invokeLater(new Runnable() {

        @Override

        public void run() {

            File file = UI.selectFile();

            if (file == null) {

                System.out.println("No file selected");

            }


            FileInputStream fis= new FileInputStream (file);

            XSSFWorkbook wb = new XSSFWorkbook(fis);

            XSSFSheet sheet1= wb.getSheetAt(0);

        }

    });


查看完整回答
反对 回复 2021-07-14
  • 1 回答
  • 0 关注
  • 314 浏览

添加回答

举报

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