电玩城打鱼捕鱼-专业24小时上下分

电玩城打鱼捕鱼右键菜单改造,Linux相关知识简单介绍

六月 10th, 2019  |  电玩城捕鱼系统简介

虽然说 Google 官方已经给Google
Desktop一个比较详尽的使用指南,但我还是觉得有必要重复一下,并说说它的优缺点。

下载本文源代码
提要:本文将以具体的实例向你展示Java SE
6在桌面开发中所提供的一系列优秀特征.
一、 引言
随着Java SE 6
Beta的发行,Java开发者再也不需要自己去实现Java本机接口(JNI)便可以在其应用程序中加入桌面产品所具有的特征.这些桌面集成特征现在已成为内核的一个组成部分.
最新的Java标准版本6.0(代码名为Mustang)将在功能上进行一系列的改进–开发者们能够方便地用Java处理安全,JMX,操作系统文件,国际化和桌面开发等一系列问题.Sun在开发这个版本的过程中表现出非常积极的合作态度.他们通过JSR
270仔细地倾听开发者的意见并且在2006年2月早些时候就发行了所有的Java
SE源码和二进制代码.看来,Sun正在倾力打造全新的桌面开发工具.
相对于以前的Java版本,Mustang的桌面集成能力特别受Java开发者欢迎.这些新特征把很多有趣的功能加入到Java桌面应用程序的开发中.以前,开发例如Internet
Explorer,系统托盘和邮件客户端等Java时,开发者必须在创建如Jtray和SysTray等Java本机接口(JNI)方面大伤脑筋.尽管这种”补丁”方案能够实现既定目的,但是绝大部分的Java开发者都非常盼望这些特征成为核心Java平台的一部分.
本文将详细分析一个示例应用程序GoMustang的创建过程.从中,我将向你展示如何使用Java
SE
6在应用程序启动时显示一个Splash屏幕,怎样创建系统托盘,以及怎样从Java内部启动本机桌面互联网浏览器.
注意,为调试本文中的示例程序,你需要安装:Java Standard Edition 6
Beta和Apache Ant 1.6.5.
二、 开发环境
(一) 准备Java SE 6 Beta
首先,你要从Sun的Java站点下载Java SE 6
Beta.因为Sun已经确定将在2006年的秋天正式发行Java SE 6,而且据JSR
270专家组的建议其中的一些特征还将会作适当的改变;因此,目前在你的桌面开发中试用Mustang正是时候.
估计,最终本文中所描述的特征不会出现多大变化;所以你可以放心使用JDK,JRE等的最新下载版本.
首先,请确保你的桌面平台被支持.我在Windows
XP上开发和测试了本文的示例应用程序,且毫无问题.
其次,还要确保你的计算机的Windows系统属性中的环境变量指向Java SE 6.0
JDK.我把JAVA_HOME环境变量设置为JAVA_HOME=C:\Program
Files\Java\jdk1.6.0.
一旦安装完成,你应该立即检查Java
JRE的版本.如果一切顺利,应该显示类似下面的一条消息:
C:\java\mustang> java -version
java version “1.6.0-beta”
Java(TM) 2 Runtime Environment, Standard Edition (build
1.6.0-beta-b59g)
Java HotSpot(TM) Client VM (build 1.6.0-beta-b59g,mixed mode,sharing)
(二) 准备Ant
在本文中,你将使用Apache
Ant来构建示例应用程序.因此,如果你还没有这个工具,你可以从Apache网站下载并把它安装到你的计算机上.
然后,你可以使用Ant属性来检查Ant
Java版本.下列的例子显示了一个不正确的Java版本:
${ant.java.version}
这是因为Ant内置的ant.java.version系统属性被设计仅拥有1.1,1.2,1.3,1.4和1.5这几个值.估计,Ant开发小组可能很快就会更新这个属性以包含1.6;但是,当你想自己实现这一点时要特别小心.
为了慎重起见,你可以使用-debug参数来运行Ant.如果显示如下内容,则说明Ant实际上在使用一个1.6版本的JRE:
>>
Detected Java version: 1.5 in: C:\Program Files\Java\jdk1.6.0\jre
<<
(三) 安装你的开发环境
接下来,安装你的开发环境.为此,最简单的方法是下载本文相应的源码并解压.如果你把ZIP文件解压到你的C:\路径下,那么你会看到如下结构的文件和目录:
c:\mustang\
|_build.xml
+_src
后面,你将使用Ant构建文件build.xml来实现复制,编译,构建,打包和运行GoMustang示例应用程序.该文件包含下列几个关键的Ant目标:
[init]
[clean]
[compile]
[dist]
[run]
这里,[init]目标负责建立文件夹结构并且把文件拷贝到build文件夹;[compile]实现编译,而[dist]通过使用一个Manifest文件来创建一个JAR(后面将详细讨论).[run]目标负责启动你的应用程序,而[clean]将帮助你首先删除所有的由Ant任务所创建的文件和目录,然后从一个完全干净的环境开始下面的任务.
src目录包含3个文件:一个GoMustang.java(源码文件)和两个GIF文件(gomustang-splash.gif用作Splash屏幕,gomustang.gif用作系统托盘中的图标).
现在,你已经打好了基础.下面,我们开始创建你的应用程序的Splash屏幕.
三、 Splash屏幕
对基于桌面的应用程序来说,Splash屏幕一直在应用程序的启动过程中起着关键作用.一个醒目的Splash屏幕能使用户热切地盼望应用程序的启动–通过显示行销广告,特定的法律条文,专业图象,等等.同时,它还提供给应用程序一定的时间周期以装载要求的库文件.
在Java应用程序开发中,实现Splash屏幕一直是一种挑战性编程,因为在JVM启动和所有要求的JRE和应用程序库被装载前程序无法取得控制权.而等到一个Java应用程序得到控制线程的机会时,显示一个Splash屏幕已经太晚了.
Java SE
6甚至允许一个应用程序在JVM启动前就可以显示一个Splash屏幕.这项功能被构建于Java应用程序启动器中–由它负责在一个未经修饰的窗口中显示一幅图像.它允许使用GIF,PNG或JPEG图象,可以是透明性或半透明的,并且可以存在动画效果.而且,Java
SE
6发行中还带有一个SplashScreen类–它允许一旦应用程序控制线程,该程序就可以操作Splash屏幕.
你可以用下面两种方式之一来启动一个Splash屏幕:

