包含javasplash的词条

博主:adminadmin 2023-01-02 00:03:10 879

本篇文章给大家谈谈javasplash,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

Java很神奇 用swing制作欢迎屏幕

几乎所有时髦的应用都有一个欢迎屏幕 欢迎屏幕既是宣传产品的方法之一 而且在长时间的应用启动过程中 欢迎屏幕还用来表示应用正在准备过程中 现在教你怎么用java中的swing技术制作一个时髦的欢迎屏幕

下面是一个最简单的欢迎屏幕实现

Java代码

class SplashWindow extends JWindow

{

public SplashWindow (String filename Frame f)

{

super(f);

JLabel l = new JLabel(new ImageIcon(filename));

getContentPane() add(l BorderLayout CENTER);

pack();

Dimension screenSize =

Toolkit getDefaultToolkit() getScreenSize();

Dimension labelSize = l getPreferredSize();

setLocation(screenSize width/ (labelSize width/ )

screenSize height/ (labelSize height/ ));

setVisible(true);

screenSize = null;

labelSize = null;

}

}

SplashWindow 类从Swing的JWindow派生 JWindow是一个容器 它没有其他窗口所具有的各种窗口元素 如标题条 窗口管理按钮 甚至连突出显示的边框也没有 因此 JWindow对于制作欢迎屏幕来说是非常合适的 上面的代码假定图形文件在当前目录 图形通过ImageIcon装入内存 然后它就被放到了JWindow的中心 接着 窗口被pack() 这使得Swing把窗口调整到适当的大小 最后窗口被移到了屏幕的中心

如果我们运行上面的程序 可以发现虽然欢迎画面确实出现在屏幕中央 但遗憾的 它却不会关闭!要关闭欢迎画面 我们需要加入更多的代码 Java代码

class SplashWindow extends JWindow

{

public SplashWindow (String filename Frame f)

{

super(f);

JLabel l = new JLabel(new ImageIcon(filename));

getContentPane() add(l BorderLayout CENTER);

pack();

Dimension screenSize =

Toolkit getDefaultToolkit() getScreenSize();

Dimension labelSize = l getPreferredSize();

setLocation(screenSize width/ (labelSize width/ )

screenSize height/ (labelSize height/ ));

addMouseListener(new MouseAdapter()

{

public void mousePressed(MouseEvent e)

{

setVisible(false);

dispose();

}

});

setVisible(true);

}

}

和原先的SplashWindow 类相比 这个SplashWindow 类唯一的区别在于多出了一个安装到JWindow上的匿名MouseListener 经过这个改动之后 用户可以点击欢迎屏幕关闭它

现在我们有了一个很不错的欢迎屏幕 它可以通过点击的方法关闭 但它不会自己消失 接下来我们要加入代码 使得欢迎屏幕在显示一定的时间之后自动消失 这里我们要考虑到运用线程

Java代码

class SplashWindow extends JWindow

{

public SplashWindow (String filename Frame f int waitTime)

{

super(f);

JLabel l = new JLabel(new ImageIcon(filename));

getContentPane() add(l BorderLayout CENTER);

pack();

Dimension screenSize =

Toolkit getDefaultToolkit() getScreenSize();

Dimension labelSize = l getPreferredSize();

setLocation(screenSize width/ (labelSize width/ )

screenSize height/ (labelSize height/ ));

addMouseListener(new MouseAdapter()

{

public void mousePressed(MouseEvent e)

{

setVisible(false);

dispose();

}

});

final int pause = waitTime;

final Runnable closerRunner = new Runnable()

{

public void run()

{

setVisible(false);

dispose();

}

};

Runnable waitRunner = new Runnable()

{

public void run()

{

try

{

Thread sleep(pause);

SwingUtilities invokeAndWait(closerRunner);

}

catch(Exception e)

{

e printStackTrace();

// 能够捕获InvocationTargetException

// 能够捕获InterruptedException

}

}

};

setVisible(true);

Thread splashThread = new Thread(waitRunner SplashThread );

splashThread start();

}

}

这里的基本思路是利用一个在一定时间内暂停等待的Thread对象 在上面的代码中 线程的暂停时间是 秒 当这个线程唤醒时 它将关闭欢迎屏幕 由于Swing是非线程安全的 除非代码在事件分派线程上执行 否则它就不应该影响任何UI组件的状态 所谓事件分派线程 就是Swing中负责绘图和事件处理的线程

