re: Swing之JTable运用线程一个测试 Qil.Wong 2008-08-04 15:51
嗯,wolfsquare说的对,SwingUtilities.invokeLater(runnable)将runnable操作放在Swing的EDT线程上,会挨个儿执行,不会同时执行,就不会产生溢出。这个和SwingWorker的publish很类似。
关键在SwingUtilities.invokeLater(runnable);上,和线程没关系
re: SWING展示系统文件树 grid 2008-07-24 08:43
上面的源代码的最后的MAIN函数错了,正确应该如下:
public static void main(String args[]) {
//JDHSystemFileTree tree = new JDHSystemFileTree();
SystemFileTree tree = new SystemFileTree();
// 给个路径作演示
tree.initData("D:/");
}
String sql="select * from tableA union select * from tableB";
if(sql.toLowerCase().indexOf(" union ")>-1){
String sql2[]=sql.toLowerCase().split(" union ");
for(int i=0;i<sql2.length;i++){
System.out.println(sql2[i]);
}
}
何必这样
@哭人
这里给出的方案是在“没有强行标准”的情况下的解决方案,而不是讨论怎么造成“没有强行标准”。
楼上误解了,
String sql = "select * from tableA UNION select * from tableB"
"select * from tableA UnION select * from tableB"
"select * from tableA UNiON select * from tableB"
"select * from tableA UNIoN select * from tableB"
"select * from tableA UnIon select * from tableB"
试问如何替换?本例的前提条件是:
UNION 里的字符大小写不确定
String sql = "select * from tableA UNION select * from tableB"
.replaceFirst("UNION", "union");
if (sql.indexOf(" union ") > -1) {
String sql2[] = sql.split(" union ");
for (int i = 0; i < sql2.length; i++) {
System.out.println(sql2[i]);
}
}
既然是无法区分大小写,不如一开始就替换掉!
re: 杰表2008报表样例一 jeasonzhao 2008-05-03 23:27
不知道和润乾比起如何
re: 杰表2008报表样例二 report9d 2008-04-22 15:26
做得不错,为国产报表软件加油!
re: 杰表2008报表样例一 蒋家狂潮 2008-04-18 14:50
是的,最新版本的,能适应咱们中国人复杂报表的需求 ^_^
re: 杰表2008报表样例一 lizhiyang 2008-04-18 11:41
恶心的广告
re: 杰表2008报表样例一 zht 2008-04-18 11:41
你们公司做的报表?
看着功能挺不错的
這個問題我也遇到過。
“不明白你到底要干什么,你见过一个Iterator对象循环两次的吗? ”
楼上的真是少见多怪,在很多场合,在遇到要反复使用同一个对象时,
比如把用户对象放到session中,反复使用。Iterator也一样,有时后把数据
查询出来后,在以后也许还用到。
Iterator遍历完了是没有重置的。
建议你要用,封装一个方法出来,每次调用就可以了
Iterator就像ResultSet一样,内部有一个指针,指向上一个元素,第一次迭代完成,指针在最后一个元素
再次迭代,向后当然走访问不到数据了,除非把指针再移动第一个元素前同,像可回溯的记录集那样
最好的,能让你留下深刻印象的办法就是去读JDK的源代码,step into.
楼上的太激动了,我只不过把看到现象帖出来讨论讨论。
public static void main(String[] args) {
List list = null;
for(int i=1;i<6;i++){
list = new ArrayList();
list.add(i);
}
Iterator it = list.iterator();
while(it.hasNext()){
System.out.println(it.next());
}
boolean result = it.hasNext();
System.out.println(result);
}
自己好好看看
不明白你到底要干什么,你见过一个Iterator对象循环两次的吗?
就拿你的例子来说,你只不过是把Iterator重新赋值,跟本就不是循环两次,你自己都说了它是一个新的对象了,怎么还循环两次呢????
自己好好看看API,别把别人给诱导了
re: 出个题目,考考大家,很容易犯错哦! Glen 2007-09-20 14:18
应该和静态方法没有什么关系吧,add(int j)是值传递,当然不会改变i的值了
你可以用ListIterator,它可以双向遍历
一般来说,Iterator都是用于遍历的,一般一遍就可以了,如果一直都可以的话,那么它的作用也就失去了.
re: 原来Iterator是这样的,才发现,失败啊! TigerShark 2007-09-20 11:56
请参见Iterator模式,
每次使用都需要创建一个新的Iterator。
re: 动态生成javaScript代码的执行问题 Tiger F 2007-09-17 22:53
已经在用script修改页面的内容了,为什么不把success直接写在innerHTML中还要再用另一段script输出?直接写成下面的样子不是很简单?
unction loadScript(){
var element=document.getElementById("result");
element.innerHTML="The result is: Successful";
}
re: 出个题目,考考大家,很容易犯错哦! 蒋家狂潮 2007-09-14 21:20
好像可以这样解释:i是全局静态变量;
private static void add(int j){
j++;
}
静态方法不会改变 i 的值;
为什么静态变量在静态方法里就会出现这样的效果,偶也不知 :)
re: 出个题目,考考大家,很容易犯错哦! adaiye 2007-09-14 18:53
lz给个解释啊! 初学!
你用innerHTML当然是不行的,document.write(context) 就可以了
re: 出个题目,考考大家,很容易犯错哦! TiGERTiAN 2007-09-14 12:09
0 1 1 2
re: 出个题目,考考大家,很容易犯错哦! 杨爱友 2007-09-13 23:58
这不就是面试中经常考的题目吗?典型题目
re: 出个题目,考考大家,很容易犯错哦! Robin's Java World 2007-09-13 17:59
private static void add(int j){
j++;
}
关键就是这个,是值传递。
re: 出个题目,考考大家,很容易犯错哦! 交口称赞 2007-09-13 17:03
应该是
value1:0
value2:1
value3:1
value4:2