序言
好久没有写swing的应用(最后的一个是大二的课程设计=.=),最近又重新搞了一下,感觉很好,表示很喜欢。很多人觉得swing做程序不给力,又难看,其实swing还是很有效率的,稍微设置一下就可以使用系统自带的样式和字体,看上去不丑。
下面,我就用一个实际的例子说一下我使用swing的心得体会。
软件功能
此软件就叫netHelper吧
实例中的程序有以下功能:
1.获取远程的html代码
用户输入网址,然后获取这个地址的html代码并显示,这个纯粹是一个演示的功能。。。
2.http post测试
使用httppost数据到服务器
目录如下:
好吧,让我们开始吧!
1.对swing程序进行美化
刚刚开始用swing的时候,觉得swing的界面很是复古,字体也是很模糊的样子,其他swing是可以使用系统的外观的,那么看上去就跟系统的界面差不多了。
下面是初版本的netHelper的运行效果(使用系统默认的外观与字体):
对比一下swing原始的效果:
主要看字体,还有按钮的外观,很明显。
而其中主要是两段代码在起作用:
/**
* 设置字体,使用系统默认,12px
*/
public static void setUIFont() {
FontUIResource f=new FontUIResource("default", Font.PLAIN,12);
java.util.Enumeration<Object> keys = UIManager.getDefaults().keys();
while (keys.hasMoreElements()) {
Object key = keys.nextElement();
Object value = UIManager.get(key);
if (value instanceof javax.swing.plaf.FontUIResource)
UIManager.put(key, f);
}
}
/**
* 设置UIManager
*/
public static void setUI(){
//设置UIMangager为系统默认
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e) {
e.printStackTrace();
}
}
2.对JFrame作一个常规的设置
public MainFrame(){
this.setSize(width, height);
this.setLocationRelativeTo(null);
this.setTitle( title + " by:集成显卡");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
initUI();
}
以上是MainFrame的构造函数。
通过setSize(int w, int h) 方法可以设置窗口大小,还可以传递一个 dimension 对象。
setLocationRelativeTo(Component) 可以设置此窗体相对于某个控件的位置,如果参数为null,那么此窗体会在屏幕居中。
setDefaultCloseOperation(int) 方法可以设置窗体的关闭按钮被点击时退出程序。
然后 调用initUI() 方法 初始化子控件。
3.响应事件
当用户点击其中一个按钮时,程序会做特定的事情,比如链接指定的地址并得到html源代码。这时,就要给按钮注册一个事件监听器,则调用JButton的addActionListener(ActionListener) 方法,这里,我让MainFram直接实现了 ActionListener 接口,此接口有一个方法:
public void actionPerformed(ActionEvent arg0) {
}
在MainFrame中有如下实现:
private void loadHtml(){
String http = "http://";
String url = urlTF.getText().trim();
if(!url.startsWith(http)){
url = http + url;
}
this.textArea.setText(NetService.getDataFromURL(url));
}
@Override
public void actionPerformed(ActionEvent arg0) {
Object obj = arg0.getSource();
if(obj == getBtn){
loadHtml();
}else if(obj == aboutBtn){
JOptionPane.showMessageDialog(
null,
"输入网址,点击Get按钮后会加载网址的内容到下面的编辑框中。",
title,
JOptionPane.INFORMATION_MESSAGE
);
}
}
首先通过ActionEvent的getSource() 方法获得事件源控件,然后判断控件,作相应的操作。
当是“Get”按钮,调用 loadHtml() 方法,在loadHtml 方法中先获取输入的地址,然后调用 NetService 中的静态方法 getDataFromURL(String) 获取远程地址的html代码,最后显示到 TextArea中。
当是“About”按钮被点击,弹出一个信息对话框。JOptionPane 很是常用,使用也比较简单。
4. 打包swing程序,并到处运行
目前将java程序转换为exe双击运行的工具有很多,推荐 exe4j,这个是共享软件,不过,你可以很方便找到破解版,你懂的。
这里我就说一下用eclipde生成jar后,怎么快速地在其他电脑上运行我们的swing程序。
在eclipse下,右击项目,Export,然后:
然后:
两个都是可以的,我一般用第二个,这样用到的额外包会以jar文件的形式放到你的jar包中,而第一个就是会解压额外包的class到你的jar中,这样你的jar中就很多package了,很乱。
我选择用批处理的方法运行我的程序,因为是java程序,还是要一个JRE,以上是我的run.bat文件:
#首先设置java路径
path = %path%;e:/java/jre6/bin
java -jar netHelper.jar
这里用的是一个绝对路径的JRE,当要将程序拷贝到其他机子时,就将JRE copy到我们jar包的同目录,然后将JRE的路径修改为相对路径:
path = %path%;jre6/bin
这样就好了。
好了。
下一篇会讲swing的多线程。
代码下载
源码下载地址:http://download.csdn.net/detail/ssrc0604hx/5204650
分享到:
相关推荐
rt.jar swing界面开发rt.jar swing界面开发rt.jar swing界面开发rt.jar swing界面开发rt.jar swing界面开发
java swing扫雷小游戏.zipjava swing扫雷小游戏.zipjava swing扫雷小游戏.zip java swing扫雷小游戏.zipjava swing扫雷小游戏.zipjava swing扫雷小游戏.zip java swing扫雷小游戏.zipjava swing扫雷小游戏.zipjava ...
基于Java Swing的贪吃蛇游戏.zip基于Java Swing的贪吃蛇游戏.zip 基于Java Swing的贪吃蛇游戏.zip基于Java Swing的贪吃蛇游戏.zip 基于Java Swing的贪吃蛇游戏.zip基于Java Swing的贪吃蛇游戏.zip 基于Java Swing的...
基于java的开发源码-swing-explorer(Swing开发辅助工具).zip 基于java的开发源码-swing-explorer(Swing开发辅助工具).zip 基于java的开发源码-swing-explorer(Swing开发辅助工具).zip 基于java的开发源码-swing-...
swing-Java游戏.zipswing-Java游戏.zipswing-Java游戏.zip swing-Java游戏.zipswing-Java游戏.zipswing-Java游戏.zip swing-Java游戏.zipswing-Java游戏.zipswing-Java游戏.zip swing-Java游戏.zipswing-Java游戏....
Swing程序设计文件.pdf
Eclipse java swing开发环境.docx
Java_Swing图形界面开发.pptJava_Swing图形界面开发.ppt
java图形化界面开发也可以做到更改主题,非常方便的进行swing界面美化,只需要你在frame中添加几行代码即可实现可定制主题的功能
里面包含三个美化jar包,beautyeye,substance和JTattoo,可以让你的swing界面变得十分美观。
语言程序设计资料:第14章 Swing桌面程序开发.ppt
java swing 贪吃蛇游戏.zipjava swing 贪吃蛇游戏.zipjava swing 贪吃蛇游戏.zip java swing 贪吃蛇游戏.zipjava swing 贪吃蛇游戏.zipjava swing 贪吃蛇游戏.zip java swing 贪吃蛇游戏.zipjava swing 贪吃蛇游戏....
JavaSwing程序开发,帮助你快速学习Swing编程 不错,看看吧! JavaSwing程序开发,帮助你快速学习Swing编程 不错,看看吧!
学习swing比较好的小程序
13、swing用户界面组件.ppt 13、swing用户界面组件.ppt 13、swing用户界面组件.ppt 13、swing用户界面组件.ppt 13、swing用户界面组件.ppt
Java Swing图形界面开发与案例详解 .王鹏等.扫描版.pdf
swing开发杂谈--初版本程序源码 http://blog.csdn.net/ssrc0604hx/article/details/8737673
java swing 随机数抽签程序,基于java swing编写,主要是学习swing的众多操作,一些基本组件的使用,但本抽签程序实际上效果挺不错,项目源码中已编译生成有exe可执行文件,不过运行需要你的电脑中安装有Java 环境 ...