为了解决这个问题 Swing设计者赋予我们安全地把Runnable对象加入UI事件队列的能力 在本例中 我们用可运行对象closerRunner完成最关键的工作 我们把可运行对象传入SwingUtilities invokeAndWait()静态方法 然后wingUtilities invokeAndWait()进行所有未完成的UI操作 并执行传递给该方法的可运行对象closerRunner的run方法 通过运用一个独立的线程负责欢迎屏幕的关闭操作 应用担负起了显示和关闭欢迎屏幕之间的所有操作

如果要让欢迎屏幕总是显示且用户不能关闭它 你必须删除那些隐藏欢迎屏幕的代码 如果要让欢迎屏幕只能由用户手工关闭 你可以象使用任何其他JWindow对象一样调用SplashWindow 对象上的setVisible(false)和dispose()方法

lishixinzhi/Article/program/Java/hx/201311/26872

java SplashScreen类问题

可以使用jdk6.0中的 -splash选项直接指定一副图片作为闪屏,格式为:java -splash:splash图片文件的路径 Mainclass文件

如果要交互可以参考

请详细写出Javac和Java两个命令的使用方式

javaac和java两个命令的使用详解:

一、javac命令

javac 用于编译Java文件,格式为:

java [options] [sourcefiles] [@files]

其中:

options:命令行选项;

sourcefiles:一个或多个要编译的源文件;

@files:一个或多个对源文件进行列表的文件,有时候要编译的文件很多,一个个敲命令会显得很长,也不方便修改,可以把要编译的源文件列在文件中,在文件名前加@,这样就可以对多个文件进行编译,对编译一个工程很有用,方便,省事。

有几个比较重要的选项:

-d 用于指定编译成的class文件的存放位置,缺省情况下不指定class文件的存放目录,编译的class文件将和源文件在同一目录下;

-classpath 可以简写成-cp,用于搜索编译所需的class文件,指出编译所用到的class文件的位置,如jar、zip或者其他包含class文件的目录,指定该选项会覆盖CLASSPATH的设定;

-sourcepath用于搜索编译所需的源文件(即java文件),指定要搜索的源文件的位置,如jar、zip或其他包含java文件的目录;

需要注意windows下和linux下文件路径分隔符和文件列表(即-classpath和-sourcepath指定的文件)分隔符的区别:

windows下文件路径分隔符用 \ ,文件列表分隔符用分号 ;

linux下文件路径分隔符用 / ,文件列表分隔符用冒号 :

二、java命令

java 用于执行程序,格式如下:

java [options] classfile

options:命令行选项,一般用于 -classpath 指定要执行的文件所在的位置以及需要用到的类路径,包括jar、zip和class文件目录,会覆盖CLASSPATH的设定

三、脚本

如果要敲的命令很长,每次要编译运行的时候都要重新敲一遍,这是一件很痛苦的事情,所以用脚本可以大大方便你的工作量。在linux下用shell脚本,windows下用bat批处理程序。因为是在linux下,我这里只是简单介绍一下shell,关于bat批处理程序的语法自己百度一下,不难。

1. 开头

linux有很多不同的shell,通常使用bash(bourne again shell),程序必须以下面的行开始:

#!/bin/sh

#!用来告诉系统用后面的参数来执行程序,这里使用的是/bin/sh

要使你的脚本能够执行,还必须让这个文件有可执行权限,使用下面命令更改文件权限:

chmod +x filename

2. 注释

以#开始的句子表示注释,一直到这行结束,多写注释有利于以后重新看的时候知道自己在做什么

Java程序读取一张图片报空指针错误

不要用Panel.class.getResource()这种方式,直接Toolkit.getDefaultToolkit().getImage("文件路径")就可以了。

Panel.class.getResource()是用来读取类路径下文件的,比如splash.gif放在Mypaint的包下,可以用Mypaint.class.getResource(“splash.gif”)方式来获取。

怎么检验java是否安装成功

xp下:开始——运行——cmd 确定——java 回车——C:\Documents and Settings\Administratorjava

Usage: java [-options] class [args...]

(to execute a class)

or java [-options] -jar jarfile [args...]

(to execute a jar file)

where options include:

-client to select the "client" VM

