java swing 使用timer导致界面卡

zhouyusunquan 2012-11-30 05:53:46
我有一个功能,当界面打开时,就会有一个timer在执行,没三秒执行一次,执行过程中,界面会卡
代码如下
public class MainFrame extends JFrame implements ActionListener {
private Timer timer;
public MainFrame() {
super();
setBounds(100, 100, 800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
try {
jbInit();
} catch (Throwable e) {
e.printStackTrace();

}
timer = new Timer(3000, this);
timer.start();
//
}
public void actionPerformed(ActionEvent e) {
int i = 0;
Cvrinfo cust = null;
try {

int intport = PropertiesUtil.getIntValue("cvrCom");
// Cvr100Proc demo = new Cvr100Proc();
int ret = 0;
String retstr = "";
ret = Cvr100Proc.CVR_InitComm(intport); // 第一步初始化
System.out.println("CVR_InitComm返回值11111:" + String.valueOf(ret));
if (ret == 1) {
while (isBool()) {
ret = Cvr100Proc.CVR_Authenticate(); // 第二步确认合法性
System.out.println("CVR_Authenticate返回值:"
+ String.valueOf(ret));
if (ret == 1) {
cust = new Cvrinfo();
ret = Cvr100Proc.CVR_Read_Content(4); // 第三步读取信息生成文件
System.out.println("CVR_Read_Content返回值:"
+ String.valueOf(ret));

retstr = Cvr100Proc.GetPeopleName();
cust.setPeopleName(retstr); // 姓名

retstr = Cvr100Proc.GetPeopleSex();
cust.setPeopleSex(retstr); // 性别

retstr = Cvr100Proc.GetPeopleNation();
cust.setPeopleNation(retstr); // 民族

retstr = Cvr100Proc.GetPeopleBirthday();
cust.setPeopleBirthday(retstr); // 出生日期:" + retstr);

retstr = Cvr100Proc.GetPeopleAddress();
cust.setPeopleAddress(retstr); // 地址:" + retstr);

retstr = Cvr100Proc.GetPeopleIDCode();
cust.setPeopleIDCode(retstr); // 身份证" + retstr);

retstr = Cvr100Proc.GetDepartment();
cust.setDepartment(retstr); // 发证机关:" + retstr);

retstr = Cvr100Proc.GetStartDate();
cust.setStartDate(retstr); // 开始日期" + retstr);

retstr = Cvr100Proc.GetEndDate();
cust.setEndDate(retstr); // 有效结束日期:" + retstr);

break;
} else {
continue;
}
}
retstr = Cvr100Proc.GetManuID();
ret = Cvr100Proc.CVR_CloseComm(); // 最后关闭连接
}
if (cust != null) {
// cust=new Cvrinfo();
String msg=com.common.ReadFromFile.readFileByLines(PropertiesUtil.getStrValue("filepath"));
String[] objs=msg.split("\\|");
String days=com.common.ConvertDemo.getDate();
OrderInfo info = new OrderInfo();
info.setOrderdate(days);
info.setOrdery(days.substring(0, 4));
info.setOrderym(days.substring(0, 7));
info.setOrderymd(days.substring(0, 10));
info.setTrip(objs[0]);
info.setPrice(objs[1]);
info.setCcard(cust.getPeopleIDCode());
info.setCname(cust.getPeopleName());
info.setSaler(this.us.getName());
OrderDAO dao = new OrderDAO();
i=dao.saveOrder(info);

}
} catch (Exception ex) {
com.bltx.cvr.LogInit.write("扫描异常了",ex);
}
if(cust!=null&&!cust.getPeopleName().equals("")){
if(i==0){
JOptionPane.showMessageDialog(null, "出单失败!");
}
}
}
}
...全文
201 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