public class DayReport implements JFrame
{
JFrame jf;
JPanel jp1,jp2;
JButton jbok;
JTextArea jta;
JScrollPane scroll;
public DayReport(){…………构造方法,中间只有一个按钮,一个JTextArea文本域用来显示循环内容.按下按钮执行方法dowork()}
public dowork()
{
Connection conn=conOracle();
try{
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from e");
while(rs.next())
{
//相关一些操作
jta.append("操作执行成功"+"\r\n");
}
}
catch(Exception e){e.printStackTrace();}
}
public conOracle(){连接数据库的方法}
public static void main(String[] args)
{
new DayReport();
}
} 运行的时候很正常,最后的结果也可以出来,就是在点击确定按钮时,JFrame 就像死了一样,等循环结束后,jta才显示出来结果,但是执行过程中确不能显示,请问是为什么?有人能回答么?谢谢了
{
JFrame jf;
JPanel jp1,jp2;
JButton jbok;
JTextArea jta;
JScrollPane scroll;
public DayReport(){…………构造方法,中间只有一个按钮,一个JTextArea文本域用来显示循环内容.按下按钮执行方法dowork()}
public dowork()
{
Connection conn=conOracle();
try{
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from e");
while(rs.next())
{
//相关一些操作
jta.append("操作执行成功"+"\r\n");
}
}
catch(Exception e){e.printStackTrace();}
}
public conOracle(){连接数据库的方法}
public static void main(String[] args)
{
new DayReport();
}
} 运行的时候很正常,最后的结果也可以出来,就是在点击确定按钮时,JFrame 就像死了一样,等循环结束后,jta才显示出来结果,但是执行过程中确不能显示,请问是为什么?有人能回答么?谢谢了
解决方案 »
- 高分求解 Spring http invoke + hibernate 实现CS结构
- 请问如何将MySQL数据库的驱动程序加入自己的jar文件中?
- 请教:java中如何实现c#中的base
- 为什么我写的线程使得CPU占用率总是100%?
- java中vector的使用问题
- jfreechart 输出图片的怪异问题
- J2ME技术讨论组 群号:8207529 欢迎高手加入和指点啊 可以讨论java相关问题 主要讨论J2ME
- 问一个简单的问题:你是如何输入的
- 不会这么夸张吧~
- Java滚动条大小如何随文字内容不断改变?
- 如何实现点击jtree里的节点后jtable里的值进行相应的更改
- 为什么Java 6.0 的WindowsLookAndFeel特别难看????
如果是这样的话,是因为监听器内的代码是在事件派发线程中做的,而数据库的读取属于耗时操作,Swing是单线程的,所有界面绘制相关操作都在事件派发线程中处理,当把数据库读取这样的操作放到事件派发线程时,就会阻碍事件派发线程的分发,也就是说在数据库的查询完成前,Swing是不会进行界面绘制相关的操作的,所以界面像是gei屁了一样~~