-
GUI编程中经常使用
-
实现一个监听器的接口(有很多种)
//统计网站在线人数:统计session public class OnlineCountListener implements HttpSessionListener{ //创建session监听 //一旦创建一次session机会触发一次事件 public void sessionCreated(HttpSessionEvent se) { ServletContext ctx = se.getSession().getServletContext(); System.out.println(se.getSession().getId()); Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount"); if (onlineCount == null){ onlineCount = new Integer(1); }else{ int count = onlineCount.intValue(); onlineCount = new Integer(count+1); } ctx.setAttribute("OnlineCount",onlineCount); } //销毁session监听 //一旦销毁一次session机会触发一次事件 public void sessionDestroyed(HttpSessionEvent se) { ServletContext ctx = se.getSession().getServletContext(); Integer onlineCount = (Integer) ctx.getAttribute("OnlineCount"); if (onlineCount == null){ onlineCount = new Integer(0); }else{ int count = onlineCount.intValue(); onlineCount = new Integer(count-1); } ctx.setAttribute("OnlineCount",onlineCount); } }
-
web.xml配置
<listener> <listener-class>com.java.listener.OnlineCountListener</listener-class> </listener>
-
监听器在GUI中的使用
public class TestPanel { public static void main(String[] args) { Frame frame = new Frame("Java"); //新建一个窗体,标题为Java Panel panel = new Panel(null); //面板 frame.setLayout(null); //设置窗体布局 frame.setBounds(300,300,500,500); frame.setBackground(new Color(0,0,225)); //设置窗体背景颜色 panel.setBounds(50,50,300,300); panel.setBackground(new Color(0,255,0)); frame.add(panel); frame.setVisible(true); //监听关闭事件 frame.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { //system.exit(0):正常退出,程序正常执行结束退出 //system.exit(1):是非正常退出,就是说无论程序正在执行与否,都退出, System.exit(1); } }); } }
Listener监听器
最新推荐文章于 2024-11-03 11:01:20 发布