-server to select the "server" VM

-hotspot is a synonym for the "client" VM [deprecated]

The default VM is client.

-cp class search path of directories and zip/jar files

-classpath class search path of directories and zip/jar fil

A ; separated list of directories, JAR archive

and ZIP archives to search for class files.

-Dname=value

set a system property

-verbose[:class|gc|jni]

enable verbose output

-version print product version and exit

-version:value

require the specified version to run

-showversion print product version and continue

-jre-restrict-search | -jre-no-restrict-search

include/exclude user private JREs in the versi

-? -help print this help message

-X print help on non-standard options

-ea[:packagename...|:classname]

-enableassertions[:packagename...|:classname]

enable assertions

-da[:packagename...|:classname]

-disableassertions[:packagename...|:classname]

disable assertions

-esa | -enablesystemassertions

enable system assertions

-dsa | -disablesystemassertions

disable system assertions

-agentlib:libname[=options]

load native agent library libname, e.g. -age

see also, -agentlib:jdwp=help and -agentlib:

-agentpath:pathname[=options]

load native agent library by full pathname

-javaagent:jarpath[=options]

load Java programming language agent, see java

-splash:imagepath

show splash screen with specified image

javac 回车——C:\Documents and Settings\Administratorjavac

用法:javac 选项 源文件

其中,可能的选项包括:

-g 生成所有调试信息

-g:none 不生成任何调试信息

-g:{lines,vars,source} 只生成某些调试信息

-nowarn 不生成任何警告

-verbose 输出有关编译器正在执行的操作的消息

-deprecation 输出使用已过时的 API 的源位置

-classpath 路径 指定查找用户类文件和注释处理程序的

-cp 路径 指定查找用户类文件和注释处理程序的

-sourcepath 路径 指定查找输入源文件的位置

-bootclasspath 路径 覆盖引导类文件的位置

-extdirs 目录 覆盖安装的扩展目录的位置

-endorseddirs 目录 覆盖签名的标准路径的位置

-proc:{none,only} 控制是否执行注释处理和/或编译。

-processor class1[,class2,class3...]要运行的注释处理程序

的搜索进程

-processorpath 路径 指定查找注释处理程序的位置

-d 目录 指定存放生成的类文件的位置

-s 目录 指定存放生成的源文件的位置

-implicit:{none,class} 指定是否为隐式引用文件生成类文件

-encoding 编码 指定源文件使用的字符编码

-source 版本 提供与指定版本的源兼容性

-target 版本 生成特定 VM 版本的类文件

-version 版本信息

-help 输出标准选项的提要

-Akey[=value] 传递给注释处理程序的选项

-X 输出非标准选项的提要

-J标志 直接将 标志 传递给运行时系统

如果是这样的结果,说明你的Jdk安装成功了。大部分不成功的原因在于环境变量的配置不正确,所以一定要仔细设置环境变量的值。

没有更改路径安装的JDK,设置环境变量的值是这样的:

ClassPath .;C:\Program Files\Java\jdk1.6.0_24\lib\toos.jar;C:\Program Files\Java\jdk1.6.0_24\lib\dt.jar;C:\Program Files\Java\jdk1.6.0_24\bin

Path C:\Program Files\Java\jdk1.6.0_24\bin;

java如何打包

建议使用ANT打包工具,下载地址:

此工具用java编写,跨平台,能实现很多功能:编译、打包、运行、文件操作、数据库操作、自定义任务等。

主要使用方法:在工程目录下编写build.xml配置文件,然后运行ant即可:

#ant

#java -jar ant.jar

下面给你提供一个例子,是jakarta-oro-2.0.8的包的build.xml

?xml version="1.0"?

project default="jar"

!-- Allow properties following these statements to be overridden --

!-- Note that all of these don't have to exist. They've just been defined

incase they are used. --

property file="build.properties"/

!--

property file=".ant.properties"/

property file="${user.home}/.ant.properties"/

property file="default.properties"/

--

!-- prepare target. Creates build directories. --

target name="splash"

splash imageurl="./ant_logo_medium.gif"/

/target

target name="prepare" depends="splash" description="Creates build directories."

tstamp

format property="DATE" pattern="yyyy-MM-dd hh:mm:ss" /

/tstamp

mkdir dir="${build.dest}"/

mkdir dir="${build.dest}/META-INF"/

