为什么我的filechooser没有打开一个对话框

时间:2017-06-21 17:44:55

标签: java

我不知道代码有什么问题。你能帮我解决一下吗?

    private void doOpenFile() {
    int result = myFileChooser.showOpenDialog(this);

    if (result == JFileChooser.APPROVE_OPTION) {
        Path path = myFileChooser.getSelectedFile().toPath();

        try {
            String contentString = "";

            for (String s : Files.readAllLines(path, StandardCharsets.UTF_8)) {
                contentString += s;
            }

            jText.setText(contentString);

        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
}

private void doSaveFile() {
    int result = myFileChooser.showSaveDialog(this);

    if (result == JFileChooser.APPROVE_OPTION) {
        // We'll be making a mytmp.txt file, write in there, then move it to
        // the selected
        // file. This takes care of clearing that file, should there be
        // content in it.
        File targetFile = myFileChooser.getSelectedFile();

        try {
            if (!targetFile.exists()) {
                targetFile.createNewFile();
            }

            FileWriter fw = new FileWriter(targetFile);

            fw.write(jText.getText());
            fw.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

我不确定您如何使用myFileChooser以及如何实例化它们,但此代码运行良好:

public class ForTestApplication {


  public static void main(String[] args) {

    Window window = new Window();

    window.setVisible(true);

    window.showFileChooser();

  }


  static class Window extends JFrame {

    JFileChooser jFileChooser = new JFileChooser();

    public void showFileChooser() {

      jFileChooser.showDialog(this, "Just for test");

    }

  }

}

以下是截图:enter image description here

请提供更多代码以了解正在发生的事情。