java遇到的问题及解答

1.工作线程与SwingWorker是什么,如何用?

当一个Swing程序需要执行一个长时间的任务,通常将使用一个工作线程来完成。每个任务在一个工作线程中执行,它是一个javax.swing.SwingWorker类的实例。SwingWorker类是抽象类;你必须定义它的子类来创建一个SwingWorker对象;通常使用匿名内部类来这做这些。

SwingWorker提供一些通信与控制的特征:

[1]SwingWorker的子类可以定义一个方法,done。当后台任务完成的时候,它将自动的被事件派发线程调用。

[2]SwingWorker类实现java.util.concurrent.Future。这个接口允许后台任务提供一个返回值给其他线程。该接口中的方法还提供允许撤销后台任务以及确定后台任务是被完成了还是被撤销的功能。

[3]后台任务可以通过调用SwingWorker.publish来提供中间结果,事件派发线程将会调用该方法。

[4]后台任务可以定义绑定属性。绑定属性的变化将触发事件,事件派发线程将调用事件处理程序来处理这些被触发的事件。

时间: 2024-08-27 22:02:40

java遇到的问题及解答的相关文章

JAVA常见面试题及解答-java开发

JAVA常见面试题及解答 Java的垃圾回收总结  浅谈Java中的内部类 1)transient和volatile是java关键字吗? 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持.例如: class T { transient int a;  //不需要维持 int b;  //需要维持 } 这里,如果T类的一个对象写入一个持久的存储区域,a的内容不被保存,但b的将被保存. volatile修饰符告诉编译器被volatile修饰的变量可以被程序的其他部分改变.在多

【转载】JAVA常见面试题及解答(精华)

JAVA常见面试题及解答(精华) 1)transient和volatile是java关键字吗?(瞬联) 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持.例如: class T { transient int a;  //不需要维持 int b;  //需要维持 } 这里,如果T类的一个对象写入一个持久的存储区域,a的内容不被保存,但b的将被保存. volatile修饰符告诉编译器被volatile修饰的变量可以被程序的其他部分改变.在多线程程序中,有时两个或更多的线程共

java Dom 解析 XML 详细解答

Dom4j遍历解析XML测试 近来老和XML打交道,不深挖不行了.. 这是一个Dom4j解析XML的例子,为做复杂递归处理前期所写的例子.涵盖了XML的解析方面大部分核心API. 环境: Dom4j-1.6.1 Dom4j解析需要XML需要的最小类库为: dom4j-1.6.1.jar jaxen-1.1-beta-6.jar 目标: 解析一个xml,输出所有的属性和元素值. 测试代码: XML文件: <?xml version="1.0" encoding="GBK&

Java语法基础常见疑惑解答

1. 类是java的最小单位,java的程序必须在类中才能运行 2. java函数加不加static有何不同 java中声明为static的方法称为静态方法或类方法.静态方法可以直接调用静态方法,访问静态变量,但是不能直接访问实例变量和实例方法.静态方法中不能使用this关键字,因为静态方法不属于任何一个实例.静态方法不能被子类的静态方法覆盖.static 表示是静态的,用static修饰的方法在本类可以直接写方法名调用!在其他类里可以用类名.方法名调用!而不用实例化.如果不加static,则一

java学习中一些疑惑解答(2)

(一)继承条件下构造方法的调用 以下面的源代码为例: package ktdemo; class Grandparent { public Grandparent() { System.out.println("GrandParent Created."); } public Grandparent(String string,String str) { System.out.println("GrandParent Created.String:" + strin

Java语法基础常见疑惑解答8,16,17,21图片补充

8. 16. 17. 21 原文地址:https://www.cnblogs.com/zzstdruan1707-4/p/9744448.html

java面试题及答案

JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象.2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的一个新类可以从现有的类中派生,这个过程称为类继承.新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始类称为新类的基类(父类).派

Java获取图片属性

BufferdImage bfi = ImageIO.read( new File(“d:/file/img.jpg”) ); //获取图片位深度 Int imgBit = bfi.getColorModel().getPixelSize(); //获取图片颜色模式 RGB CMYK等模式 bfi.getColorModel().getColorSpace().getType(); AE 的视频工程不能使用32位的图片 可以用画图工具打开 然后 保存为24位图片 也可以使用java转码图片 详细

Java面试题及答案(基础题122道,代码题19道)

转载自:http://www.blogjava.net/fanyingjie/archive/2007/06/27/126467.aspx JAVA相关基础知识1.面向对象的特征有哪些方面 1.抽象:抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面.抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节.抽象包括两个方面,一是过程抽象,二是数据抽象.2.继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法.对象的