copy todir="${build.dest}/META-INF"

fileset dir="${top.dir}"

include name="LICENSE"/

/fileset

/copy

mkdir dir="${build.tests}"/

available file="${jakarta-site2.dir}/lib" type="dir"

property="AnakiaTask.present"/

/target

target name="prepare-error" depends="prepare"

description="Prints error message for prepare target."

unless="AnakiaTask.present"

echo

AnakiaTask is not present! Please check to make sure that

velocity.jar is in your classpath.

/echo

/target

!-- lib target. Compiles the library classes only --

target name="lib" depends="prepare"

description="Compiles the library classes only."

javac srcdir="${build.src}"

destdir="${build.dest}"

excludes="examples/**,tools/**"

debug="${debug}"

deprecation="${deprecation}"

optimize="${optimize}"/

/target

!-- examples target. Compiles the example classes. --

target name="examples" depends="prepare,lib"

description="Compiles the example classes."

javac srcdir="${build.src}"

destdir="${build.dest}"

includes="examples/**"

debug="${debug}"

deprecation="${deprecation}"

optimize="${optimize}"/

/target

!-- tools target. Compiles the tool classes. --

target name="tools" depends="prepare,lib"

description="Compiles the tool classes."

javac srcdir="${build.src}"

destdir="${build.dest}"

includes="tools/**"

debug="${debug}"

deprecation="${deprecation}"

optimize="${optimize}"/

/target

!-- tests target. Compiles and runs the unit tests. --

target name="tests" depends="prepare,lib"

description="Compiles and runs the unit tests."

javac srcdir="${build.src}/tests"

destdir="${build.tests}"

debug="${debug}"

deprecation="${deprecation}"

optimize="${optimize}"/

/target

!-- jar target. Compiles the source directory and creates a .jar file --

target name="jar" depends="lib" description="Compiles the source directory and creates a .jar file."

jar jarfile="${top.dir}/${final.name}.jar"

basedir="${build.dest}"

includes="org/**,META-INF/**"

excludes="**/package.html,**/overview.html"

manifest

section name="org/apache/oro"

attribute name="Specification-Title"

value="Jakarta ORO" /

attribute name="Specification-Version"

value="${version}" /

attribute name="Specification-Vendor"

value="Apache Software Foundation" /

attribute name="Implementation-Title"

value="org.apache.oro" /

attribute name="Implementation-Version"

value="${version} ${DATE}" /

attribute name="Implementation-Vendor"

value="Apache Software Foundation" /

/section

/manifest

/jar

/target

!-- javadocs target. Creates the API documentation --

target name="javadocs" depends="prepare"

description="Creates the API documentation."

mkdir dir="${javadoc.destdir}"/

javadoc packagenames="org.apache.oro.io,org.apache.oro.text,org.apache.oro.text.regex,org.apache.oro.text.awk,org.apache.oro.text.perl,org.apache.oro.util"

sourcepath="${build.src}"

destdir="${javadoc.destdir}"

overview="${build.src}/org/apache/oro/overview.html"

author="true"

version="true"

windowtitle="${name} ${version} API"

doctitle="${name} ${version} API"

header="a href='' target=_topimg src='{@docroot}/../images/logoSmall.gif' alt='Jakarta ORO' width=48 height=47 align=center border=0 hspace=1 vspace=1/a"

bottom="Copyright © ${year} Apache Software Foundation. All Rights Reserved."

/javadoc

replace file="${javadoc.destdir}/overview-frame.html"

token="{@docroot}" value="."/

replace dir="${javadoc.destdir}" includes="**/*.html"

token="@version@" value="${version}"/

/target

!-- docs target. Creates project web pages and documentation. --

target name="docs" depends="prepare-error,lib,examples"

description="Creates the project web pages and documentation."

if="AnakiaTask.present"

taskdef name="anakia" classname="org.apache.velocity.anakia.AnakiaTask"

classpath

fileset dir="${jakarta-site2.dir}/lib"

include name="*.jar"/

/fileset

/classpath

/taskdef

anakia basedir="${docs.src}" destdir="${docs.dest}/"

extension=".html" style="./site.vsl"

projectFile="stylesheets/project.xml"

excludes="**/stylesheets/** manual/** empty.xml"

includes="**/*.xml"

lastModifiedCheck="true"

