Otwieranie plików w nowej zakładce - PROBLEM

0

Hej,
napotkałem pewną przeszkodę pisząc program i nie wiem za Chiny jak go rozwiązać. Otóż otwieram sobie plik nr 1, i otwiera mi się w zakładce pięknie super itd., otwieram plik tekstowy nr 2 i znów otwiera mi się w nowej zakładce ale nadpisuje wszystkie poprzednie aktualnie otwieranym plikiem :) Taki bonus :D Już kombinowałem ile wlezie i nie wiem jak to ominąć. Proszę o jakąś podpowiedź.
Oto kawałek kodu odpowiadający za otwarcie pliku :)

Wiem, że może to nie ładnie wygląda, nie estetycznie ;) ale się poprawi. Byle zaczęło działać :)

class OpenSaveHandler implements ActionListener{
        private JFileChooser choos;
        private JTextArea ta;
        private BufferedReader br = null;
        private String data, what;
        private static String name;
        private FileWriter fw;
        private JTabbedPane pane;
        private JPanel newPanel;
        private JLabel label;



    public OpenSaveHandler(JTextArea area, JTabbedPane p, String w){
        choos = new JFileChooser();
        ta = area;
        what = w;
        pane = p;
    }

    public void actionPerformed(ActionEvent e) {

        if(what.equals("open")) {
            try {
                choos.showOpenDialog(ta);

                name = choos.getSelectedFile().getAbsolutePath();
                File file = new File(name);
//                pane.insertTab(name, null, newPanel, "tooltip", pane.getTabRunCount());
                pane.addTab(name, newPanel);

                br = new BufferedReader(new FileReader(file));
                
                try {
                        ta.read(br, e);
                } catch (IOException ex) {
                    Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
                }
                try {
                    br.close();
                } catch (IOException ex) {
                    Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
                }
            } catch (FileNotFoundException ex) {
                Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        if(what.equals("save")){
            choos.showSaveDialog(ta);
            try {
                
                fw = new FileWriter(choos.getSelectedFile().getAbsolutePath());
            } catch (IOException ex) {
                Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                fw.write(ta.getText());
            } catch (IOException ex) {
                Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
            }
            try {
                fw.close();
            } catch (IOException ex) {
                Logger.getLogger(OpenSaveHandler.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
    }
}
0

miejsce do którego wrzucasz dane z pliku musisz uprzednio wyczyścić....

służą do tego remove albo removeall (może i revalidate pomoże)

0

już sobie poradziłem, chociaż trochę więcej było namieszane i nić nie trzeba było czyścić ;)

Ale dziękuje za wypowiedź.

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