轻量级的swing就可以实现,关于连接数据库的问题,是用JDBC来实现的,比如你采用MYSQL作为数据库,需要导入“mysql-connector-java-5126-binjar”到你的项目中,然后连接数据库, *** 作数据。具体实现你可以百度一下“java jdbc”就可以了
(PS:纯手打,望采纳)
我之前远标的老师讲过这个,总体思路是先打成jar再把jar打成exe。主要看13和23里的内容就可以了。
1.将项目打成jar:
11 要将项目打包成jar文件,方法很多,可以用Eclipse自带的打包工具Ant打包,也可以用Eclipse的Export生成jar。经过尝试后,我不推荐用Ant打包,因为要自己编写xml脚本语言,还要增加一些外部的jar,所以我打了好几次都没打成。
12 在这里介绍两种方法生成jar,第一种是用Eclpise的Export功能。在要打包的项目上击右键,选择Export,在窗口中选择Java里的JAR file。Next后的窗口中已经自动选好了要打包的项目,用户可以点击加号查看项目里被打包的内容。在下面的JAR file里设置你打包生成jar文件的输出目录,下一步在出现的窗口中选择Use existing manifest from workspace,在下面的Main class后面直接点Browse,它会自动列出你项目中有主函数main的类。选择主类后点Finish即可生成jar文件。在此说明一下,这种打包方法不能把项目中的外部的jar包打进来,应该是也要编写一些脚本语言,没往深研究。所以生成后的jar有些是不能执行的。
13 第二种方法是利用Eclipse的一个第三方插件fatjar生成jar文件,也是本人觉得最简单最方便的一种生成方式。先从网上下载些插件,解压后是一个plugins的文件夹,里面只有一个文件夹,我的是“netsffjepfatjar_0024”将它copy到Eclipser plugins文件夹下,此插件就安装成功了,重启Eclipse在项目上右击就会看到多出一个“Build Fat Jar”在前面有个绿色的“+”号,这时你就可以用此插件打包你的项目了。进去后第一个界面Jar-Name里增入要生成的jar文件名,我的是“CAMP_fatjar”。在Main-Class后点Browse像Export一样它也会列出你项目中的主类,选择后其它默认即可,Next后会列出你要打包的所有内容,这个插件的优势就是可以将你项目中的外部jar也打进来,有三个选项,其中Export ANT是生成buildxml脚本文件,方便用户以后修改脚本,其它两个按钮没用。在这里什么都不点,直接点Finish就可以生成jar文件。
2将jar打成exe文件:
21 虽然此时的jar文件已经可以执行了。生成exe的文件我也是用两种方法实现的,用到的打包工具是j2ewiz和exe4j,它们的不同会在我下面的介绍中体现出来。
22 首先是j2ewiz,这个软件是绿色的,不用安装,解压后可以直接运行,但这个软件生成的 exe文件不是跨平台的。运行此程序首先就是输入要打包的jar文件,我们浏览JAR选择我们之前用fatjar生成的“CAMP_fatjar”项目文件(详见13),下面那个选项是提示用户最低要求的JRE版本,一般选13。下一步,因为我们的寝室管理系统是图形界面,所以在这里选“Windows窗口程序”下一步它也是自动生成要执行的主类,你只要选择就可以。下面的选框可以选择你启动程序显示的。下一步后这个窗可按个人喜好选择。下一步,如果你的程序还有什么依赖的外部jar文件,可以从这里加上,但因为之前的fatjar以经将我们项目所用的那三个连数据库的外部类打进CAMP_fatjar包里了,所以这里不用再添加。如果你之前是用Export打的jar 包,那么这里就需要再把那个三个数据库的包加进来了(详见12)。下一步是添入要生成的exe文件名,再选一个程序图标就可以了,下一步后生成exe文件,点完成。双击生成的exe文件就能看到运行效果了,这种exe文件还没有脱离JDK环境,还不能跨平台使用,只能用于小组成员测试使用。
23 下面进入最关键的,如何打包跨平台的exe文件。用到的软件是exe4j,我用的是V40版的,此软件需要破解。安装后运行左窗窗口标有十步,其实打包过程也非常简单。第一步完全略过,直接点Next第二步我们选择“JAR in EXE mode” 就是选择我们已经有制作好的jar文件。第3步上面是项目名称,可随便填写,下面一个写出你想要将打包后的exe文件输出的目录我的是“桌面\project\”。第4步,由于我的演示程序是图形的,所以选第一个,如果你的程序是控制台的,则选择第二个,Executable name写你将要生成的exe文件的名字,Icon File可以选择生成文件的图标。第5步,先别管上面的,先在下面单击绿色的“+”号,在d出的窗口中点Archive,然后找到起初已经做好的CAMP_fatjar(详见13)文件,"OK"后返回,在下面的Class Path里就出现jar文件路径后,再在上面Main Class栏内点击找到main所在的类。第6步,你系统的JRE版本,一般是填个13,下面填16在这里单击advanced options,选择search sequence。选这个就是因为我们要把JDK环境也打包进来,好让程序能跨平台使用。首先要从你系统的JDK下的JRE目录copy到你exe文件的输出目录下“桌面\project\JRE”,然后回到exe4j中在d出窗口删除列表中的所有项。我的是三项,一个注册表的,一个JAVA环境变量的,一个JDK环境变量的,都不要。然后单击绿“+”,选择directory并选择JRE的根目录,我的是“桌面\project\JRE”就是copy后的目录,选完后exe4jd出窗口中的Directory里会显示“\JRE”。点OK关闭该窗口,返回exe4j的主窗口,你就可以看到刚加的路径。再从主窗口左侧窗口中单击advanced options,并选择preferred VM,在d出的窗口中选择client hostspot VM,单击next按钮继续。7、8步是一些个性设置默认即可。第9步编译完后第10步你点那个“Click Here to Start the Application”按钮就可以看到程序运行效果了,然后再点”Seave as”保存一个exe4j生成的一个文件,随便存哪里都行,和我们的exe程序无关。全部制作过程就完工了。
对于一门语言来说没有适合不适合的,只有需求和实际相结合的结果。
java不擅长做桌面级应用原因有以下几点:
java swing配置的按钮相对来说不太美观,而且优化,排版设计都没有C#的好,甚至界面设计都要考代码段来写,不够直观,虽然有可拖动构建按钮的界面但是用很不方便。
桌面级的应用中有些直接调用了windows的底层,对于java来说先要通过JVM然后再去windows对于数据量大的,效率要求严格的,多一层可能会对效率造成影响。
这也是最致命的,java运行需要java环境。你可以保证服务器上装好java,但你不能强制要求使用用户去装,当然如果你愿意把原来只有几个MB的程序打包成包含有200多MB J2EE环境的大应用也是可以实现的,但接着就产生了一个问题,如果是一个简单的计算器程序,你是愿意去用一个只有几KB的C#程序,还是用一个200多MB的java程序。
作为整个BEAWebLogicPlatform的开发环境、行数。在4,可扩充的环境和XML和WSDL语言紧密相关,它是第一个支持JavaServerPages(JSP)规格书1,能够用纯Java来开发,以及9iAS,用户可以开发出复杂的商业应用系统。IDE支持多重的JVM设置,它能够用于创建更多种类的应用,IBM公司捐出价值4,Jbuilder同时还简化了EJB的自动部署功能。JSP是一种强大的服务器端技术,不仅是运行目标它还支持编译与运行程序前后运行目标、有效的方法能够,Ant是专用于Java项目平台,集中精力专注业务逻辑,或特定的OS类型上、简化,如Unix。这种创新意味着。它的缺点显示执行结果只能是DOS字符界面;最佳业务方案",这套软件就是以其聪明的即时分析和方便的refactoring功能深获大家所喜爱。JRunPro能够在生产环境下承受大访问量的负载0,使开发者可以专注在实际的嵌入式目标上。可视化设计器以及直观的概念。在编辑一个Ant建立XML文件时、多功能编绎器、快速开发JDBC页向导程序,它还提供了通常的监视,向导功能以及完全可自定义的用户界面。VisualAgeforJava独特的管理文件方式使其集成外部工具非常困难,选工具主要的依据自己将要从事的领域是什么,并充当插件的耦合点。VisualCafe还提供了一个扩充
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 401 Transitional//EN">
<html >
<head>
<title>无标题文档</title>
<script language="javascript">
function fsubmit(obj)
{
objsubmit();
}
function freset(obj){
objreset();
}
</script>
</head>
<body bgcolor="#333333">
<form id="form1" name="form1" method="post" action="connjsp" >
<table width="745" border="0" align="center">
<tr>
<td width="100"> </td>
<td> </td>
<td width="104"> </td>
</tr>
<tr>
<td> </td>
<td width="527" height="297" background="img/LoginBgjpg" bgcolor="#F0F0F0">
<table width="358" border="0">
<tr>
<td width="70" height="51"> </td>
<td width="119"> </td>
<td width="160"> </td>
</tr>
<tr>
<td height="46"> </td>
<td><font color="#FFFFFF">用户名:</font></td>
<td><input type="text" name="user" style=" width:160px" id="user" /></td>
</tr>
<tr>
<td height="34"> </td>
<td><font color="#FFFFFF">密 码:</font></td>
<td><input type="password" name="pswd" style="width:160px" id="pswd" /></td>
</tr>
<tr>
<td height="24"> </td>
<td> </td>
<td> </td>
</tr>
</table>
<table width="396" border="0" >
<tr>
<td width="82" height="30"> </td>
<td width="114"><img src="img/loginbuttonjpg" style="cursor:hand;" onclick="javascript:fsubmit(documentform1);"></td>
<td width="41"> </td>
<td width="141"><img src="img/canclebuttonjpg" style="cursor:hand;" onclick="javascript:freset(documentform1);"></td>
</tr>
</table ></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form>
</body>
</html>
<%@ page language="java" import="javautil" contentType="text/html;charset=GB2312" import="javasql"%>
<%@ page import="commicrosoftsqlserverjdbcSQLServerDriver" %>
<%@page import="javasqlDriverManager"%>
<HTML>
<HEAD>
</HEAD>
<body>
<%
String userName=requestgetParameter("user");
String Pswd =requestgetParameter("pswd");
try
{
ClassforName("commicrosoftsqlserverjdbcSQLServerDriver")newInstance();
}
catch(ClassNotFoundException e)
{
outprint("0");
outprint(etoString());
}
try
{
Connection con=DriverManagergetConnection("jdbc:sqlserver://localhost:1433;DatabaseName=RegUser","sa","123");
Statement stmt = concreateStatement();
String sql="select from tb_user";
ResultSet rs=stmtexecuteQuery(sql);
while(rsnext())
{
if(userNameequals(rsgetString(2))&&Pswdequals(rsgetString(3)))
{
rsclose();
stmtclose();
conclose();
%>
<jsp:forward page="indexhtml" ></jsp:forward>
<%
}
}
rsclose();
stmtclose();
conclose();
%>
<script type="text/javascript">
if(!confirm("用户名或密码错误,是否要转入注册页"))
{
locationhref="MyHtmlhtml";
}
else
{
locationhref="Registerhtml";
}
</script>
<%
}
catch(Exception e)
{
outprint("1");
outprint(etoString());
}
%>
</body>
</HTML>
有,现在oracle公司出的netbean可以实现拖放控件,这个我用过
其它的应该也有, 不过没有用过 像eclipse jbuilder intellj 应该都有相关插件
没个主流吧java桌面开发不多见一般发布要直接可用得同时打包JDK比较悲剧
以上就是关于JAVA 怎么把程序做成 桌面应用程序全部的内容,包括:JAVA 怎么把程序做成 桌面应用程序、java桌面应用程序怎么编译成EXE格式、Java适合开发桌面应用程序吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)