你是否遇到 Ubuntu 上
gnome
右键打开方式里乱杂的程序名而烦恼?你是否遇到过卸载的后程序竟在右键打开方式里发现的问题?

  1. 安装
    Google Desktop for Linux
    的安装非常方便,到这里下载(
    Desktop的安装源,进行网络安装。

  2. 使用
    Google说,安装完Google
    Desktop之后,就会在Gnome的“应用程序”菜单中找到Google
    Desktop的菜单项,不过我没有看见(可能是因为我开了beryl的原因)。不管,reboot一下。
    重启后,Google Desktop随系统自动启动,启动后跳出对话框:

  1. 在一个JAR的Manifest文件中指定一个具体的SplashScreen-Image属性;
  2. 使用一个命令行-splash参数.
    (一) 使用JAR的Manifest属性
    本文下载源码中的JAR文件包含了一个gomustang-splash.gif文件(此文件在应用程序启动时显示一个Splash屏幕)和编译类文件GoMustang.class.这个JAR文件的Manifest包含定义main()方法的类的名字和SplashScreen-Image属性(它指向gomustang-splash.gif文件).
    下面的列表展示了Ant build.xml
    JAR任务的内容–其中指定了main-class和SplashScreen-Image属性:

    <jar jarfile=”${dist}/GoMustang.jar” basedir=”${build}”>
    <manifest>
    <attribute name=”Main-Class” value=”GoMustang”/>
    <attribute name=”SplashScreen-Image”
    value=”gomustang-splash.gif”/>
    </manifest>
    </jar>

    为了看清Splash屏幕的真正运行,你可以通过在命令提示符上输入ant
    run来执行build.xml的[run]目标.因该程序很小,所以Java应用程序会在人眼能看见它之前完成打开和关闭操作.为此,你可以使用暂停3秒的编码小技巧.
    一旦运行run目标,Ant应该会输出如图1所示的控制台跟踪信息,然后暂停3秒,此间用户会看到Splash屏幕中的gomustang-splash.gif图片.
    图1.Ant暂停
    3秒后,Ant脚本完成应用程序的创建,见图2.
    图2.Ant脚本完成系统托盘的创建
    一个图标将在系统托盘中被创建,由图3所示.
    图3.GoMustang图标
    (二) 使用命令行-splash参数
    显示一个splash屏幕的第二种方法是,使用-splash命令行参数传递splash屏幕文件名,如下所示
    C:\mustang\build> java -splash:gomustang-splash.gif GoMustang
    注意,为了使该命令正常运行,你需要从c:\mustang\build目录(编译class文件和splash屏幕GIF文件所在的位置)下使用Java的命令行方式.这些文件都是由Ant中的build.xml文件中的任务所创建.
    一旦应用程序获得一个线程的存取权限,你就可以使用java.awt.SplashScreen类通过编程存取Splash屏幕.这是一个singleton类,它提供专门的函数来改变Splash屏幕图像,检索Splash屏幕的大小和界限,操作有关图形对象,并最后关闭Splash屏幕.
    四、 GoMustang.java文件
    在继续之前,你应该先熟悉一下GoMustang.java文件.这个文件定义一个单个的Java类GoMustang,并且包含下列两个关键函数:
    . main
    . createTrayIcon()
    你可能已经猜出,main是主要的入口点-你可以存取java.awt.SplashScreen
    Java类以操作Splash屏幕.在GoMustang应用程序中,你可以使它暂停几秒,然后通过调用splashScreen.close()来关闭Splash屏幕.然而,你可以在关闭它之前来操作该Splash屏幕.
    createTrayIcon()类是这两个函数中更为令人激动的.它负责实现所有的有趣的工作来安装应用程序.这又涉及到我们将要讨论的另一个主题:系统托盘图标.
    五、 系统托盘图标
    系统托盘位于Windows的任务状态区或位于Gnome的通知区.它是在一个操作系统的桌面UI的角落的一个很小的区域,能提供到当前运行的应用程序的可视化和直接的存取.本文所提供的Windows平台上的GoMustang应用程序能够实现当右击系统托盘图标时产生一个弹出菜单(见图4).
    图4.在系统托盘上的GoMustang的弹出菜单
    该GoMustang应用程序SystemTray有一个弹出菜单.菜单有两个菜单项:”Exit”和”Launch
    Browser”.”Exit”负责退出应用程序,而”Launch
    Browser”负责打开默认的互联网浏览器并使其指向
    在过去,创建能够灵活控制操作系统的桌面系统托盘的Java应用程序需要不是Java核心部分的库的支持.为此,产生了JDIC(Java桌面集成组件),而且Sun决定把JDIC的一些组件作为Java
    SE
    6的一部分一同发行.相关的类java.awt.SystemTray和java.awt.Desktop描述了这些关键组件.其中,Java.awt.SystemTray描述操作系统的任务状态区或通知区.
    显示在系统托盘中的图标是由java.awt.TrayIcon描述的.TrayIcon不仅描述图像而且还描述接收事件的实际对象,并负责显示提示信息,添加弹出菜单项,显示消息,等等.你可以通过displayMessage(String)和setToolTip(String)函数来设置TrayIcon上的消息和提示信息.TrayIcon还能把ActionEvents转发到经由Trayicon的addActionListener(ActionListener)函数注册的ActionListener.弹出菜单是由java.awt.PopupMenu描述的,而且你可以通过addPopupMenu(PopupMenu)函数把它们添加到TrayIcon.
    下面,让我们剖析一下GoMustang
    Java类的createTrayIcon()函数.正如在列表1(见所附源码)中的GoMustang代码的详细注释所表明的:首先,你要调用SystemTray.isSupported()函数来检查是否操作系统支持最小SystemTray功能;如果支持的话,这个函数应该返回true.
    一旦程序知道操作系统支持系统托盘功能,它就创建Exit和Launch
    Browser菜单项,而且把这些菜单项加到弹出菜单中.当用户右击系统托盘的图标时,这个菜单就会弹出.ActionListeners函数被加到Exit和Launch
    Browser菜单项上.当用户选择这些菜单项时,actionPerformed(ActionEvent)将给程序一个机会执行某种动作.这对于Exit菜单项来说是通过执行System.exit(0)命令而退出应用程序;而对于Launch
    Browser菜单项来说是通过指向
    然后,应用程序创建一个弹出菜单对象并且把Exit和Launch
    Browser菜单项添加到弹出菜单.下一步是用一个奔马图像创建托盘图标.你可以使用getClass().getResourceAsStream(file
    name)函数存取本文下载源码中的gomustang.gif文件并把它加载到一个图像对象中.然后,托盘图标对象就可以与弹出菜单一同创建;Action和鼠标听取器也被关联到托盘图标上–对于本文例程来说,只显示一条消息.托盘图标最后被添加到系统托盘上.系统托盘是一个singleton对象,它可以通过SystemTray对象的getSystemTray()函数加以检索.在系统托盘上创建托盘图标的完整过程就是这样.
    现在,让我们更详细地看一下”Launch
    Browser”菜单项是如何启动浏览器的.你可以分析相应于”Launch
    Browser”菜单项的函数actionPerformed(ActionEvent)”来查看如何使用桌面对象.请参考下面代码(列表2的一部分):

    MenuItem launchBrowserItem = new MenuItem(“Launch Browser”);
    ActionListener launchListener = new ActionListener() {
    public void actionPerformed(ActionEvent e) {
    if (Desktop.isDesktopSupported()) {
    actionMessage = “Launched Browser”;
    try{
    trayIcon.displayMessage(“GoMustang!”,
    “Launching Browser…”, TrayIcon.MessageType.INFO);
    Desktop desktop = Desktop.getDesktop();
    desktop.browse(new URI(“
    trayIcon.setToolTip(“GoMustang!”);
    }
    catch(Exception exp){…}
    }
    }
    };
    launchBrowserItem.addActionListener(launchListener);

    在列表2(见所附源码)中最让我们感兴趣的关键对象是java.awt.Desktop类.这个Desktop类,如我们早些时候所提及的,来自JDIC.该Desktop类负责定位和运行操作系统特定的桌面应用程序.默认的因特网浏览器应用程序映射是Mozilla的FireFox;因此,在显示消息”Launching
    Browser…”以后,desktop.browse(URI)函数将打开一个指向
    六、 小结
    对于Java在桌面控制方面的开发来说,真正有趣的事情刚刚开始.我们真诚期盼在Java以后的发行版本中加入更多的桌面控制功能.

其实,这个问题可以解决。 Debian与Ubuntu
父与子的对比哲学

电玩城打鱼捕鱼 1

方法一:直接在Ubuntu终端输入命令alacarte。可以任意增、改、隐藏、显示菜单,但无法删除菜单,即使拥有root权限。

我相信Google的隐私策略,也想支持一下Google
Desktop的发展,所以就选择启用高级功能了。这时,系统托盘里面已经有了Google
Desktop的图标,连续两次按下Ctrl,就可以调出Google Desktop的搜索框了。

方法二:注意几个目录和文件。

电玩城打鱼捕鱼 2

/usr/share/applications/下的desktop文件
/usr/share/applications/mimeinfo.cache文件
~/.local/share/applications下的desktop文件
~/.local/share/applications/default.list目录下的文件
~/.local/share/applications/mimeinfo.cache文件
/etc/gnome/defaults.list文件

这时,系统菜单里面也有了Google Desktop的菜单项。

其中default.list文件保存的是文件的打开方式,比如txt文档用什么程序打开之类。自然/etc下的是全局的文件打开方式,.local下的是个人的文件打开方式。

标签:

Your Comments

近期评论

    功能


    网站地图xml地图