Java – error (?) in OS X with Jfilechooser UI
•
Java
Like many others, I have encountered and seen this problem endlessly in this forum Unfortunately, I have never answered, and generally I have not finished
For example, if I have this Code: I try to read it Txt and put each row into an array (allanamn)
public static void getFile() { try { System.out.println("1"); String aktuellMapp = System.getProperty("user.dir"); JFileChooser fc = new JFileChooser(aktuellMapp); System.out.println("2"); int resultat = fc.showOpenDialog(null); System.out.println("3"); if (resultat != JFileChooser.APPROVE_OPTION) { JOptionPane.showMessageDialog(null,"No file choosen."); NamnProgram.main(null); } String fil = fc.getSelectedFile().getAbsolutePath(); BufferedReader inFil = new BufferedReader(new FileReader(fil)); String rad = inFil.readLine(); int counter = 0; while (rad != null) { rad = inFil.readLine(); counter++; } if (counter == 0) { JOptionPane.showMessageDialog(null,"Textfil is empty"); } BufferedReader skrivFil = new BufferedReader(new FileReader(fil)); allaNamn = new String[counter]; int antal = 0; String sparaRad = skrivFil.readLine(); while (antal < counter) { allaNamn[antal] = sparaRad; sparaRad = skrivFil.readLine(); antaL++; } //Closing inFil.close(); skrivFil.close(); } catch (IOException e1) { JOptionPane.showMessageDialog (null,"Det misslyckades"); } }
I've tried debugging this and some other programmers; Unfortunately, there was no success Some of the methods I print are system out. println():
1 2
It is worth noting that the program does not close, but continues to run without any display - no errors, etc Thank you for your help
Solution
Showopendialog() stops the thread and waits for user input
If so – you can try calling:
SwingUtilities.invokelater(new Runnable() { public void run() { getFile(); } });
Even better than simply using swingutilities Invokelater is better, using the swingworker API
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码