
Java开发
polarman
这个作者很懒,什么都没留下…
展开
-
Java实现通用线程池
线程池通俗的描述就是预先创建若干空闲线程,等到需要用多线程去处理事务的时候去唤醒某些空闲线程执行处理任务,这样就省去了频繁创建线程的时间,因为频繁创建线程是要耗费大量的CPU资源的。如果一个应用程序需要频繁地处理大量并发事务,不断的创建销毁线程往往会大大地降低系统的效率,这时候线程池就派上用场了。 本文旨在使用Java语言编写一个通用的线程池。当需要使用线程池处理事务时,只原创 2006-08-09 15:15:00 · 2942 阅读 · 2 评论 -
Java实现类似Adobe Reader的Tab页
Tab按钮在左侧时,文字、图标竖排,知道重载MetalTabbedPaneUI即可://PolarmanTabbedPaneUI.javapackage polarman.gui;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.awt.Graphics2D;impor原创 2006-08-09 18:49:00 · 2357 阅读 · 1 评论 -
Java日志工具中获取文件信息的原理
主要是通过实例化一个Throwable类(或其子类)的对象 ,通过这个对象获取方法调用的堆栈信息来实现的。下面是一段简单的示例代码:public class Debug...{ private static String buildLogMessage(String message)...{ StackTraceElement trace = null;原创 2007-02-15 16:02:00 · 836 阅读 · 0 评论 -
也谈用Java动态代理实现AOP(面向方面编程)
今天读了一篇谈面向方面实现的文章《谈用Java动态代理实现AOP》,颇有感触。经过思考,发现可以用这种方法经过改良实现多种AOP的模式。下面一一道来:一、动态横切假设现在存在一个类Business,如下:public class Business{ public void work(){ System.out.println("working..."); }}我们要对Bu原创 2007-03-26 15:51:00 · 1037 阅读 · 0 评论 -
Java Applet 程序的远程调试
对于在本地运行的程序,一般开发人员都知道如何运用调试工具进行调试, 但是Applet程序的调试就很不方便了。一般调试Applet程序都是使用Applet Viewer进行调试,但是某些Applet程序并不方便用Applet Viewer进行调试,例如程序依赖的Web页面是动态生成的。 下面介绍一种使用JDWP(JavaTM Debug Wire Protocol)远程调试Ja原创 2007-08-13 12:34:00 · 1930 阅读 · 0 评论 -
一次编写到处调试的Java啊。。。(Swing开发若干问题总结)
做Swing开发很久了。遇到过很多问题,有一部分是JRE的bug,只有在特定的系统环境下才会出现。乘着有点空闲时间,简单总结一下。主要是UI显示不正确的情况(特大、特宽、特高、空白、绘制不全等)。 1. 对话框没有父窗口 问题:Ubuntu上打开桌面特效。没有父窗口的对话框容易显示的很大,并且绘制不全。 Work around:确保所有的对话框有一个有效的父窗口原创 2009-05-07 16:42:00 · 1091 阅读 · 0 评论 -
JLabel文本自动换行,限定宽度获取高度
UI开发中,常常需要在显示长字符串时能在特定宽度的位置自动换行。这个只要使用html来作为JLabel的文本,然后控制JLabel宽度,JLabel就会自动换行。关键是:宽度定了,高度如何取得? JLabel本身并没有提供方案。研究JDK源码后发现了这个方法。 int maxWidth = 100; //限制的宽度 JLabel lbl = new JLabel("长字符串....原创 2009-05-08 10:54:00 · 6499 阅读 · 1 评论 -
可以用Java转换文档格式的好东西
看到一个开源的好东西,记录一下。JODConverter可以调用OpenOffice的服务来转换文档的格式。支持多种Office文档格式的转换。下面是它支持的格式:From (any of)To (any of)Text Formats OpenDocument Text (*.odt) OpenOffice.原创 2009-06-01 14:42:00 · 978 阅读 · 0 评论