Click here to Skip to main content
15,868,141 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Kindly edit and post your code which satisfy mu need. its an emergency.

Java
import java.awt.*;
import javax.swing.*;
import java.io.*;
import java.util.*;
import javax.mail.*;
 
public class TextAreaDemoB extends JFrame 
{
JTextArea _resultArea = new JTextArea(6, 35);
      public TextAreaDemoB() throws Exception
        {
      String host = "pop.gmail.com";
      String user = "computingcloud14@gmail.com";
      String password = "QWERTYASDFG";
      Properties properties = System.getProperties();
        Session session = Session.getDefaultInstance(properties, null);
        Store store = session.getStore("pop3s");
        store.connect(host, user, password);
        Folder folder = store.getFolder("inbox");
 
        folder.open(Folder.READ_ONLY);
        Message[] message = folder.getMessages();
 
        
 
        
      for (int i = 0; i < message.length; i++)
      {
         String myString = Integer.toString(i);
          _resultArea.append(myString);
          _resultArea.append("------------ Message " + (i + 1) + " ------------");
          _resultArea.append("SentDate : " + message[i].getSentDate());
          _resultArea.append("From : " + message[i].getFrom()[0]);
         _resultArea.append("Subject : " + message[i].getSubject());
           InputStream stream = message[i].getInputStream();
       //The following loop must be changed to achieve my solution.can any1???????
           do
           {
               //_resultArea.setText(();
            char d=(char) stream.read();
            String c=Character.toString(d);
            //_resultArea.append(c);
              System.out.println(c);
           
            }
           while (stream.available() != 0);
      
 
           
      }
        JScrollPane scrollingArea = new JScrollPane(_resultArea);
        JPanel content = new JPanel();
        content.setLayout(new BorderLayout());
        content.add(scrollingArea, BorderLayout.CENTER);
        this.setContentPane(content);
        this.setTitle("TReadMails");
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.pack();
    }
    
    //============================================================= main
    public static void main(String[] args) throws Exception
    {
        JFrame win = new TextAreaDemoB();
        win.setVisible(true);
    }
}
Posted
Updated 30-Mar-14 23:10pm
v2

Update:

My bad, I have not realized that I already gave you the answer.
You should read answers and consider to follow what we tell you.
We are professionals, we do not play around.


retrieving mails to jtextarea in java takes much time[^]
 
Share this answer
 
v2
Comments
Member 10239017 31-Mar-14 8:26am    
not working
TorstenH. 31-Mar-14 8:45am    
Check the update.
// // A simple Java Console for your application (Swing version)
// Requires Java 1.1.5 or higher
//
// Disclaimer the use of this source is at your own risk.
//
// Permision to use and distribute into your own applications
//
// RJHM van den Bergh , rvdb@comweb.nl

import java.io.*;
import java.awt.*;
import java.awt.event.*;
import java.util.Properties;
import javax.mail.*;


