<!--
@page { size: 21cm 29.7cm; margin: 2cm }
P { margin-bottom: 0.21cm }
-->
Swing
是目前
Java
中不可缺少的窗口工具组,是用户建立图形化用户界面(
GUI
)程序的强大工具。
Java Swing
组件自动产生各种事件来响应用户行为。如当用户点击按钮或选择菜单项目时,
Swing
组件会产生一个
ActionEvent
。
Swing
组件会产生许多事件,如
ActionEvents,ChangeEvents,ItemEvents
等,来响应用户的鼠标点击行为,列表框中值的改变,计时器的开始计时等行为。在
Java Swing
编程中,通过
注册监听器
,我们可以监听事件源产生的事件,从而在事件处理程序中处理我们所需要处理的用户行为。
Java Swing
中处理各组件事件的一般步骤是:
1
.
新建一个组件(如
JButton
)。
2
.
将该组件添加到相应的面板(如
JPanel
)。
3
.
注册监听器以监听事件源产生的事件(如通过
ActionListener
来响应用户点击按钮)。
4
.
定义处理事件的方法(如在
ActionListener
中的
actionPerformed
中定义相应方法)。
&nb ......
JAVA CLASSPATH 和PATH的区别 收藏
PATH: 用来指定 java 虚拟机(JVM) 所在在目录,也就是我们最常用的用来编译java源程序的javac.exe 和用来执行 *.class 文件的 java.exe 这两个命令。以我的机器为例吧:我的 jdk 按装目录为 D:\jdk1.5.0_08(确切的说我的这个JDK不是安装版本的,直接解压到 d:\ 下的 ,此时我的 path 就要这样设path=D:\jdk1.5.0_08;D:\jdk1.5.0_08\bin;),设置好了后就可以在命令行中输入 javac , 与 java 命令了,如果这时能打印出命令的 help 文档就说明 path 设置正确了。 当然也可以执行改目录下的rmic命令,去生成对应的stub和skeleton。
CLASSPATH:用来指定我们自己所写的或要用到的类文件 (.jar文件) 所在的目录。 这里有一个小情况:比如我的classpath一开始没有设定,而我的java类文件所在的目录为: d:\javalesson\lesson1 这个文件夹中,此时我把我的命令行窗口所在的目录设置为 d:\javalesson\lesson1(也就是我的类文件所存放的目录) ,这时如果运行某个 .class 文件是一定能找到的。这时我开始设置 classpath 这个目录,比如我设置为classpath=c:\abc这个目录,这时我的命令行窗口所在的目录没修改仍然为: d:\javalesson\lesso ......
在所有组件都放到JFrame之后,先setSize(),然后再setVisible() 。
设置了窗口的Size,布局管理器才能为各个组件安排合适的位置,之后再把窗体显示出来setVisible(),比如你还不知道厂房的大小,这时就无法决定设备安放的位置。 ......
这里所说到的Java中的排序并不是指插入排序、希尔排序、归并排序等具体的排序算法。而是指执行这些排序算法时,比较两个对象“大小”的比较操作。我们很容易理解整型的 i>j 这样的比较方式,但当我们对多个对象进行排序时,如何比较两个对象的“大小”呢?这样的比较 stu1 > stu2 显然是不可能通过编译的。为了解决如何比较两个对象大小的问题,JDK提供了两个接口 java.lang.Comparable 和 java.util.Comparator 。
一、自然排序:java.lang.Comparable
Comparable 接口中只提供了一个方法: compareTo(Object obj) ,该方法的返回值是 int 。如果返回值为正数,则表示当前对象(调用该方法的对象)比 obj 对象“大”;反之“小”;如果为零的话,则表示两对象相等。下面是一个实现了 Comparable 接口的 Student 类:
public class Student implements Comparable {
private int id;
private String name;
public Student() {
super();
}
@Override
public int compareTo(Object obj) {
if (obj instanceof Student) {
Student stu = (Studen ......
import java.util.regex.Matcher;
import java.util.regex.Pattern;
1:这个是拿到一个字符取得里面的图像地址返回一个List
public static List<String> getImgStr(String htmlStr){
String img="";
Pattern p_image;
Matcher m_image;
List<String> pics = new ArrayList<String>();
String regEx_img = "<img.*src=(.*?)[^>]*?>"; //图片链接地址
p_image = Pattern.compile
&nb ......
Integer n1 = new Integer(1);
Integer n2 = new Integer(1);
System.out.println(n1==n2); // false
Integer n1 = new Integer(3);
Integer n2 = new Integer(3);
System.out.println(n1.equals(n2)); //true
equals()默认也是比较reference,但是Java中的class覆盖了equals()方法 ......