`
guohf
  • 浏览: 417288 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java浏览器(二)

阅读更多
package com.email;

import javax.mail.*;
import javax.mail.internet.*;
import javax.swing.BorderFactory;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JLabel;
import javax.swing.JList;
import java.util.*;
import java.awt.BorderLayout;
import javax.swing.JProgressBar;
import javax.swing.ListModel;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.border.BevelBorder;
import javax.swing.border.LineBorder;
import javax.swing.border.SoftBevelBorder;
import java.awt.event.*;

/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
/**
 * <p>Title: 使用JavaMail接收邮件</p>
 * <p>Description: 实例JavaMail包接收邮件,本实例没有实现接收邮件的附件。</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Filename: POPMail.java</p>
 * @version 1.0
 */
public class POPMail extends javax.swing.JDialog implements  WindowListener {
/**
 *<br>方法说明:主方法,接收用户输入的邮箱服务器、用户名和密码
 *<br>输入参数:
 *<br>返回类型:
 */
 String server,user,pass,mailfrom;
 PropertyFileOperation op;
 private JLabel jLabel;
 private JList jList;
 private JProgressBar jProgressBar;
 private int sum,mailNum;
private Vector v=new Vector();
POPMail inst;
 public void windowOpened(WindowEvent windowEvent) {
  TMail doIt = new TMail();
  doIt.start();
 }
 public class TMail extends Thread {
     public void run(){
      getMail();
     }
 }
   public void windowClosed(WindowEvent windowEvent) {  }
   public void windowIconified(WindowEvent windowEvent) {  }
   public void windowDeiconified(WindowEvent windowEvent) {  }
   public void windowActivated(WindowEvent windowEvent) {  }
   public void windowDeactivated(WindowEvent windowEvent) { }
   public void windowClosing(WindowEvent windowEvent) {
      System.exit(0);
    }
 //  private void center() {
   // Dimension screenDim = Toolkit.getDefaultToolkit().getScreenSize();
   // setLocation( ( ( screenDim.width - getSize().width ) / 2 ),
   // ( ( screenDim.height - getSize().height ) / 2) );
   // } 


 /**
 * Auto-generated main method to display this JDialog
 */
 public static void main(String[] args) {
  SwingUtilities.invokeLater(new Runnable() {
   public void run() {
    POPMail inst = new POPMail();
    inst.setLocationRelativeTo(null);   
    
    inst.setVisible(true);
    
    
   }
  });
  //getMail();
 }
 public POPMail(int init)
 {
   inst = new POPMail();
  inst.setLocationRelativeTo(null);
  inst.setModal(true);
  inst.setResizable(false);
  inst.setVisible(true);
  inst.pack();
  
  
  //Thread.currentThread().sleep(2000); 
 }
 public POPMail() {
  super();
  this.addWindowListener(this);
  initGUI();
  ///getMail();
 }
 
public void getMail()
{
 
///////////////
 op=new PropertyFileOperation("MailServer.properties");//读取邮箱配置
 
 v.addElement("加载邮箱配置");
 this.jList.setListData(v);
////////////////重邮箱更新粮库服务器信息/////////////////////////////////////////////////////
 
 int num=Integer.parseInt(op.getVal("num"));
 server=op.getVal("server");
   user=op.getVal("user");
   pass=op.getVal("pass");
   mailNum=num;
   mailfrom=op.getVal("from");
   
 //System.out.println(num);
   v.addElement("加载服务器配置");
  this.jList.setListData(v);
  
   op=new PropertyFileOperation("GrainStoreServer.properties");
   v.addElement("更新服务器信息");
  this.jList.setListData(v);
   receive(server, user, pass);
}
 
 private void initGUI() {
  try {
   {
    jProgressBar = new JProgressBar();
    getContentPane().add(jProgressBar, BorderLayout.SOUTH);
    this.jProgressBar.setMaximum(100);
    this.jProgressBar.setMinimum(0);
   }
   {
    jLabel = new JLabel();
    getContentPane().add(jLabel, BorderLayout.NORTH);
    jLabel.setText("\u670d\u52a1\u5668\u4fe1\u606f\u66f4\u65b0\u4e2d\uff0c\u8bf7\u7a0d\u540e...");
    jLabel.setPreferredSize(new java.awt.Dimension(392, 36));
   }
   {
    ListModel jListModel = 
     new DefaultComboBoxModel(
       new String[] { "" });
    jList = new JList();
    getContentPane().add(jList, BorderLayout.CENTER);
    jList.setModel(jListModel);
    jList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    jList.setBorder(new SoftBevelBorder(BevelBorder.LOWERED, null, null, null, null));
   }
   this.setSize(400, 263);
  } catch (Exception e) {
   //e.printStackTrace();
   v.addElement("错误信息:"+e.getMessage());
          this.jList.setListData(v);
  }
 }
 /*public POPMail(String popserver,String popuser,String poppass,int num,String popfrom)
 {
  //SwingUtilities.invokeLater(new Runnable() {
   //public void run() {
    //POPMail inst = new POPMail();
    //inst.setModal(true);
    //inst.setVisible(true);
   //}
  //});
  POPMail inst = new POPMail();
  //inst.setModal(true);
  inst.setVisible(true);
  initGUI();
    
    op=new PropertyFileOperation("GrainStoreServer.properties");
    server=popserver;
    user=popuser;
    pass=poppass;
    mailNum=num;
    mailfrom=popfrom;
    receive(popserver, popuser, poppass);
    inst.pack();
 }*/

/**
 *<br>方法说明:接收邮件信息
 *<br>输入参数:
 *<br>返回类型:
 */
    public  void receive(String popServer, String popUser, String popPassword){
        Store store=null;
        Folder folder=null;
        try{
            //获取默认会话
            Properties props = System.getProperties();
            Session session = Session.getDefaultInstance(props, null);
            //使用POP3会话机制,连接服务器
            store = session.getStore("pop3");
            store.connect(popServer, -1,popUser,popPassword); 
            //store.connect(popServer, popUser, popPassword);
            //获取默认文件夹
            folder = store.getDefaultFolder();
            if (folder == null) throw new Exception("无默认文件夹");
            //如果是收件箱
            folder = folder.getFolder("INBOX");
            if (folder == null) throw new Exception("无服务器信息");
            //使用只读方式打开收件箱
            folder.open(Folder.READ_ONLY);
            //得到文件夹信息,获取邮件列表
            Message[] msgs = folder.getMessages();
          
            
            int mailCount=msgs.length;
            int msgNum=0;
            
             for (msgNum = 0; msgNum < mailCount; msgNum++){
             //if(msgNum==mailNum)//如果检索的结果等于服务器的数目,跳出循环
             // break;
             int percent =(int)((msgNum+1)*100/mailCount);
             //System.out.println(percent);
            
             //this.jTextField.setText(Integer.toString(percent));
             //this.jTextField.repaint();
             //this.jTextField.validate();
             this.jProgressBar.setValue(percent);
             this.setTitle("服务器列表更新:"+Integer.toString(percent)+"%");
             jProgressBar.repaint();
             jProgressBar.validate();
                //frame.setVisible(true);
                //Thread.sleep(500);
             
            saveMsg(msgs[msgNum]);
            
            }
            
             //Dimension   screensize=Toolkit.getDefaultToolkit().getScreenSize();     
             //this.getParent().setLocation(0, 0);
             //this.getParent().setSize(screensize.width,screensize.height-20);
             
             
        }catch (Exception ex){
            //ex.printStackTrace();
         v.addElement("错误信息:"+ex.getMessage());
          this.jList.setListData(v);
        }
        finally{
        //释放资源
            try{
                if (folder!=null) folder.close(false);
                if (store!=null) store.close();
                
                
            }catch (Exception ex2) {
               // ex2.printStackTrace();
             v.addElement("错误信息:"+ex2.getMessage());
              this.jList.setListData(v);
            }
            finally
            {
             this.dispose();
                inst=null;
            }
        }
    }


/**
 *<br>方法说明:打印邮件信息
 *<br>输入参数:Message message 信息对象
 *<br>返回类型:
 */
    public  void saveMsg(Message message){
        try{
            //获得发送邮件地址
            String from=((InternetAddress)message.getFrom()[0]).getPersonal();
            if (from==null) from=((InternetAddress)message.getFrom()[0]).getAddress();
           // System.out.println("FROM: "+from);
            
            if(from.equals(mailfrom) || mailfrom.equals(""))
             {
            //获取主题
            String subject=message.getSubject();
            //System.out.println("SUBJECT: "+subject);
         String[] str = subject.split("\\|");
         if(str.length==3)
         {
          v.addElement("更新服务器"+str[0]+"配置");
          this.jList.setListData(v);
            op.setProperties("server"+str[0], str[1]);
            op.setProperties("port"+str[0], str[2]);
           // op.setProperties("flag"+str[0], "1");
          //  sum+=1;
           // System.out.println("server"+str[0]+":"+str[1]);
           // System.out.println("port"+str[0]+":"+str[2]);
           // System.out.println(subject);
         }
             }
            
            //获取信息对象
           // Part messagePart=message;
            //Object content=messagePart.getContent();
            //附件
            //if (content instanceof Multipart){
              //  messagePart=((Multipart)content).getBodyPart(0);
               // System.out.println("[ Multipart Message ]");
           // }
            //获取content类型
            //String contentType=messagePart.getContentType();
            //如果邮件内容是纯文本或者是HTML,那么打印出信息
            //System.out.println("CONTENT:"+contentType);
           // if (contentType.startsWith("text/plain")||
                //contentType.startsWith("text/html")){
               // InputStream is = messagePart.getInputStream();
               // BufferedReader reader=new BufferedReader(new InputStreamReader(is));
               // String thisLine=reader.readLine();
               // while (thisLine!=null){
                    //System.out.println(thisLine);
                    //thisLine=reader.readLine();
               // }
            //}
            //System.out.println("-------------- END ---------------");
        }catch (Exception ex){
            //ex.printStackTrace();
            v.addElement("错误信息:"+ex.getMessage());
          this.jList.setListData(v);
        }
    }
} 

 

 

package com.email;

import java.io.IOException;
import java.io.OutputStream;
import java.util.*;
import java.io.*;
import javax.swing.JOptionPane;

public class PropertyFileOperation  {
 
 private File file;
 private String filename;
 private Properties p = new Properties();
public PropertyFileOperation(String fileName)
{
 file = new File (System.getProperty("user.dir")+"\\INF\\"+fileName);
 filename=System.getProperty("user.dir")+"\\INF\\"+fileName;
 getProperties();
}
    public void getProperties(){

        //ClassLoader cl = this.getClass().getClassLoader();
        FileInputStream input;
        // if(cl!=null)
        //input=cl.getResourceAsStream(filename);
        if(!file.exists())
        {
         //System.out.println(filename);
         JOptionPane.showMessageDialog(null,  "配置文件不存在","提示", JOptionPane.ERROR_MESSAGE);   
         return;
        }
        try
        {
         input = new FileInputStream(filename);
         p.load(input);
        }
        catch(IOException e)
        {
         JOptionPane.showMessageDialog(null,  "配置文件加载错误","提示", JOptionPane.ERROR_MESSAGE); 
         e.printStackTrace();
        }
        //else
        //input=ClassLoader.getSystemResourceAsStream(filename);


    }

 

 public void setProperties(String field,String val) {
        p.setProperty(field,val);
        try {
              OutputStream fos = new FileOutputStream(file);
              p.store(fos, filename);
              fos.close();
        } catch (FileNotFoundException ex) {
            //System.out.println("file is NULL !!!");
              ex.printStackTrace();
        } catch (IOException ex) {
           // System.out.println("IO is Error !!!");
              ex.printStackTrace();
        }


 }
 public String getVal(String field)
 {
  return p.getProperty(field);
 }
 
}

 

 

 

附:配置文件

GrainStoreServer.properties

#C:\Documents and Settings\admin\workspace\JExplorer\INF\GrainStoreServer.properties
#Thu Sep 20 14:11:31 CST 2007
server04=cn.msn.com
server03=cn.yahoo.com.cn
port04=80
server02=www.sina.com
port03=80
server01=www.baidu.com
port02=80
port01=80

 

MailServer.properties

#C:\Documents and Settings\admin\workspace\JExplorer\INF\MailServer.properties
#Tue Sep 18 17:09:10 CST 2007
port=110
server=pop3.163.com
user=user@163.com
num=50
from=
pass=pass


Tree.properties


server1=[01]±±¾©
server2=[02]ÇàÔÆ
server3=[03]²ýƽ
server4=[04]Î÷³Ç 

 

分享到:
评论

相关推荐

    Java 浏览器 Java浏览器

    总的来说,"Java浏览器"项目不仅展示了Java在创建复杂应用程序时的能力,还为Java开发者提供了一个实践多线程、网络编程、UI设计和安全策略的绝佳案例。通过深入研究和改进这样的项目,Java开发者可以提升自己的技能...

    超漂亮的纯JAVA浏览器

    标题中的“超漂亮的纯JAVA浏览器”指的是一个基于Java语言开发的网页浏览应用,它具有出色的用户界面设计,提供了良好的视觉体验。这样的浏览器通常利用Java的跨平台特性,可以在多种操作系统上运行,包括Windows、...

    java浏览器源代码

    下面我们将深入探讨Java浏览器的核心知识点。 1. JavaFX:JavaFX是用于构建桌面、移动和嵌入式系统的现代Java GUI应用程序的框架。在Java浏览器的实现中,JavaFX可能被用作渲染引擎,提供图形用户界面组件,如按钮...

    Java浏览器

    Java浏览器是一种基于Java编程语言开发的轻量级应用程序,它允许用户浏览网页并执行基本的互联网功能。在MyEclipse环境中开发的Java浏览器项目,利用了Java的强大功能和跨平台特性,为用户提供了一种不同于传统Web...

    java浏览器课程设计

    Java浏览器课程设计是一门深入探讨如何使用Java编程语言构建一个功能完备的Web浏览器的实践性课程。这个项目旨在让学生理解网络通信的基本原理,掌握Java GUI(图形用户界面)设计,并了解浏览器背后的复杂工作流程...

    java 浏览器课件及程序

    【标题】:“Java浏览器课件及程序”是一个学习资源包,专为初学者提供Java编程与浏览器相关的知识。这个资源包包含了一系列文档和课件,旨在帮助初入Java开发领域的人快速掌握基础知识。 【描述】:“对入门级java...

    JAVA浏览器控件(通过JNI实现)

    Java浏览器控件是一种技术,允许Java应用程序嵌入和交互与Web内容,类似于在桌面应用中使用Web浏览器的功能。本主题将深入探讨通过JNI(Java Native Interface)实现的Java浏览器控件,这是一种Java与本地操作系统...

    java浏览器调用ie内核

    压缩包中的文件名"java浏览器调用ie内核-1、java浏览器调用ie内核-简单"可能代表了实现此功能的不同版本或步骤。"1"可能是基础实现,而"简单"可能是简化后的版本。这些文件可能包含Java源代码、配置文件或者相关的...

    JAVA浏览器小实例

    【JAVA浏览器小实例】是一个适合课程设计的简单项目,它为初学者提供了了解和实践JAVA编程语言在网络应用方面的基础知识。这个实例通常会涵盖以下几个关键知识点: 1. **JAVA基础**:首先,理解JAVA编程的基本语法...

    uc java浏览器所有版本集合

    UC Java浏览器是一款专为Java平台设计的移动浏览器,它提供了高效、便捷的互联网浏览体验。这个集合包含了UC浏览器的各个历史版本,对于开发者和用户来说,这是一个宝贵的资源库,可以追溯浏览器的发展历程,或者在...

    JAVA浏览器

    "JAVA浏览器" 本文将围绕JAVA浏览器的开发和设计展开讨论,涵盖了浏览器的基本功能、面向对象编程、网络编程方法、模型建立、网页浏览器设计等多个方面的知识点。 一、浏览器的基本功能 浏览器是我们在互联网上...

    java浏览器

    下面将详细介绍Java浏览器的工作原理、特点以及其与传统Web浏览器的对比。 Java浏览器的核心是Java插件或Java Web Start技术,它们使得Java应用程序可以在浏览器环境中运行。Java插件是嵌入到浏览器中的一个小程序...

    java实现内置浏览器

    Java实现内置浏览器是一种技术实践,它允许开发者在Java应用程序中集成一个Web浏览器组件,使得用户可以在应用程序内部浏览网页,提供类似桌面应用的体验。这种方式通常使用JavaFX或Swing库来构建用户界面,并通过...

    Java浏览器源码大全|包含各种示例源码

    里面包含xulrunner java浏览器 swing浏览器 awt浏览器 所有工程源码 均包含在里面 jar一律齐全 不像其他分享源码的作者 不分享jar包出来 导致参考源码需要找很多jar 无疑给参考者浪费了很多宝贵时间,如果大 家觉得...

    java图片浏览器java图片浏览器

    java图片浏览器java图片浏览器java图片浏览器java图片浏览器java图片浏览器java图片浏览器java图片浏览器java图片浏览器java图片浏览器java图片浏览器java图片浏览器java图片浏览器java图片浏览器java图片浏览器java...

    JAVA浏览器和源代码

    Java浏览器是一种基于Java技术实现的网络浏览工具,它利用Java平台的强大功能,提供了一种不同于传统Web浏览器的体验。在Java编程环境中,开发者可以利用Java的跨平台特性,创建一个能够在任何支持Java运行环境的...

    一个值得学习的java浏览器设计。但不完善

    4. **JavaScript执行**:Java浏览器需要支持JavaScript,这通常通过JavaScript引擎实现,比如开源的Rhino或Nashorn。JavaScript引擎负责解释和执行JS代码,与网页交互,实现动态效果和用户交互。 5. **渲染引擎**:...

    java浏览器+swing嵌套网页+源码免费

    Java浏览器是Java编程环境中用于显示和交互Web内容的软件组件,它允许开发者在Java应用程序中嵌入网页浏览功能。在本资源中,我们关注的是使用Swing库来实现这一目标,Swing是Java Foundation Classes (JFC)的一部分...

    selenium+java浏览器自动化测试操作浏览器实例main方法

    selenium+java浏览器自动化测试操作浏览器实例main方法

    java制作的浏览器

    2. JavaScript引擎:Java浏览器通常会包含一个JavaScript引擎,如OpenJDK的HotSpot或Mozilla的Rhino,用于执行网页中的JavaScript代码。JavaScript引擎使浏览器能够与用户交互、处理动态内容和执行服务器请求。 3. ...

Global site tag (gtag.js) - Google Analytics