public class AWTConsole extends WindowAdapter implements WindowListener, ActionListener, Runnable
{
private Frame frame;
private TextArea textArea;
private Thread reader;
private Thread reader2;
private boolean quit;

private final PipedInputStream pin=new PipedInputStream();
private final PipedInputStream pin2=new PipedInputStream();

Thread errorThrower; // just for testing (Throws an Exception at this Console

public AWTConsole() throws MessagingException, IOException
{
// create all components and add them
frame=new Frame("Received Mails");
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=new Dimension((int)(screenSize.width/2),(int)(screenSize.height/2));
int x=(int)(frameSize.width/2);
int y=(int)(frameSize.height/2);
frame.setBounds(x,y,frameSize.width,frameSize.height);

textArea=new TextArea();
textArea.setEditable(false);
Button button=new Button("clear");

Panel panel=new Panel();
panel.setLayout(new BorderLayout());
panel.add(textArea,BorderLayout.CENTER);
panel.add(button,BorderLayout.SOUTH);
frame.add(panel);

frame.setVisible(true);

frame.addWindowListener(this);
button.addActionListener(this);

try
{
PipedOutputStream pout=new PipedOutputStream(this.pin);
System.setOut(new PrintStream(pout,true));
}
catch (java.io.IOException io)
{
textArea.append("Couldn't redirect STDOUT to this console\n"+io.getMessage());
}
catch (SecurityException se)
{
textArea.append("Couldn't redirect STDOUT to this console\n"+se.getMessage());
}

try
{
PipedOutputStream pout2=new PipedOutputStream(this.pin2);
System.setErr(new PrintStream(pout2,true));
}
catch (java.io.IOException io)
{
textArea.append("Couldn't redirect STDERR to this console\n"+io.getMessage());
}
catch (SecurityException se)
{
textArea.append("Couldn't redirect STDERR to this console\n"+se.getMessage());
}

quit=false; // signals the Threads that they should exit

// Starting two seperate threads to read from the PipedInputStreams
//
reader=new Thread(this);
reader.setDaemon(true);
reader.start();
//
reader2=new Thread(this);
reader2.setDaemon(true);
reader2.start();

// testing part
// you may omit this part for your application
//
System.out.println("HERE GOES YOUR INBOX");
//System.out.println("All fonts available to Graphic2D:\n");
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String host = "pop.gmail.com";
String user = "computingcloud14@gmail.com";
String password = "QWERTYASDFG";
Properties properties = System.getProperties();
Session session = Session.getDefaultInstance(properties, null);
Store store = session.getStore("pop3s");
store.connect(host, user, password);
Folder folder = store.getFolder("inbox");
folder.open(Folder.READ_ONLY);
Message[] message = folder.getMessages();
for (int i = 0; i < message.length; i++)
{
System.out.print("------------ Message " + (i + 1) + " ------------"+"\n\n\n\n");
System.out.print("SentDate : " + message[i].getSentDate()+"\n\n");
System.out.print("From : " + message[i].getFrom()[0]+"\n\n");
System.out.print("Subject : " + message[i].getSubject()+"\n\n");
InputStream stream = message[i].getInputStream();

do
{

char d=(char) stream.read();
String c=Character.toString(d);
System.out.print(c);

}
while (stream.available() != 0);

}
String[] fontNames=ge.getAvailableFontFamilyNames();
for(int n=0;n // Testing part: simple an error thrown anywhere in this JVM will be printed on the Console
// We do it with a seperate Thread becasue we don't wan't to break a Thread used by the Console.
//System.out.println("\nLets throw an error on this console");
errorThrower=new Thread(this);
errorThrower.setDaemon(true);
errorThrower.start();
}

public synchronized void windowClosed(WindowEvent evt)
{
quit=true;
this.notifyAll(); // stop all threads
try { reader.join(1000);pin.close(); } catch (Exception e){}
try { reader2.join(1000);pin2.close(); } catch (Exception e){}
System.exit(0);
}

public synchronized void windowClosing(WindowEvent evt)
{
frame.setVisible(false); // default behaviour of JFrame
frame.dispose();
}

public synchronized void actionPerformed(ActionEvent evt)
{
textArea.setText("");
}

public synchronized void run()
{
try
{
while (Thread.currentThread()==reader)
{
try { this.wait(100);}catch(InterruptedException ie) {}
if (pin.available()!=0)
{
String input=this.readLine(pin);
textArea.append(input);
}
if (quit) return;
}

while (Thread.currentThread()==reader2)
{
try { this.wait(100);}catch(InterruptedException ie) {}
if (pin2.available()!=0)
{
String input=this.readLine(pin2);
textArea.append(input);
}
if (quit) return;
}
} catch (Exception e)
{
textArea.append("\nConsole reports an Internal error.");
textArea.append("The error is: "+e);
}

// just for testing (Throw a Nullpointer after 1 second)
if (Thread.currentThread()==errorThrower)
{
try { this.wait(1000); }catch(InterruptedException ie){}
throw new NullPointerException("Application test: throwing an NullPointerException It should arrive at the console");
}

}

public synchronized String readLine(PipedInputStream in) throws IOException
{
String input="";
do
{
int available=in.available();
if (available==0) break;
byte b[]=new byte[available];
in.read(b);
input=input+new String(b,0,b.length);
}while( !input.endsWith("\n") && !input.endsWith("\r\n") && !quit);
return input;
}

public static void main(String[] arg) throws IOException, MessagingException
{
new AWTConsole(); // create console with not reference
}
}
 
Share this answer
 
Comments
Member 10239017 1-Apr-14 10:03am    
This is the solution i supposed to acco,plish and i am done with that too

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900