templatePath="${jakarta-site2.dir}/xdocs/stylesheets"

/anakia

copy todir="${docs.dest}/images" filtering="no"

fileset dir="${docs.src}/images"

include name="**/*.gif"/

include name="**/*.jpeg"/

include name="**/*.jpg"/

/fileset

/copy

mkdir dir="${docs.dest}/classes"/

mkdir dir="${docs.dest}/classes/examples"/

copy todir="${docs.dest}/classes/examples" filtering="no"

fileset dir="${build.dest}/examples"

include name="MatcherDemoApplet.class"/

/fileset

/copy

mkdir dir="${docs.dest}/classes/org"/

copy todir="${docs.dest}/classes/org" filtering="no"

fileset dir="${build.dest}/org"

include name="**/*.class"/

/fileset

/copy

/target

!-- package target --

target name="package" depends="jar,javadocs,docs"

description="Creates a distribution directory tree."

mkdir dir="${final.dir}"/

copy todir="${final.dir}/src"

fileset dir="${code.src}"/

/copy

!-- BEGIN_REMOVE_THIS --

!-- Remove this when there's a first draft of the manual. --

copy todir="${final.dir}/docs"

fileset dir="${docs.dest}"

exclude name="manual/**"/

/fileset

/copy

!-- END_REMOVE_THIS --

copy file="${top.dir}/build.xml" tofile="${final.dir}/build.xml"/

copy file="${top.dir}/build.properties"

tofile="${final.dir}/build.properties"/

copy file="${top.dir}/LICENSE" tofile="${final.dir}/LICENSE"/

copy file="${top.dir}/ISSUES" tofile="${final.dir}/ISSUES"/

copy file="${top.dir}/CHANGES" tofile="${final.dir}/CHANGES"/

copy file="${top.dir}/COMPILE" tofile="${final.dir}/COMPILE"/

copy file="${top.dir}/CONTRIBUTORS"

tofile="${final.dir}/CONTRIBUTORS"/

copy file="${top.dir}/README" tofile="${final.dir}/README"/

copy file="${top.dir}/STYLE" tofile="${final.dir}/STYLE"/

copy file="${top.dir}/TODO" tofile="${final.dir}/TODO"/

copy file="${top.dir}/${final.name}.jar" tofile="${final.dir}/${final.name}.jar"/

/target

!-- package-zip target. Packages the distribution with ZIP --

target name="package-zip" depends="package"

description="Packages the distribution as a zip file."

zip zipfile="${top.dir}/${final.name}.zip" basedir="${top.dir}/"

includes="**/${final.name}/**" excludes="**/.cvsignore"/

/target

!-- Packages the distribution with TAR-GZIP --

target name="package-tgz" depends="package"

description="Packages the distribution as a gzipped tar file."

tar tarfile="${top.dir}/${final.name}.tar"

basedir="${top.dir}" excludes="**/**"

tarfileset dir="${final.dir}/.."

include name="${final.name}/**"/

exclude name="**/.cvsignore"/

/tarfileset

/tar

gzip zipfile="${top.dir}/${project}-${version}.tar.gz" src="${top.dir}/${project}-${version}.tar"/

/target

!-- Packages the distribution with ZIP and TAG-GZIP --

target name="package-all" depends="package-zip, package-tgz"

/target

!-- Makes an attempt to clean up a little. --

target name="clean"

description="Removes generated artifacts from source tree."

delete dir="${build.dest}"/

delete dir="${javadoc.destdir}"/

delete dir="${final.dir}"/

delete file="${top.dir}/${final.name}.jar"/

delete file="${top.dir}/${final.name}.tar"/

delete file="${top.dir}/${final.name}.tar.gz"/

delete file="${top.dir}/${final.name}.zip"/

delete

fileset dir="${top.dir}" includes="velocity.log*"/

/delete

/target

/project

build.xml文件的编写可参见ant发行版中的使用文档

你也可以自己编写脚本打包,使用jdk发行版中的jar命令,例如:

#jar cmf myManifestFile myFile.jar *.class

注意还需要自己编写MANIFEST.MF文件配置包属性。具体可以参见javadoc

当然还可以使用集成开发环境提供的打包工具,如JBuilder提供打包工具,但这样程序的移植性不强,建议不要使用,就使用ant比较好。

关于javasplash和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。