Статьи Галерея Форум Чат Файлы HowTo Ссылки Поиск
Текущее время: 21 май 2019, 06:43




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
СообщениеДобавлено: 25 мар 2004, 13:55 
Код:
//Есть JEditorPane, надо загрузить в него текстовый файл. Как?

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.URL;

public class qwerty{
   public static void main(String[] args){
      JFrame mainFrame = new MyWindow();
      mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      mainFrame.show();
   }
}
class MyWindow extends JFrame{
   private JFileChooser chooser;
   public MyWindow(){
      setSize(400, 300);
      final JEditorPane editorPane = new JEditorPane();
      chooser = new JFileChooser();
      Container contentPane = getContentPane();
      JMenuBar menuBar = new JMenuBar();
      setJMenuBar(menuBar);

      JMenu fileMenu = new JMenu("file");
      menuBar.add(fileMenu);

      JMenuItem openItem = new JMenuItem("open");
      fileMenu.add(openItem);
      openItem.addActionListener(new ActionListener(){
         public void actionPerformed(ActionEvent event){
            int r=chooser.showOpenDialog(null);
            if(r==JFileChooser.APPROVE_OPTION){
               String name = chooser.getSelectedFile().getPath();
               System.out.println("Вопрос: как загрузить выбранный файл\n" + name + "\nв editorPane?");               
               /* не работает
               URL h = qwerty.class.getResource(name);
               try {
                  editorPane.setPage(h);
               } catch (IOException e) {
                  e.printStackTrace();
               }*/
                      }
         }
      });
   contentPane.add(editorPane);
   }
}


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 25 мар 2004, 15:08 
Неотъемлемая часть форума
Аватара пользователя

У нас с: 25.07.2003
Сообщения: 623
Откуда: Minsk
читай доку по FileReader и InputStreamReader классам...

_________________
Never touch the running program!!!


Вернуться к началу
 Не в сети Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 25 май 2004, 22:57 
Читаем строки из текстового файла в StringBuffer, затем присваиваем editorPane.setText(stringBuffer.toString());

Или по-байтно формируешь строку str, что не есть хорошо, и как обычно:
FileDialog fileDialog = new FileDialog(this, "Open...", FileDialog.LOAD);
fileDialog.show();
if (fileDialog.getFile() == null)
return;
fileName = fileDialog.getDirectory() + File.separator + fileDialog.getFile();

FileInputStream fis = null;
String str = null;
try {
fis = new FileInputStream(fileName);
int size = fis.available();
byte[] bytes = new byte [size];
fis.read(bytes);
str = new String(bytes);
} catch (IOException e) {
} finally {
try {
fis.close();
} catch (IOException e2) {
}
}

if (str != null)
editorPane.setText(str);


Вернуться к началу
  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
[ All resources are available under GNU GPL ] [ Support ] [ Hosted by DataHata | MyCloud.by ] [ Powered by phpBB® Forum Software © phpBB Group ]

LVEE Winter LVEE Rambler's Top100