`
hjwromantic
  • 浏览: 27678 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

java之迷你浏览器

 
阅读更多

迷你浏览器预览视图:

代码如下:

package mini_browser;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SmallBrowser extends JFrame implements ActionListener
{
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	JPanel $jpanel; 
	SWTPane $SWTPane; 
	//创建弹出菜单
	PopupMenu popup=new PopupMenu();
	//创建菜单
	Menu jm=new Menu("弹出消息");
	//创建菜单项数组
	MenuItem[] item ={new MenuItem("警告消息"),new MenuItem("信息消息"),
					  new MenuItem("错误消息"),new MenuItem("退出程序"),
					  new MenuItem("显示窗口"),new MenuItem("重新访问")};
	//定义SystemTray成员变量
	SystemTray tray;
	//定义TrayIcon成员变量
	TrayIcon trayIcon;
	public SmallBrowser()
	{
		$jpanel = new JPanel(); 
		$SWTPane = new SWTPane(); 
		//$jpanel.add($SWTPane); 
		
		//循环对菜单项进行处理
		for(int i=0;i<item.length;i++)
		{
			//为菜单乡项注册监听器
			item[i].addActionListener(this);
			//将菜单项数组中前3个菜单项添加进"弹出消息"菜单中
			//if(i<3)	jm.add(item[i]);
		}
		
		//将弹出消息菜单与退出程序菜单项添加进弹出菜单
		//popup.add(jm);
		popup.add(item[5]);
		popup.add(item[4]);
		popup.add(item[3]);
		
		
		
		// 判断当前操作系统是否支持系统托盘
		if (SystemTray.isSupported())
		{
			//通过静态方法getSystemTray()得到系统托盘
			tray = SystemTray.getSystemTray();
			//加载图象
			Image image = Toolkit.getDefaultToolkit().getImage("d:/icon.jpg");
			//创建TrayIcon对象得到托盘图标
			trayIcon=new TrayIcon(image,"提示信息",popup);
			//设置托盘图标将自动设置尺寸
			trayIcon.setImageAutoSize(true);
			try
			{//将托盘图标设置到系统托盘中
				tray.add(trayIcon);
			}
			catch(AWTException e)
			{
				e.printStackTrace();
			}
			//为托盘图标注册监听器
			trayIcon.addActionListener(this);
		}
		//设置窗体关闭按扭所执行的动作
		this.addWindowListener(
			new WindowAdapter()
			{
				public void windowClosing(WindowEvent e)
				{
					//将窗体隐藏
					SmallBrowser.this.hide();
				}
			});
		//设置窗体标题、大小位置以及可见性
		//this.add($jpanel); 
		Container $Container = this.getContentPane(); 
		$Container.add($SWTPane,BorderLayout.CENTER); 
		
		//$jpanel.add($Container); 
		//this.add($jpanel);
		this.setTitle("jplogic迷你浏览器"); 
		this.setExtendedState(JFrame.MAXIMIZED_BOTH); 
		//this.setBounds(100,100,200,100); 
		this.setVisible(true); 
	}
	public void actionPerformed(ActionEvent e)
	{
		if(e.getSource()==item[0])
		{//点击警告消息菜单项执行的动作
			//弹出警告消息提示框
			trayIcon.displayMessage("警告","这是警告消息",TrayIcon.MessageType.WARNING);
		}
		else if(e.getSource()==item[1])
		{//点击信息消息菜单项执行的动作
			//弹出信息消息提示框
			trayIcon.displayMessage("信息","这是信息消息",TrayIcon.MessageType.INFO);
		}
		else if(e.getSource()==item[2])
		{//点击错误消息菜单项执行的动作
			//弹出错误消息提示框
			trayIcon.displayMessage("错误","这是错误消息",TrayIcon.MessageType.ERROR);
		}
		else if(e.getSource()==item[3])
		{//点击退出程序菜单项执行的动作
			//结束程序安全退出
			System.exit(0);
		}
		else if(e.getSource()==item[4])
		{
			//显示窗口
			this.show(true);
			//System.exit(0);
		}
		else if(e.getSource()==item[5])
		{
			//重新访问
			this.show(true);
			//System.exit(0);
		}
		else if(e.getSource()==trayIcon)
		{//双击托盘图标执行的代码
			//将窗体按原来的方式显示出来
			this.show(true);
		}
	}
	public static void main(String args[])
	{
		new SmallBrowser();
	}
}
package mini_browser;

import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Panel;
//import javax.swing.JFrame;

import org.eclipse.swt.SWT;
import org.eclipse.swt.awt.SWT_AWT;
import org.eclipse.swt.browser.Browser;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;

public class SWTPane extends Panel 
{
	private static final long serialVersionUID = 1L;
	DisplayThread displayThread; 
	private Canvas canvas;
	 
	public SWTPane() 
	{
		displayThread=new DisplayThread();
		displayThread.start();
		canvas = new Canvas();
		setLayout( new BorderLayout() );
		add( canvas, BorderLayout.CENTER );
	}
	 
	public void addNotify() 
	{
		super.addNotify();
		Display dis=displayThread.getDisplay();
		dis.syncExec
		(
			new Runnable() 
			{
				public void run() 
				{
					Shell shell = SWT_AWT.new_Shell(displayThread.getDisplay(),canvas);
					shell.setLayout( new FillLayout());
					final Browser browser = new Browser(shell, SWT.NONE);
					browser.setLayoutData(BorderLayout.CENTER);
					browser.setUrl("http://localhost:8080/jplogic");
				}
			} 
		);
	}
	 
}


分享到:
评论

相关推荐

    迷你浏览器

    迷你浏览器是一种专为初学者设计的轻量级网络浏览工具,它的主要特点是体积小巧、操作简单,适合那些对计算机操作不熟悉的用户。这款浏览器旨在提供一个直观且易于理解的界面,让用户能够快速上手,享受互联网浏览的...

    Android迷你浏览器

    **Android迷你浏览器** 在移动设备上,Android操作系统以其开放性和灵活性深受开发者喜爱。"Android迷你浏览器"是一个基于Android系统的轻量级应用,它利用了Android SDK中的WebView组件来提供网页浏览功能。...

    迷你IE浏览器

    迷你IE浏览器是一款小巧而实用的网络浏览工具,它主要针对那些希望在有限的资源环境下或者进行特定网页设计测试时使用...此外,META-INF文件夹的存在表明该浏览器可能遵循Java应用的规范,确保软件的安全性和可验证性。

    Java反编译工具

    2. **界面友好**:作为迷你版,它可能拥有简洁明了的用户界面,方便用户快速上手和操作。 3. **代码质量**:好的反编译工具能够尽可能地恢复原始源代码的结构和语法,使得生成的代码易于阅读和理解。 4. **高效...

    java-web-plops:迷你框架MVC Java Web

    【标题】"java-web-plops:迷你框架MVC Java Web" 涉及的是一个小型的、基于Java的Web应用程序框架,它集成了MVC(Model-View-Controller)设计模式,以帮助开发者更高效地构建Web应用。MVC模式是软件工程中的一种...

    java应用软件程序设计

    125 实例45 选择字体 126 实例46 UDP与TCP/IP的简单应用 129 实例47 聊天室 131 实例48 浏览FTP 136 实例49 局域网广播 147 实例50 建立HTTP连接 151 实例51 迷你浏览器 152 实例52 扫描...

    迷你版的Tomcat,socket原理

    迷你版的Tomcat是一个小型化的Java Web服务器,它实现了HTTP服务器的基本功能,允许开发者在本地环境中部署和运行简单的Web应用程序。这个项目的核心是基于Socket编程,通过Java的Socket类来处理客户端的请求并发送...

    jquery (mini java)

    **jQuery(迷你Java)——强大的Web开发工具** jQuery是一个轻量级、高性能的JavaScript库,被誉为“迷你版的Java”,因为它简化了JavaScript编程,让Web开发者可以更高效地处理HTML文档对象模型(DOM)、事件处理...

    h_JAVA 2应用编程150例.rar

    实例51 迷你浏览器 152 实例52 扫描应用端口 154 实例53 监控HTTP 155 实例54 收发电子邮件 156 实例55 一个简单的代理服务器 164 实例56 扫描网站信息 173 实例57 远程方法调用 174 实例58 调用JINI方法 176 第5...

    迷你留言薄 v1.0

    6. **兼容性**:作为一款适用于不同环境的应用,它应该能在多种操作系统和浏览器上正常运行,确保广泛的适用性。 7. **技术栈**:炯华工作室可能会选用常见的Web开发技术,如HTML、CSS和JavaScript构建前端,后端...

    青鸟JSP毕业项目1

    它结合了HTML和Java代码,使得开发者可以在服务器端处理数据,并将结果显示在客户端的浏览器上。 在青鸟JSP毕业项目中,学生通常会学习到以下关键知识点: 1. **JSP基本语法**:包括声明、脚本元素、表达式、指令...

    CSC611M-Basic-Web-Browser:用 Java 实现的基本 Web 浏览器

    CSC611M-Basic-Web-Browser 用 Java 实现的基本 Web 浏览器关于由 Kyle DELA CRUZ、Kristine KALAW、Kevin RIVERA 和 Darren SAPALO 编写的 CSC611M (ADVANOS) 课程 AY2014-2015,第 2 学期的迷你练习

    迷你天猫商城是一个基于SSM框架的综合性B2C电商平台

    迷你天猫商城是一个基于SSM框架的综合性B2C电商平台,需求设计主要参考天猫商城的购物流程:用户从注册开始,到完成登录,浏览商品,加入购物车,进行下单,确认收货,评价等一系列操作。 作为模拟天猫商城系统的...

    Spark生成GitHubStars趋势迷你图

    Spark是一个快速、通用且可扩展的大数据处理框架,它主要用Java、Scala和Python等语言编写,但在这个场景中,Spark并不直接用于生成GitHub Stars趋势图。而是,我们可能使用Spark来处理和分析GitHub上的星标(Stars...

    Java版QQ签到源码-GcExcel-Java:用于Java的高速Excel电子表格API

    您可以使用多种功能,例如导入电子表格、计算数据、查询、生成和导出任何电子表格、添加排序、过滤、格式设置、条件格式设置和数据验证、分组、迷你图、图表、形状、图片、切片器、注释、超链接、主题等。...

    java外卖系统源码-js13k-minipunk:js13k-迷你朋克

    java外卖系统源码迷你朋克 2020 js13kGames 竞赛的简短 3D 动作游戏。 邪恶的 404 Megacorp 威胁要接管互联网。 你必须阻止他们! 在这里播放: 控制:WASD - 移动 左键单击 - 攻击 右键单击​​ - 缩放空格键 - ...

    kotlin-web-demo,Kotlin的在线迷你IDE.zip

    1.1 Kotlin简介:Kotlin是由JetBrains公司开发的一种现代静态类型的编程语言,兼容Java虚拟机(JVM)和JavaScript,同时也能编译成原生代码。Kotlin以其简洁、安全和面向表达式的特点,深受开发者喜爱。 1.2 Kotlin...

    《JavaScript 语言精髓与编程实践》迷你书.pdf

    它是由Netscape公司的Brendan Eich在1995年发明的,最初被命名为Mocha,后来改为LiveScript,最终在发布时为了搭上Java的热潮,被命名为JavaScript,但这与Sun Microsystems的Java语言并无直接关系。 《JavaScript ...

Global site tag (gtag.js) - Google Analytics