J2SE
文章平均质量分 55
dr2tr
这个作者很懒,什么都没留下…
展开
-
JTree的事件监听
类库:import javax.swing.tree.*;import javax.swing.event.TreeSelectionEvent;import javax.swing.event.TreeSelectionListener;使用流程:1,JTree tree = createTree();//得到JTree对象,createTree()见文后2,DefaultTreeCellR原创 2006-03-13 20:55:00 · 6619 阅读 · 2 评论 -
Swing 导引
1。Swing是由Java书写,因此是与平台无关的。我们称为:lightweight(轻量级)。2。图标和标签:Swing中用ImageIcon类封装图标。可以通过使用JLable绘制标签。(可以用图标作标签)3。文本域 JTextField4。 AbstractButton:按钮、复选框、单选按钮的超类,可与图片相关联。通过函数setDisabledIcon, setPressedI原创 2006-03-02 09:10:00 · 1124 阅读 · 0 评论 -
RMI
RMI远程方法调用允许在一台机器上执行的Java对象调用另一台机器上运行的Java对象,它允许我们构建分布式的应用程序。它的方法被包含在java.rmi包中构建RMI程序的通常形式:1。定义远程接口(扩展Remote接口,Remote没有成员,只是指明一个接口使用远程方法),主要是对要实现的功能在接口里说明,方法都抛出RemoteException异常。2。实现远程接口(扩展/继承Un原创 2006-02-28 11:45:00 · 1036 阅读 · 0 评论 -
集合的clone
之前看《高质量Java程序设计》,看到有关集合的深层拷贝(Deep Copy)和浅层拷贝(Shadow Copy)。今天试了一下。由于集合本身就是采用引用的方式保存元素的,所以集合.clone()产生的对象其对元素的保存方式也是引用。比如,ArrayList类对象ar 中有元素student1, student2(的引用),现在copy = ar.clone().那么copy中所保存的也只是原创 2006-03-07 09:36:00 · 1930 阅读 · 0 评论 -
JList动态添加元素
查了一下,要通过改它的Model来动态改变其内容,但是用JList.getModel()后发现没有元素操作项,很是奇怪又搜了下,找了个例子,应该先建一个DefaultListModel dlm,然后新建JList test=new JList(dlm);这样通过dlm.addElement()就可以增加元素了防止加入重复项,那就要 public void addBetsList(String原创 2006-03-01 18:09:00 · 4227 阅读 · 1 评论 -
java映射
映射是软件对自身进行分析的能力,主要由Java.lang.reflect 包和Java.lang.Class中的元素提供,在Java Bean中经常要用到它。它允许在运行时分析软件组建并动态的描述它的功能,而无须等到编译。比如,使用映射可以知道一个类所支持的方法、构造函数和域。java.lang.reflect包中有一个名为Member的接口,定义了得到这些信息的方法。另外还有类Construct原创 2006-02-28 10:49:00 · 1863 阅读 · 1 评论 -
java.util其他工具类
1。StringTokenizer:实现了Enumeration接口(hasMoreElements和nextElement)2。BitSet:位数组。使用set设置位,toString 的默认显示内容是标记为1的位序号。3。Date:不能获得日期等相关信息,只有获得以毫秒记的时间。可以用compareTo比较。4。Calendar:获得一个由有日期时间等组成的时间信息。没有构造函数,原创 2006-02-25 09:26:00 · 630 阅读 · 0 评论 -
java.lang探索
1。自动导入所有程序,包含Java的所有基础类和接口。2。类型包装器(type wrapper):简单类型包装器Number基类3。 Double/Float (这里有方法isInfinite和isNaN,分别测试是不是无穷大/小(如1/0.0)和是不是数字(如0/0.0)。用floatValue方法和doubleValue方法获得数值。4。Byte、Short、Integer、Lon原创 2006-02-23 09:22:00 · 756 阅读 · 0 评论 -
java字符串处理
1。String字符串一旦建立,其内容是不能改变的。我们看到的改变其实只是新建了一个字符串。如果需要变长字符串,可以用StringBuffer2。构造:可以用字符数组(ASC码整数数组)构造,并可以在构造函数中制定startIndex和numChars。(注意:用数组创建字符串时,字符串是新建的(占用自己的内存空间),所以数组内容如果再变,是不会影响字符串的)3。操作:长度length()原创 2006-02-23 08:22:00 · 1654 阅读 · 0 评论 -
Java Puzzlers —— 类
a) 重载:Java重载分两个阶段运行,首先是选取所有可用的方法(构造函数),然后是在其中选择最精确的一个。(“精确”的含义是参数可选范围相对比较小。如果要求选择特定重载方法,需要把实参类型强制转换为某个方法的形参类型。重载方法是静态(编译时)选择的。理想状态下,重载是不被鼓励的。此时,像构造器可以用静态工厂方法代替,参数多得方法可以用Builder模式。b) 静原创 2006-04-08 00:03:00 · 837 阅读 · 0 评论 -
Interface与常量存放
首先,Interface常用来存放常量。与定义在类中的常量区别:1、常量定义在类中,相对其他类来说是可见可用的。 2、常量定义在接口中,其他类来要用时,该类要实现接口,方可使用。 另外,在Interface中定义常量也有不足之处。主要是由于Interface中的fields默认为static final, 故通常实现Interface的类(假设为C)在编译的时候,已经把Interface中原创 2006-04-23 17:34:00 · 1928 阅读 · 0 评论 -
线程安全及其他
有关于Servlet 的线程安全,首先需要知道的是,在一般情况下,每个Servlet 在容器里都只有一个实例(instance), 而每当有用户访问该Servlet 时,容器都会产生一个线程。这是比较基本的概念了。一般我们还知道,Java 有一个Marker Interface 叫做SingleThreadModel, 这个接口一旦被继承,就意味着容器一般对一个instance 只维护一个线程原创 2007-07-16 20:38:00 · 1057 阅读 · 0 评论 -
equals() 和 hashCode()
我们知道,equals()函数是用来做比较的。java中的比较有两种:一种是内存地址的比较,一种是内容的比较。而比较个体也有两种:一种是简单类型(这类简单说来无所谓内存地址的比较或者内容比较的区别);还有一种是对象的比较,本文中说的主要是后者在java中,(对象)内存地址的比较,是通过==完成的。比如 if(obj1 == obj2)...{ ...}这样的语句中,我们原创 2007-02-28 13:19:00 · 3290 阅读 · 4 评论 -
java引用以及clone
函数传参的问题:Java对对象和基本的数据类型的处理是不一样的。和C语言一样,当把Java的基本数据类型(如int,char,double等)作为入口参数传给函数体的时候,传入的参数在函数体内部变成了局部变量,这个局部变量是输入参数的一个拷贝,所有的函数体内部的操作都是针对这个拷贝的操作,函数执行结束后,这个局部变量也就完成了它的使命,它影响不到作为输入参数的变量。(这种方式的参数传原创 2006-07-31 11:26:00 · 1181 阅读 · 0 评论 -
集合排序的简单解决方案
最简单的当然是利用Colections的sort函数。因此,需要先实现 Comparator接口。主要是实现其中的compare方法。然后就可以了。。。。好像很简单,有API文档,应该其他的不用多记录了。原创 2006-07-19 17:43:00 · 730 阅读 · 0 评论 -
JProgressBar 的基本用法
今天花了很久研究JProgressBar,最后做个总结吧1。JProgressBar的核心函数是setValue(), 这个函数实现了进度条的控制,还自动实现了刷新2。与setValue匹配的是setMaximun和setMinimun的设定。 Java内部应该是有着value/(max-min)这样的计算机制的。3。以上说的是知道界限的进度条,不知道的话,需要用setIndeterm原创 2006-05-12 17:15:00 · 4833 阅读 · 1 评论 -
Advanced JDBC Techniques
1. Stored Procedures: CallableStatementSynatax for a procedure that doesnt return a result is {call procedure_name(.., >>)}, Synatax that return a result value is {?= call procedure_name(.., ..)}.原创 2006-05-09 09:52:00 · 773 阅读 · 0 评论 -
JTable的相关用法
1。设置列名:使用DefaultListTableModel的构造函数DefaultTableModel(Object[] columnNames, int rowCount) 构造 DefaultTableModel,它的列数与 columnNames 中元素的列数相同,并具有 rowCount 个 null 对象值2。设置Table的值:通过DefaultListT原创 2006-05-10 16:35:00 · 1436 阅读 · 0 评论 -
Java Puzzler 6 库
1。BigInteger实例是不可变的。(有些类似与String)2。无论何时,如果overriding了equals方法,就必须同时overriding hashCode方法。3。overriding和overloading不能同时进行。(否则overriding就是无效的)4。Date类将一月表示为0,Calendar也是。5。遵守命名习惯,比如构造函数的声明没有返回值等。原创 2006-04-18 23:30:00 · 737 阅读 · 0 评论 -
Java 异常
1。一旦try块中产生了异常,程序直接跳出try块进入catch块(try块中的产生异常的语句下面的语句不会被执行)。当执行了一个catch语句之后,执行从catch块后的代码处开始2。可为一个try块准备多个catch语句,并且异常子类的catch必须在超类前,否则(在超类后的语句)将不可到达。3。try语句可嵌套4。throw:主动(显式)抛出异常。throw的是一个Throwab原创 2006-02-20 11:12:00 · 963 阅读 · 0 评论 -
Java pakage和接口
1。包:命名机制+可见度控制机制2。包内类的运行:如有类test1:package learn3.class1; 那么,编译成字节码之后,应该在learn3的上层目录运行java learn3.class1.test1,其他的运行方式都是不行的(除非设环境变量,但我没试过)3。访问控制:类的访问控制符默认为可被同包内(包括子类??http://community.csdn.net/Expe原创 2006-02-20 10:35:00 · 2552 阅读 · 0 评论 -
寒假AWT学习笔记
Lesson08A-1.rmvb基本:Frame f = new Frame("head");f.setVisible(true);f.dispose();为添加窗口关闭功能,实现WindowListener接口的WindowClosing函数,然后在Frame的对象里用addWinListener调用。public class MyWindowListener implements Wi原创 2006-02-19 09:03:00 · 1527 阅读 · 0 评论 -
AWT/Swing中处理鼠标双击(多击)以及右键点击的事件处理办法
public void mouseClicked(MouseEvent evt) {if (evt.getClickCount() == 3) {// 处理鼠标三击} else if (evt.getClickCount() == 2) {// 处理鼠标双击}public mouseClicked(MouseEvent e){ if(e.isMetaDown()){//检测鼠标右键单击 }原创 2006-03-17 17:26:00 · 2165 阅读 · 0 评论 -
Java Puzzlers ——异常
a) finally:finally语句块总是在控制权离开try块时被执行。当在finally中出现意外结束(continue, break和return)时,try中的意外结束将被丢弃。所以每一个finally都应该正常结束,不能用意外结束(return, break, continue或者throw)退出一个finally块(但是如果在finally中有受检查的异常存在,那么还原创 2006-03-22 09:37:00 · 844 阅读 · 0 评论 -
集合引用与String,StringBuffer
我的问题:http://community.csdn.net/Expert/topic/4621/4621483.xml?temp=.501095我要将一个文件中的条目(一般形式为name = value)逐条加入一个HashMap对象hm中现在采用的方法是设两个String临时变量key,value,每读一条就执行hm.put(key,value)但是我记得集合类都是以引用方式加入的原创 2006-03-17 17:10:00 · 955 阅读 · 0 评论 -
Java Puzzlers ——循环
a) 混合类型比较容易出错,有时可以通过使用常量解决这一问题。b) 自增运算符:I = I ++这样的表达式,其实I从来都没变过c) 使用一个整数条件,需要注意边界条件。(主要是数值溢出的情况,比如:int start = Integer.MAX_VALUE-1;for(int i = start; id) 用一个dou原创 2006-03-21 14:24:00 · 682 阅读 · 0 评论 -
Java Puzzlers ——字符
a) 字符串加法:当+操作符的操作书中至少有一个String类型时,才会执行字符串连接操作。(并且,字符串的连接操作是从开始出现字符串的位置开始的,如:System.out.println(“2+2=”+2+2);和System.out.println(2+2+ “2+2=”);分别输出的是2+2=2+2和42+2)b) 字符数组与String的连接:字符数组原创 2006-03-19 09:36:00 · 749 阅读 · 0 评论 -
Java Puzzlers——表达式
看书的时候发现原书确实比较烦,当然,这个跟我看得匆忙也有关系。所以这里的是一些概括:a) 奇数性:int i; i%2 ==1这样的判断是不对的,因为int还有负数存在;用i&1 != 0比较好。这一点提示我们在为一个数值型参数传递负值、零和正数时,都需要检查是否正确。b) Double减法:System.out.println(2.00-1.10),这样的表达式打原创 2006-03-19 08:42:00 · 771 阅读 · 0 评论 -
java 自定义外观(整理)
1。JAVA程序默认的外观(LOOKANDFEEL)可以改变为JAVA外观、MOTIF外观、WINDOWS外观、MAC外观;而JAVA外观又有五种风格分别是海蓝宝石风格、祖母绿风格、红宝石风格、木炭风格、高对比风格。改变默认外观可以使用:UIManager.setLookAndFeel("com.sun.java.swing.plaf.motif.MotifLookAndFeel") ; UI原创 2006-03-14 21:07:00 · 2476 阅读 · 2 评论 -
Java 多线程
1。Thread类和Runnable接口2。主线程:用Thread的static Thread currentThread()方法获得3。通过实现Runnable接口创建线程:实现Runnable接口的run方法。新线程在run()方法返回时结束。注意用这种方法创建进程时,在实现Runnable接口的类的构造函数里通常需要用new Thread新建一个线程,并用start函数开启这个线程。原创 2006-02-21 11:06:00 · 770 阅读 · 0 评论 -
Java继承
1。超类变量可以引用子类对象(比如people = student),但是超类变量只能访问自己的成员,而不能访问子类中有但超类没有的成员。比如有类:public class People { String p_name;}public class Student extends People { int stu_id; }运行(留意注释的部分)public static void ma原创 2006-02-19 11:10:00 · 1467 阅读 · 0 评论 -
Java摘要点滴
1。访问控制:当不使用访问限定符时,默认这个类的成员在他自己的包内是公有的,但是不能在包外访问。一般来说,只有在设计继承时,protected才适用。2。static方法的限制:(1)仅可以调用其它static方法 (2)只能访问static数据 (3)在其中不能用this和super3。static块:格式static { 程序块 },这个块在类被第一次自动加载时执行一次4。fina原创 2006-02-19 10:04:00 · 945 阅读 · 0 评论 -
Java对象引用
设有类Student,有程序public class Test1 { public static void main(String[] args) { Student stu1 = new Student(1, "wang"); Student stu2 = stu1; //main test point stu1.stu_name = "pang"; System.out.原创 2006-02-19 09:09:00 · 753 阅读 · 0 评论 -
java 网络
1。InetAddress类:封装了IP和域名。支持IPv4和IPv6。没有显式的构造函数,可以使用工厂方法(静态):getLocalHost, getByName(域名), getAllByName(一个域名多个IP);还有getByAddress,通过IP地址返回InetAddress对象。2。1TCP/IP 客户套接字:Socket类, 构造后用getInputStream和getOut原创 2006-02-27 08:30:00 · 714 阅读 · 0 评论 -
寒假Java网络编程学习笔记
Lesson09A-1.rmvb网络编程概述java网络编程类:java.net包UDP通信:DatagramSocket类TCP通信服务器端:ServerSocket类; 还有Socket类可用于TCP通信的服务器端和客户端。 **************************************************************************Lesson0原创 2006-02-19 09:05:00 · 1926 阅读 · 0 评论 -
java规则表达式
1。使用Pattern类定义规则表达式,使用Matcher类来匹配其他序列中的模式。2。Pattern 没有构造函数,使用函数 static Pattern compile(String pattern) 来获得。Matcher 对象也没有构造函数,需要使用Pattern对象的matcher方法获得。Matcher 有方法:matches(判断是否匹配), find (判断是否有自串匹配),s原创 2006-02-27 09:03:00 · 1235 阅读 · 0 评论 -
java输入输出
1。File:描述了文件本身的属性,无关流操作。ifFile, isAbsolute(绝对路径否), delete, isDirectory, list(字符串形式列出目录内容),listFiles(以File对象数组形式返回文件列表) ,mkdir, mkdirs(创建目录以及此目录的所有父目录)。FilenameFilter 接口:String list(FilenameFilter ff)原创 2006-02-26 10:05:00 · 841 阅读 · 0 评论 -
java集合框架
1。集合框架的几个特性:高性能、易扩展、互用性以及对集成标准数组的支持。(事实上,C++中称为容器的东西在Java中称为集合)2。迭代器(Iterator):提供了通用标准的访问集合元素的方式,即一次访问一个。因此,迭代器提供了一种列举集合内容的方法。并且,任何集合都实现了迭代器接口。3。集合框架还包括映射接口和类。如Maps,用于存储键/值对。4。集合接口Collection:集合框原创 2006-02-24 10:58:00 · 1197 阅读 · 0 评论 -
Java io部分和其他
1。字符流,字节流:字符流采用Unicode。2。字节流:InputStream和OutputStream作为顶层类。3。字符流:Reader和Writer作为顶层类4。预定义流:java.lang中的System类,三个流变量:public static in(InputStream的对象), out(PrintStream的对象), err(PrintStream的对象)。5。原创 2006-02-22 09:53:00 · 906 阅读 · 0 评论 -
说说final
final 这个关键字从学Java开始就有提及。它可以用来修饰class, method, method parameter, variable等。这里主要说说最后这一种。对于有final 修饰的variable, 无论是instance variable 还是local variable, 其含义是说(一般)一经初始化和赋值,其值就无法改变。这里,对于instance variable, 我原创 2007-08-17 11:12:00 · 1119 阅读 · 0 评论