导入配置jar包 substance.jar
然后在frame的主函数 加入如下代码
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);
try {
UIManager.setLookAndFeel(new org.jvnet.substance.skin.SubstanceModerateLookAndFeel()) ;
} catch (UnsupportedLookAndFeelException e) {
e.printStackTrace();
}
FontUIResource f = new FontUIResource("", Font.PLAIN, 14);
java.util.Enumeration 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);
}
}
然后即可以美化界面 ......
下面的例子,就是使用ObjectSNMP获取RFC1213-MIB的例子:其中的system和ifTable对象就是对应的SNMP MIB中的system组合interface中的ifTable表。
class TestMibMapping
{
SNMPAPI snmpapi;
SNMPNodeParam nodeParam;
public TestMibMapping()
{
try
{
/**
* 初始化系统日志文件。
*/
MyLog.initLogParam("SNMPTest");
//使用客户端模式。需要先启用ObjectSNMP的RMI服务(例如:运行RMISNMPServer.java)。
//SNMPFactory.init(SNMPFactory.Mode_Client, "127.0.0.1");
//使用本地模式。
SNMPFactory.init(SNMPFactory.Mode_Local, null);
// 获取SNMP API
snmpapi = SNMPFactory.getSNMPAPI();
//设置SNMP Agent连接参数
nodeParam = new SNMPNodeParam();
nodeParam.nodeIP = "127.0.0.1";
} catch (Exception ex)
{
ex.printStackTrace();
}
}
/**
* 测试R ......
下面是20个非常有用的Java程序片段,希望能对你有用。
1. 字符串有整型的相互转换
1
2
String a = String.valueOf(2); //integer to numeric string
3
int i = Integer.parseInt(a); //numeric string to an int
2. 向文件末尾添加内容
01
02
BufferedWriter out = null;
03
try {
04
out = new BufferedWriter(new FileWriter(”filename”, true));
05
out.write(”aString”);
06
} catch (IOException e) {
07
// error processing code
08
} finally {
09
if (out != null) {
10
out.close();
11
}
12
}
3. 得到当前方法的名字
1
String methodName = Thread.currentThread().getStackTrace()[1].getMethodName ......
类的初始化和对象初始化是 JVM 管理的类型生命周期中非常重要的两个环节,Google 了一遍网络,有关类装载机制的文章倒是不少,然而类初始化和对象初始化的文章并不多,特别是从字节码和 JVM 层次来分析的文章更是鲜有所见。
本文主要对类和对象初始化全过程进行分析,通过一个实际问题引入,将源代码转换成 JVM 字节码后,对 JVM 执行过程的关键点进行全面解析,并在文中穿插入了相关 JVM 规范和 JVM 的部分内部理论知识,以理论与实际结合的方式介绍对象初始化和类初始化之间的协作以及可能存在的冲突问题。
问题引入
近日我在调试一个枚举类型的解析器程序,该解析器是将数据库内一万多条枚举代码装载到缓存中,为了实现快速定位枚举代码和具体枚举类别的所有枚举元素,该类在装载枚举代码的同时对其采取两种策略建立内存索引。由于该类是一个公共服务类,在程序各个层面都会使用到它,因此我将它实现为一个单例类。这个类在我调整类实例化语句位置之前运行正常,但当我把该类实例化语句调整到静态初始化语句之前时,我的程序不再为我工作了。 下面是经过我简化后的示例代码:
[清单一]
package com.ccb.framework.enums;
import java.util.Collections;
import ......
总结关键字final的用法。
author: ZJ 07-3-16
Blog: [url]http://zhangjunhd.blog.51cto.com/[/url]
在Java中声明属性、方法和类时,可使用关键字final来修饰。final变量即为常量,只能赋值一次;final方法不能被子类重写;final类不能被继承。
1.final成员
声明 final 字段有助于优化器作出更好的优化决定,因为如果编译器知道字段的值不会更改,那么它能安全地在寄存器中高速缓存该值。final 字段还通过让编译器强制该字段为只读来提供额外的安全级别。
1.1关于final成员赋值
1)在java中,普通变量可默认初始化。但是final类型的变量必须显式地初始化。
2)final 成员能且只能被初始化一次。
3)final成员必须在声明时(在final变量定义时直接给其赋值)或者在构造函数中被初始化,而不能在其它的地方被初始化。
示例1 Bat.java
public class Bat {
final double PI = 3.14; // 在定义时赋值
final int i; // 因为要在构造函数中进行初始化,所以此处便不可再赋值
final List list; // 因为要在构造函数中进行初始化,所以此处便不可再赋值
Bat() {
i = 100;
list = new LinkedList();
}
Bat(int ii, List l) {
i = ii;
list = l;
}
public static ......
基本操作
一、创建文件
拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:
/*
* Created on Dec 30, 2007
*
* To change the template for this generated file go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
package JExcelTest.standard;
import java.io.*;
import jxl.*;
import jxl.write.*;
/**
* @author Ken
*
* To change the template for this generated type comment go to
* Window>Preferences>Java>Code Generation>Code and Comments
*/
public class CreateXLS {
public static void main(String[] args) {
try {
//open file.
WritableWorkbook book = Workbook.createWorkbook(new File("d:/Test.xls"));
//create Sheet named "Sheet_1". 0 means this is 1st page.
WritableSheet sheet = book.createSheet("Sheet_1", 0);
......