Wątek przeniesiony 2016-12-24 11:26 z Java przez bogdans.

domyślne rozszerzenie pliku w oknie savedialog

Chory Kot
2016-12-23 20:45
Chory Kot
0

jak ustawić aby domyślnie przy wybraniu opcji zapisz jako pojawiało się rozszerzenie np. txt ?, przy poniższym kodzie mam automatycznie ustawione "wsztstkie pliki"

 JFileChooser fc = new JFileChooser();
        if (fc.showSaveDialog(null)==JFileChooser.APPROVE_OPTION)
        {
            File plik = fc.getSelectedFile();
            JOptionPane.showMessageDialog(null,"Zapisany plik to " + plik);
            try 
            {
                PrintWriter pw = new PrintWriter(plik);
                Scanner skaner = new Scanner(jTextArea1.getText());
                while(skaner.hasNext())
                {
                    pw.println(skaner.nextLine() + "\n");
                }
                pw.close();
            } 
            catch (FileNotFoundException e1) 
            {
                Logger.getLogger(Program.class.getName()).log(Level.SEVERE, null, e1);
            }
edytowany 1x, ostatnio: Rev, 2016-12-23 20:58

Pozostało 580 znaków

2016-12-23 20:55
Moderator

Rejestracja: 16 lat temu

Ostatnio: 3 minuty temu

0

Serio? Nawet w dokumentacji masz example...
https://docs.oracle.com/javas[...]javax/swing/JFileChooser.html


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

Chory Kot
2016-12-23 21:52
Chory Kot
0

no dobra to mam, ale chodzi mi o autoamtyczne dodawanie rozszerzenia do pliku, tak aby użytkwnik miał za zadanie tylko wpisanie nazwy a rozszerzenie doda się samo, mam coś takiego jak poniżej, ale to tylko dodaję autoamtyczną informację z rozszerzeniem w okienku a nie do pliku

private void jMenuItemZapiszJakoActionPerformed(java.awt.event.ActionEvent evt) {                                                    
        JFileChooser fc = new JFileChooser();
        fc.setFileFilter(new FileNameExtensionFilter("Notatnik", "txt"));

        if (fc.showSaveDialog(null)==JFileChooser.APPROVE_OPTION)
        {
            File plik = fc.getSelectedFile();
            JOptionPane.showMessageDialog(null,"Zapisany plik to " + plik);

            try 
            {
                PrintWriter pw = new PrintWriter(plik);
                Scanner skaner = new Scanner(jTextArea1.getText());
                while(skaner.hasNext())
                {
                    pw.println(skaner.nextLine() + "\n");
                }
                pw.close();
            } 
            catch (FileNotFoundException e1) 
            {
                Logger.getLogger(Program.class.getName()).log(Level.SEVERE, null, e1);
            }
        }
edytowany 1x, ostatnio: Rev, 2016-12-23 21:54
java.awt to coś innego niż java.swing, ale mogę się mylić :/ - trojanus 2016-12-23 22:00
nie mylisz się, ale jaki to ma związek z postem (z całym wątkiem)? - bogdans 2016-12-23 22:48
@bogdans: omatkobosko, przepraszam, że napisałem nic nie warty komentarz. Senpai, naprawdę przepraszam, byłem bezmyślny... - trojanus 2016-12-24 00:10

Pozostało 580 znaków

2016-12-23 22:55
Moderator

Rejestracja: 11 lat temu

Ostatnio: 1 miesiąc temu

0
  1. Komunikat
    JOptionPane.showMessageDialog(null,"Zapisany plik to " + plik);

    wyświetlasz przedwcześnie, on powinien być na końcu sekcji try. Ja bym żadnego komunikatu o powodzenie nie wypisywał, wypisał bym natomiast komunikat o niepowodzeniu (w sekcji catch).

  2. Celowo zapisujesz każde słowo w osobnej linii?
  3. Do Ciebie należy dodanie ".txt" do nazwy pliku
    File plik = fc.getSelectedFile();
    String fileName = plik.getAbsolutePath();
    if(!fileName.toLowerCase().endsWith(".txt")){
    plik = new File(fileName + ".txt");
    } 

To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
edytowany 1x, ostatnio: bogdans, 2016-12-23 23:14

Pozostało 580 znaków

Chory Kot
2016-12-23 23:18
Chory Kot
0

dzięki, działa

Pozostało 580 znaków

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0