java Swing如何自定义JFrame的关闭事件



java Swing如何自定义JFrame的关闭事件?当用户关闭应用程序窗口的时候,我们可能希望程序在结束之前保存一些必要的数据。对于这种需求,两种备选方案:

2.1 获取程序关闭的“钩子”

Runtime.getRuntime().addShutdownHook(shutdownHook);
protected Thread shutdownHook = new PlatformShutdownHook();
protected class PlatformShutdownHook extends Thread {
public void run()
{
//一些清理工[......]

Read more

java Swing如何让窗口更好地居中显示



java Swing如何让窗口更好地居中显示?无论是顶层组件JFrame还是对话框JDialog,让他们的窗口居中显示是一个很常见的问题,因为他们默认总是从左上角弹出来,这也太不爽了!对于这个问题,JBuilder应用程序生成向导给出了解决方案:

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height)
frameSize.height =[......]

Read more

java如何改变Swing应用程序的默认字体/字号

java如何改变Swing应用程序的默认字体/字号?常用Swing作为程序UI的人可能会注意到,Swing组件默认显示文字的字号为11。这对于英文显示毫无问题,但是如果用这个字号显示中文的话,这么小的字号就会使程序变得很难看。当年在用IReport0.56的时候就发现他的菜单栏和弹出的Dialog里的字很难看,但是将字号调大之后就好多了。虽然在最近版本的JDK里似乎修正了这个字体问题,但是如果你的程序必须使用以前版本的JDK的话,这个问题就需要处理一下,下面就是一个不错的解决方案:

Font vFont = new Font(“Dialog”, Font.PLAIN, 13);
UIM[......]

Read more

Java常用的日期、数字操作实例源码介绍

Java常用的日期、数字操作实例源码介绍。

1. java日期操作部分
对 于像日期、时间和钱这样的对象来说,不同的国家、地区都有不同的显示格式。即便是同一地区,也可能存在差异。但是在不考虑国家化,时间格式相对固定的情形 下,对于时间的处理还是相对比较简单的。在我最近所作的一个小程序里面,遇到了一些与日期有关的且不考虑国际化和复杂格式的问题。例如如何求两个日期所差 的天数,所差的月数;将日期类转化为规定格式的字符串,将规定格式的日期字符串转成相应的日期类等等。下面我就以源码的形式逐一介绍上面提到的问题,需要 注意的是这些代码都源于我做的一个名为DateUtil的类,其中独立的变量都是其[......]

Read more

java算法实现在n张扑克牌中找出顺子

java算法实现在n张扑克牌中找出顺子。题目是这样的:有n张扑克牌,每张牌的取值范围是:2,3,4,5,6,7,8,9,10,J,Q,K,A。在这n张牌中找出顺子(5张及5张以上的连续的牌),并将这些顺子打印出来。

思路:我的思路其实很简单,首先就是要去掉重复的牌,因为同样的顺子之算一个,显然JAVA中的Set很适合这个工作。同时又需要对这些牌进行排序,毫无疑问就是TreeSet了。然后从小到大遍历这些牌,并设置一个计数器count。若发现连续的牌,则count++;若发现不连续的,分2中情况:若count>4,则找到了一个顺子,存起来;反之则什么都不做。然后count=1,从新开[......]

Read more

java把一个单向链表反向链接实例源码介绍

java把一个单向链表反向链接实例源码介绍。用递归实现了一下,个人感觉写的挺漂亮的,于是就决定贴出来秀一下,呵呵,代码如下:

//这是个公共函数,也就是你需要的接口
public void reverse() {
Link temp = first;
reverselink(temp).next = null;
}
//这是个私有函数,为上面的公共函数服务
private Link reverselink(Link l) {
if(l.next==null){
first = l;
return l;
}
reverselink(l.next).next = l;[......]

Read more

java重载与桥接函数实例源码介绍

java重载与桥接函数实例源码介绍。

看一看下面的实例代码:

class Father {
public Object test() {
return new Object();
}
}

class Son extends Father {
public String test() {
return “asd”;
}
}
父类与子类都有一个test方法,并且参数都为空,根据以往的经验“函数名相同并且参数相同的函数,即视为同一个函数”,因此,我们的第一感觉是子类重载了父类的test方法。但是大家要注意,两个test方法的返回值是不一样的。根据经验,“考察两个方[......]

Read more

java范型实例介绍

java范型实例介绍.从jdk1.5开始,Java中开始支持范型了。范型是一个很有用的编程工具,给我们带来了极大的灵活性。在看了《java核心编程》之后,我小有收获,写出来与大家分享。
所谓范型就是不用考虑对象的具体类型,就可以对对象进行一定的操作,对任何对象都能进行同样的操作。这就是灵活性之所在。但是,正是因为没有考虑对象的具体类型,因此一般情况下不可以使用对象自带的接口函数,因为不同的对象所携带的接口函数不一样,你使用了对象A的接口函数,万一别人将一个对象B传给范型,那么程序就会出现错误,这就是范型的局限性。所以说,范型的最佳用途,就是用于实现容器类,实现一个通用的容器。该容器可以存储对[......]

Read more

String.format函数使用方法实例源码介绍

String.format函数使用方法实例源码介绍。在JDK1.5中,String类增加了一个非常有用的静态函数format(String  format, Objece…  argues),可以将各类数据格式化为字符串并输出。其中format参数指定了输出的格式,是最复杂也是最难掌握的一点,而argues则是一系列等待被格式化的对象。该函数对c语言中printf函数的用法进行了一定的模仿,因此有c语言基础的人学起来会轻松许多。下面我们着重讨论一下format参数的格式及含义。
format参数中可以包含不需要转化的字符串,这些字符串是你写什么,最终就输出什么。同时还包含一些特殊格式的内[......]

Read more

调试开源项目mvnForum论坛实例介绍

调试开源项目mvnForum论坛,最近在读一个开源论坛的源码,也就是mvnForum,发现源码是很难读懂的,应该对其进行调试,了解其运行时信息,这样有助于对源码的理解。但是我遗憾的发现,mvnForum的源码是基于ant脚本的,并不是一个eclipse工程,因此并不能直接借助eclipse对其进行调试。试图将其转变为一个eclipse工程,但是配置方面有点问题,始终无法在eclipse中运行。于是我只能想一些其他的笨办法来调试。如果哪位朋友能够将mvnForum源码成功转化为一个可调试的Eclipse工程,麻烦教一教我。
调试思路就是:在正常的环境下运行论坛,并将感兴趣的信息打印出来。
这[......]

Read more