如何从swing中获取服务器中session的时间,如果session过期则提示重新登录。
swing是通过java web start 方式启动的。
现有个想法但不知道如何实现,在jframe以及所有组件中用一个新的线程来实现client清理session的动作,
也就是说当用户在jframe中操作一次,那么新的线程启动来把session的时间归零。当用户不在次操作时,用个计数器去记录,当时间大于服务器中设置的session时间时,弹出重新登录的窗口, 我想问问大家有没有好的方法,或者请大家告诉我有没有一个对整个jframe包含内的所有组件都能监听的类。processEvent不可以
因为它只能监听jframe。 大家有什么好的思路 给点意见和建议。
谢谢大家
swing是通过java web start 方式启动的。
现有个想法但不知道如何实现,在jframe以及所有组件中用一个新的线程来实现client清理session的动作,
也就是说当用户在jframe中操作一次,那么新的线程启动来把session的时间归零。当用户不在次操作时,用个计数器去记录,当时间大于服务器中设置的session时间时,弹出重新登录的窗口, 我想问问大家有没有好的方法,或者请大家告诉我有没有一个对整个jframe包含内的所有组件都能监听的类。processEvent不可以
因为它只能监听jframe。 大家有什么好的思路 给点意见和建议。
谢谢大家
楼主【wang139】截止到2008-07-22 08:36:46的历史汇总数据(不包括此帖):
发帖的总数量:8 发帖的总分数:440 每贴平均分数:55
回帖的总数量:89 得分贴总数量:47 回帖的得分率:52%
结贴的总数量:7 结贴的总分数:340
无满意结贴数:1 无满意结贴分:50
未结的帖子数:1 未结的总分数:100
结贴的百分比:87.50 % 结分的百分比:77.27 %
无满意结贴率:14.29 % 无满意结分率:14.71 %
楼主加油
可不可以在JFrame上面添加MouseMotionListener,在鼠标移动的时候归零seesion时间。
import java.awt.Component;
import java.awt.Frame;
import java.awt.Toolkit;
import java.awt.event.AWTEventListener;/**
* AwtEventsCatcher
* @author SageZk
*/
public class AwtEventsCatcher { public static void main(String[] args) {
TestFrame tf = new TestFrame(); //你的窗体
class EventsListener implements AWTEventListener {
private final Frame frm;
public EventsListener(Frame frm) {
if (frm == null) throw new NullPointerException("frm is null");
this.frm = frm;
}
public void eventDispatched(AWTEvent event) {
//获取产生事件组件所在的根容器
Component c = (Component) event.getSource();
while (c.getParent() != null) c = c.getParent();
//判断产生事件组件的根容器是否是 frm
if (c != this.frm) return;
//要做的操作
System.out.println(event.getID());
}
}
Toolkit.getDefaultToolkit().addAWTEventListener(
new EventsListener(tf),
AWTEvent.MOUSE_EVENT_MASK //替换成你自己想捕获事件的掩码
);
tf.setVisible(true);
}}