Я пытаюсь работать в JFileChooser. Чтобы получить файл, выбранный из другого класса, мне все равно, как выглядит кнопка, но когда кто-то нажимает на нее. он должен показать JFileChooser для выбора файла srt (например, текстового файла, но другого типа), и он должен его прочитать.Выбор файла srt с помощью JFileChooser и его чтение
это мой первый класс
package AnimeAid;
import java.io.*;
import javax.swing.*;
public class ReadFile {
private File ourFile= null;
private static final JFileChooser selectSrtFile = new JFileChooser();
String filePath = "";
public ReadFile(){
}
public File getSelectFile(){
selectSrtFile.setFileSelectionMode(JFileChooser.FILES_ONLY);
selectSrtFile.showSaveDialog(null);
ourFile = selectSrtFile.getSelectedFile();
filePath = ourFile.getAbsolutePath();
return ourFile;
}
public String readFileInput(){
try{
BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(getSelectFile()), "UTF-8"));
String line;
while ((line = reader.readLine()) != null)
{
System.out.println(line);
}
}catch(IOException ex){
return "there is wrong";
}
return "file is added";
}
}
отсканированные класс
package AnimeAid;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
/**
*
* @author isslam
*/
public class GuiInterface extends JFrame {
JTable table;
JButton is;
ReadFile t;
public GuiInterface(String title){
setSize(900, 700);
setTitle(title);
setDefaultCloseOperation(GuiInterface.EXIT_ON_CLOSE);
is = new JButton();
t = new ReadFile();
Container cp = getContentPane();
cp.add(is);
is.addActionListener(new addButtonWatcher());
}
private class addButtonWatcher implements ActionListener{
@Override
public void actionPerformed(ActionEvent a){
Object buttonPressed=a.getSource();
if(buttonPressed.equals(is))
{
t.getSelectFile();
}
}
}
}
сообщение об ошибке
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous tree type: animeaid.GuiInterface
at animeaid.main.main(main.java:15)
Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
Похоже, вы используете NetBeans, так что вы, возможно, столкнетесь с теми же проблемами, как описаны в этих вопросы: http://stackoverflow.com/questions/20165965/java-runtimeexception-uncompilable-source-code-erroneous-tree-type и http://stackoverflow.com/questions/2333285/java-lang-runtimeexception-uncompilable- source-code-what-can-cause-this. Ответы на эти вопросы предполагают отключение «Компиляция при сохранении», что может не исправить вашу проблему, но компилятор может показать вам фактическую ошибку в вашем коде. – andersschuller
Я отключил его, я даю мне еще одну ошибку, но я думаю, что нет необходимости отключать его, просто нажмите на чистую и строю, но все же мне нужна помощь с этой проблемой. –
делает другой класс, передавая вам имя файла, или вам интересно, как использовать JFileChooser для получения имени файла (затем прочитать файл)? – rogerdpack