[ trodon @ 22.08.2006. 17:51 ] @
Moze li bilo ko od vas da mi pomogne u ubacivanju texta iz fajla u JTextArea? Ili je mozda pametnije koristiti neshto drugo za prikaz texta (umesto text area-e). Naime, otvorim stream nad file-om u kome je najobichniji text, ali mi je problem da taj text prikazem u text area-i. Moze li kratak kod, ili bar detaljnije objashnjenje kako s ovo radi, koji streamovi se koriste itd.. Prvi put ovo radim tako da mi je poprilichno potrebna pomoc. THX
[ nemnesic @ 22.08.2006. 18:15 ] @
evo
Code:

/*
Java Swing, 2nd Edition
By Marc Loy, Robert Eckstein, Dave Wood, James Elliott, Brian Cole
ISBN: 0-596-00408-7
Publisher: O'Reilly
*/

// SimpleEditor.java
//An example showing several DefaultEditorKit features. This class is 
designed
//to be easily extended for additional functionality.
//

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Hashtable;

import javax.swing.AbstractAction;
import javax.swing.Action;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JTextArea;
import javax.swing.JToolBar;
import javax.swing.text.DefaultEditorKit;
import javax.swing.text.JTextComponent;

public class SimpleEditor extends JFrame {

   private Action openAction = new OpenAction();

   private Action saveAction = new SaveAction();

   private JTextComponent textComp;

   private Hashtable actionHash = new Hashtable();

   public static void main(String[] args) {
     SimpleEditor editor = new SimpleEditor();
     editor.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     editor.setVisible(true);
   }

   // Create an editor.
   public SimpleEditor() {
     super("Swing Editor");
     textComp = createTextComponent();
     makeActionsPretty();

     Container content = getContentPane();
     content.add(textComp, BorderLayout.CENTER);
     content.add(createToolBar(), BorderLayout.NORTH);
     setJMenuBar(createMenuBar());
     setSize(320, 240);
   }

   // Create the JTextComponent subclass.
   protected JTextComponent createTextComponent() {
     JTextArea ta = new JTextArea();
     ta.setLineWrap(true);
     return ta;
   }

   // Add icons and friendly names to actions we care about.
   protected void makeActionsPretty() {
     Action a;
     a = textComp.getActionMap().get(DefaultEditorKit.cutAction);
     a.putValue(Action.SMALL_ICON, new ImageIcon("cut.gif"));
     a.putValue(Action.NAME, "Cut");

     a = textComp.getActionMap().get(DefaultEditorKit.copyAction);
     a.putValue(Action.SMALL_ICON, new ImageIcon("copy.gif"));
     a.putValue(Action.NAME, "Copy");

     a = textComp.getActionMap().get(DefaultEditorKit.pasteAction);
     a.putValue(Action.SMALL_ICON, new ImageIcon("paste.gif"));
     a.putValue(Action.NAME, "Paste");

     a = textComp.getActionMap().get(DefaultEditorKit.selectAllAction);
     a.putValue(Action.NAME, "Select All");
   }

   // Create a simple JToolBar with some buttons.
   protected JToolBar createToolBar() {
     JToolBar bar = new JToolBar();

     // Add simple actions for opening & saving.
     bar.add(getOpenAction()).setText("");
     bar.add(getSaveAction()).setText("");
     bar.addSeparator();

     // Add cut/copy/paste buttons.
     bar.add(textComp.getActionMap().get(DefaultEditorKit.cutAction))
         .setText("");
     bar.add(textComp.getActionMap().get(DefaultEditorKit.copyAction))
         .setText("");
     bar.add(textComp.getActionMap().get(DefaultEditorKit.pasteAction))
         .setText("");
     return bar;
   }

   // Create a JMenuBar with file & edit menus.
   protected JMenuBar createMenuBar() {
     JMenuBar menubar = new JMenuBar();
     JMenu file = new JMenu("File");
     JMenu edit = new JMenu("Edit");
     menubar.add(file);
     menubar.add(edit);

     file.add(getOpenAction());
     file.add(getSaveAction());
     file.add(new ExitAction());
     edit.add(textComp.getActionMap().get(DefaultEditorKit.cutAction));
     edit.add(textComp.getActionMap().get(DefaultEditorKit.copyAction));
     edit.add(textComp.getActionMap().get(DefaultEditorKit.pasteAction));
 
edit.add(textComp.getActionMap().get(DefaultEditorKit.selectAllAction));
     return menubar;
   }

   // Subclass can override to use a different open action.
   protected Action getOpenAction() {
     return openAction;
   }

   // Subclass can override to use a different save action.
   protected Action getSaveAction() {
     return saveAction;
   }

   protected JTextComponent getTextComponent() {
     return textComp;
   }

   // ********** ACTION INNER CLASSES ********** //

   // A very simple exit action
   public class ExitAction extends AbstractAction {
     public ExitAction() {
       super("Exit");
     }

     public void actionPerformed(ActionEvent ev) {
       System.exit(0);
     }
   }

   // An action that opens an existing file
   class OpenAction extends AbstractAction {
     public OpenAction() {
       super("Open", new ImageIcon("icons/open.gif"));
     }

     // Query user for a filename and attempt to open and read the file into
     // the
     // text component.
     public void actionPerformed(ActionEvent ev) {
       JFileChooser chooser = new JFileChooser();
       if (chooser.showOpenDialog(SimpleEditor.this) !JFileChooser.APPROVE_OPTION)
         return;
       File file = chooser.getSelectedFile();
       if (file == null)
         return;

       FileReader reader = null;
       try {
         reader = new FileReader(file);
         textComp.read(reader, null);
       } catch (IOException ex) {
         JOptionPane.showMessageDialog(SimpleEditor.this,
             "File Not Found", "ERROR", JOptionPane.ERROR_MESSAGE);
       } finally {
         if (reader != null) {
           try {
             reader.close();
           } catch (IOException x) {
           }
         }
       }
     }
   }

   // An action that saves the document to a file
   class SaveAction extends AbstractAction {
     public SaveAction() {
       super("Save", new ImageIcon("icons/save.gif"));
     }

     // Query user for a filename and attempt to open and write the text
     // component's content to the file.
     public void actionPerformed(ActionEvent ev) {
       JFileChooser chooser = new JFileChooser();
       if (chooser.showSaveDialog(SimpleEditor.this) !JFileChooser.APPROVE_OPTION)
         return;
       File file = chooser.getSelectedFile();
       if (file == null)
         return;

       FileWriter writer = null;
       try {
         writer = new FileWriter(file);
         textComp.write(writer);
       } catch (IOException ex) {
         JOptionPane.showMessageDialog(SimpleEditor.this,
             "File Not Saved", "ERROR", JOptionPane.ERROR_MESSAGE);
       } finally {
         if (writer != null) {
           try {
             writer.close();
           } catch (IOException x) {
           }
         }
       }
     }
   }
}


[ gajo2 @ 22.08.2006. 19:29 ] @
Evo nesto krace resenje ;)

Code:
try {
    JTextArea memo = new JTextArea();
    BufferedReader input = new BufferedReader(new FileReader(new File("C:\temp\test.txt")));
    String line = null;
    while ((line = input.readLine()) != null) {
        memo.append(line);
        memo.append("\n");
    }
    input.close();
} catch (Exception ex) {
    ex.printStackTrace();
}
[ trodon @ 24.08.2006. 10:35 ] @
Hvala puno momci!!!!!!!!