Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Считать выбранный фаил из JFileChoise в JTextArea, считывает, но не отабражает текст в окне 
:(
    Опции темы
ChertBoberi
  Дата 5.9.2007, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 5.9.2007

Репутация: нет
Всего: нет



Эту работу я начал ровно 83 года назад...С тех пор утекло много воды, я постарел но всё же благодаря изощренному уму, упорству и трудолюбию я не оставляю надежд на окончание сей работы. Итак суть:
У нас имеется главный класс JTabbedPaneDemo в нем мы главное прописываем окно, далее MenuBar иницилизируем «табы»(здесь ткже мы прописали и листерн для open), ну а после внутренних классах мы прописываем содержимое JTabePane(в них текстарея). Казалось бы в чем может быть проблема? Но сглаз дал о себе знать в следующем, когда мы ползём в менюшку:
 тыкаем fail-open выбераем текстовый файл, жмем окей =текстАрея оказывается пустой?
 
За что мог так покарать меня всемогущий? Ведь при проверки System.out’om было показано что фаил считывается, считывается но не как не хочет присваеваиться TextArea1 
Пробывали мы методы и set и append. Пробывали мы даже делать переменные глобальными buffer(строка 95(сюда считывется фаил выбранный чойзером))и Val1(переменная тектового окна textArea1 строка 28, 133) но текст так и не отображался так и не отображается(((( Уныние, тоска, вялость, апатия....


Код

/**
*
 *
*
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.FileNotFoundException;
import java.io.BufferedReader;
import java.io.FileReader;

public class JTabbedPaneDemo extends JFrame{
  private Object file;
  public static String val1;
  public static StringBuffer buffer = new StringBuffer();

  JTabbedPaneDemo (){
  super("панель со вкладками");
  Container с = getContentPane();
  с.setLayout(new BorderLayout());



 //----------------МЕНЮ--------------



MenuBar mbar = new MenuBar();
setMenuBar(mbar);
  Menu file = new Menu("File");
  MenuItem item1, item2, item3, item4, item5;
  file.add(item1 = new MenuItem("New..."));
  file.add(item2 = new MenuItem("Open..."));
  file.add(item3 = new MenuItem("Save..."));
  file.add(item4 = new MenuItem("-"));
  file.add(item5 = new MenuItem("Quit..."));
  mbar.add(file);

  Menu edit = new Menu("Edit");
  MenuItem item6, item7, item8, item9;
  edit.add(item6 = new MenuItem("Cut..."));
  edit.add(item7 = new MenuItem("Copy..."));
  edit.add(item8 = new MenuItem("Paste..."));
  edit.add(item9 = new MenuItem("-"));
  mbar.add(edit);

  Menu help = new Menu("Help");
    MenuItem item10, item11;
    help.add(item10 = new MenuItem("о программе"));
    help.add(item11 = new MenuItem("Справка"));
    mbar.add(help);


   //новое
    item1.addActionListener(new ActionListener(){
      public void actionPerformed(ActionEvent e){
        System.out.println("ffffffffffffff");
      }
    });
    // открыть
    item2.addActionListener(new ActionListener(){
      private ObjectInputStream input;


      public void actionPerformed(ActionEvent e){
            JFileChooser fch = new JFileChooser();
            fch.setDialogTitle("открыть фаил");
            fch.showOpenDialog(null);
            File fileName = fch.getSelectedFile();
            String put = fileName.getPath();
            System.out.println("переменная путь содержит "+put);

        if(fileName == null){
              JOptionPane.showMessageDialog(null,"неверное имя файла");
              System.out.println("инпут содержит "+input);
            }else{
             try {
               BufferedReader input = new BufferedReader(new FileReader(fileName));
               String text;
               while((text=input.readLine())!=null){
                 buffer.append(text);
                System.out.println("buffer "+buffer.toString());
               }
               ;
             }catch(IOException ioException){
               JOptionPane.showMessageDialog(null,"ошибка файла");
             }
             val1="jjjjjjjjjjjjjjj";
            }
          }
    });

    //сохранить
    item3.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent e){
            JFileChooser fch = new JFileChooser();
            fch.showSaveDialog(null);
          }
    });

//----------------КОНЕЦ МЕНЮ--------------

  JTabbedPane jtp = new JTabbedPane();
    jtp.addTab("правописание", new PervayaPanel());
    jtp.addTab("ударения", new VtoraayPanel());
    jtp.addTab("теги", new TretyaPanel());
    jtp.addTab("прогиграватель", new ChetvertayaPanel());

    getContentPane().add(jtp);

    //отрисовываем окно
    setSize(800, 600);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setVisible(true);

  }

  class PervayaPanel extends JPanel{
    private String val1;
    private String val2;

    public PervayaPanel(){

             JCheckBox cb2 = new JCheckBox("правоп.");
           add(cb2);
           cb2.setToolTipText("проверка правописания (орфография, грамматика)");

           JCheckBox cb3 = new JCheckBox("Ё");
           add(cb3);
           cb3.setToolTipText("заменить букву е на ё где это требуется. пример ежик->ёжик");

           JCheckBox cb4 = new JCheckBox("__");
           add(cb4);
           cb4.setToolTipText("удалить двойные пробелы");

           JCheckBox cb5 = new JCheckBox("дефи-");
           add(cb5);
           cb5.setToolTipText("удалить дефисы в конце строки(слово без переносов)");

           JCheckBox cb6 = new JCheckBox("удал.неж.симв.");
           add(cb6);
           cb6.setToolTipText("удаляет нежелательные сиволы. пример:теги(<img>, *****");

           JCheckBox cb7 = new JCheckBox("Иван");
           add(cb7);
           cb7.setToolTipText("найти имена, названия: городов, рек и т далее");

           JCheckBox cb8 = new JCheckBox("2-два");
           add(cb8);
           cb8.setToolTipText("переводит цифры в в буквы пример: 17=семнадцать");

           JButton b1 = new JButton("Go");
             add(b1);
             b1.setToolTipText("Эта команда обрабатывает текст, методами помечеными галачками");
             JButton b3 = new JButton("ред. прав");
             add(b3);
             JButton b4 = new JButton("ред. неж. симв.");
             add(b4);
             JButton b5 = new JButton("ред. имен");
             add(b4);
             JButton b6 = new JButton("ред. цифр");
             add(b4);
             //
             JTextArea text1 = new JTextArea(val1, 20, 70);
             add(text1);

             //text1.append("++++++++");
            //text1.setText();
            System.out.println("val1 из окна"+val1);//????????????????
             System.out.println("buffer из окна"+buffer);//???????????77
             JTextArea text2 = new JTextArea(val2, 7, 70);
             add(text2);


         }
       }

       class VtoraayPanel extends JPanel{
         private String bal1;
         private String bal2;

         public VtoraayPanel(){
           JCheckBox cb1 = new JCheckBox("омонимы");
           add(cb1);
           cb1.setToolTipText("");

           JCheckBox cb2 = new JCheckBox("стр");
           add(cb2);
           cb2.setToolTipText("исправить тройные согласные на \"слышамое\" пример: стр=ср");

           JCheckBox cb3 = new JCheckBox("ударения");
           add(cb3);
           cb3.setToolTipText("проставить ударение в словах");
           JCheckBox cb4 = new JCheckBox("диалоги");
           add(cb4);
           cb4.setToolTipText("проанализировать текст на: монологи, диалоги, повествовательную речь");
           JCheckBox cb5 = new JCheckBox("слоги");
           add(cb5);
           cb5.setToolTipText("разделить слова на слоги");
           JButton b2 = new JButton("go");
             add(b2);
        b2.setToolTipText("Эта команда обрабатывает текст, методами помечеными галачками");

          JButton b3 = new JButton("редактор");
          add(b3);
          JButton b4 = new JButton("словарь");
          add(b4);

          JTextArea text3 = new JTextArea(bal1, 20, 70);
             add(text3);
          JTextArea text4 = new JTextArea(bal2, 7, 70);
             add(text4);

         }
       }
       class TretyaPanel extends JPanel{
         public TretyaPanel(){
           /*
           добавим позже
           */
         }
}
       class ChetvertayaPanel extends JPanel{
         public ChetvertayaPanel(){
           JButton b1 = new JButton("Играть");
             add(b1);
             JButton b2 = new JButton("пауза");
             add(b2);
             JButton b3 = new JButton("стоп");
             add(b3);
             JButton b4 = new JButton("закладка");
             add(b4);
         }
}
public static void main(String[] args) {
new JTabbedPaneDemo();

  }
}

Дитка, не дай дядечки отойти в мир иной с такой пакостью в душе. Помоги, облегчи душу  грешника, грамотным решением и воздастца тебе, там где воздаёться

Зы
Код рабочий, всё крутиться вертится но в текстарею не выводиться(((

PM MAIL   Вверх
Hidrag
Дата 5.9.2007, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 877
Регистрация: 9.4.2005
Где: JDK

Репутация: 2
Всего: 25



Попробуй изменить
Код

fch.getSelectedFile();

на
Код

fch.getSelectedFile().getAbsolutePath();


Добавлено через 5 минут и 50 секунд
Опс....
что то я нигде не увидел в коде где ты в ТекстАреа выводишь содержание buffer а именно там находится текст прочитанный из файла...


--------------------
user posted image
PM WWW ICQ   Вверх
batigoal
Дата 5.9.2007, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 7
Всего: 151



ChertBoberi, текст читается в переменную buffer, но в text1 этот buffer так нигде и не записывается.

Ну и еще пара измений тут есть, чтобы получить доступ к нужным полям.

Код

/**
 *
 *
 *
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2007</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;

public class JTabbedPaneDemo extends JFrame
{
    private Object file;
    public static String val1;
    public static StringBuffer buffer = new StringBuffer();
    PervayaPanel pervayaPanel;

    JTabbedPaneDemo()
    {
        super("панель со вкладками");
        Container с = getContentPane();
        с.setLayout(new BorderLayout());
        //----------------МЕНЮ--------------
        MenuBar mbar = new MenuBar();
        setMenuBar(mbar);
        Menu file = new Menu("File");
        MenuItem item1, item2, item3, item4, item5;
        file.add(item1 = new MenuItem("New..."));
        file.add(item2 = new MenuItem("Open..."));
        file.add(item3 = new MenuItem("Save..."));
        file.add(item4 = new MenuItem("-"));
        file.add(item5 = new MenuItem("Quit..."));
        mbar.add(file);
        Menu edit = new Menu("Edit");
        MenuItem item6, item7, item8, item9;
        edit.add(item6 = new MenuItem("Cut..."));
        edit.add(item7 = new MenuItem("Copy..."));
        edit.add(item8 = new MenuItem("Paste..."));
        edit.add(item9 = new MenuItem("-"));
        mbar.add(edit);
        Menu help = new Menu("Help");
        MenuItem item10, item11;
        help.add(item10 = new MenuItem("о программе"));
        help.add(item11 = new MenuItem("Справка"));
        mbar.add(help);
        //новое
        item1.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                System.out.println("ffffffffffffff");
            }
        });
        // открыть
        item2.addActionListener(new ActionListener()
        {
            private ObjectInputStream input;

            public void actionPerformed(ActionEvent e)
            {
                JFileChooser fch = new JFileChooser();
                fch.setDialogTitle("открыть фаил");
                fch.showOpenDialog(null);
                File fileName = fch.getSelectedFile();
                String put = fileName.getPath();
                System.out.println("переменная путь содержит " + put);
                if (fileName == null)
                {
                    JOptionPane.showMessageDialog(null, "неверное имя файла");
                    System.out.println("инпут содержит " + input);
                }
                else
                {
                    try
                    {
                        BufferedReader input = new BufferedReader(new FileReader(fileName));
                        String text;
                        while ((text = input.readLine()) != null)
                        {
                            buffer.append(text).append('\n');
                            System.out.println("buffer " + buffer.toString());
                        }
                    }
                    catch (IOException ioException)
                    {
                        JOptionPane.showMessageDialog(null, "ошибка файла");
                    }
                    val1 = "jjjjjjjjjjjjjjj";
                    pervayaPanel.setText(buffer.toString());
                }
            }
        });
        //сохранить
        item3.addActionListener(new ActionListener()
        {
            public void actionPerformed(ActionEvent e)
            {
                JFileChooser fch = new JFileChooser();
                fch.showSaveDialog(null);
            }
        });
//----------------КОНЕЦ МЕНЮ--------------
        JTabbedPane jtp = new JTabbedPane();
        pervayaPanel = new PervayaPanel();
        jtp.addTab("правописание", pervayaPanel);
        jtp.addTab("ударения", new VtoraayPanel());
        jtp.addTab("теги", new TretyaPanel());
        jtp.addTab("прогиграватель", new ChetvertayaPanel());
        getContentPane().add(jtp);
        //отрисовываем окно
        setSize(800, 600);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setVisible(true);
    }

    class PervayaPanel extends JPanel
    {
        private String val1;
        private String val2;

        JTextArea text1;

        public PervayaPanel()
        {
            JCheckBox cb2 = new JCheckBox("правоп.");
            add(cb2);
            cb2.setToolTipText("проверка правописания (орфография, грамматика)");
            JCheckBox cb3 = new JCheckBox("Ё");
            add(cb3);
            cb3.setToolTipText("заменить букву е на ё где это требуется. пример ежик->ёжик");
            JCheckBox cb4 = new JCheckBox("__");
            add(cb4);
            cb4.setToolTipText("удалить двойные пробелы");
            JCheckBox cb5 = new JCheckBox("дефи-");
            add(cb5);
            cb5.setToolTipText("удалить дефисы в конце строки(слово без переносов)");
            JCheckBox cb6 = new JCheckBox("удал.неж.симв.");
            add(cb6);
            cb6.setToolTipText("удаляет нежелательные сиволы. пример:теги(<img>, *****");
            JCheckBox cb7 = new JCheckBox("Иван");
            add(cb7);
            cb7.setToolTipText("найти имена, названия: городов, рек и т далее");
            JCheckBox cb8 = new JCheckBox("2-два");
            add(cb8);
            cb8.setToolTipText("переводит цифры в в буквы пример: 17=семнадцать");
            JButton b1 = new JButton("Go");
            add(b1);
            b1.setToolTipText("Эта команда обрабатывает текст, методами помечеными галачками");
            JButton b3 = new JButton("ред. прав");
            add(b3);
            JButton b4 = new JButton("ред. неж. симв.");
            add(b4);
            JButton b5 = new JButton("ред. имен");
            add(b4);
            JButton b6 = new JButton("ред. цифр");
            add(b4);
            //
            text1 = new JTextArea(val1, 20, 70);
            add(text1);
            //text1.append("++++++++");
            //text1.setText();
            System.out.println("val1 из окна" + val1);//????????????????
            System.out.println("buffer из окна" + buffer);//???????????77
            JTextArea text2 = new JTextArea(val2, 7, 70);
            add(text2);
        }

        public void setText(String text)
        {
            text1.setText(text);
        }
    }

    class VtoraayPanel extends JPanel
    {
        private String bal1;
        private String bal2;

        public VtoraayPanel()
        {
            JCheckBox cb1 = new JCheckBox("омонимы");
            add(cb1);
            cb1.setToolTipText("");
            JCheckBox cb2 = new JCheckBox("стр");
            add(cb2);
            cb2.setToolTipText("исправить тройные согласные на \"слышамое\" пример: стр=ср");
            JCheckBox cb3 = new JCheckBox("ударения");
            add(cb3);
            cb3.setToolTipText("проставить ударение в словах");
            JCheckBox cb4 = new JCheckBox("диалоги");
            add(cb4);
            cb4.setToolTipText("проанализировать текст на: монологи, диалоги, повествовательную речь");
            JCheckBox cb5 = new JCheckBox("слоги");
            add(cb5);
            cb5.setToolTipText("разделить слова на слоги");
            JButton b2 = new JButton("go");
            add(b2);
            b2.setToolTipText("Эта команда обрабатывает текст, методами помечеными галачками");
            JButton b3 = new JButton("редактор");
            add(b3);
            JButton b4 = new JButton("словарь");
            add(b4);
            JTextArea text3 = new JTextArea(bal1, 20, 70);
            add(text3);
            JTextArea text4 = new JTextArea(bal2, 7, 70);
            add(text4);
        }
    }

    class TretyaPanel extends JPanel
    {
        public TretyaPanel()
        {
            /*
            добавим позже
            */
        }
    }

    class ChetvertayaPanel extends JPanel
    {
        public ChetvertayaPanel()
        {
            JButton b1 = new JButton("Играть");
            add(b1);
            JButton b2 = new JButton("пауза");
            add(b2);
            JButton b3 = new JButton("стоп");
            add(b3);
            JButton b4 = new JButton("закладка");
            add(b4);
        }
    }

    public static void main(String[] args)
    {
        new JTabbedPaneDemo();
    }
}



--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
ChertBoberi
Дата 5.9.2007, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 5.9.2007

Репутация: нет
Всего: нет



Пардон содержимое считывается в переменую input это просто для скорости мы лепим оболочку stringBuffer
Но по идеи я писал  после ваила(строка 93)
 val1.apeend(buffer);
назначить переменой содержащую текст в тестареи1, содержимое переменой buffer(она содержит весь текст из файла)

ща посмотрим чего ты сделал..позже отпищусь

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0578 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.