⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lovewallwindowpane.java

📁 基于Ajax的WebOS————PhoneShow案例
💻 JAVA
字号:
package com.cownew.phoneshow.ent;

import java.util.List;

import nextapp.echo2.app.CheckBox;
import nextapp.echo2.app.ContentPane;
import nextapp.echo2.app.Row;
import nextapp.echo2.app.SplitPane;
import nextapp.echo2.app.WindowPane;
import nextapp.echo2.app.event.ActionEvent;
import nextapp.echo2.app.event.ActionListener;

import org.apache.commons.lang.math.RandomUtils;

import com.cownew.phoneshow.MainApp;
import com.cownew.phoneshow.basedata.lovewall.ILoveWallDAO;
import com.cownew.phoneshow.basedata.lovewall.LoveWallInfo;
import com.cownew.phoneshow.framework.common.ClientInfo;
import com.cownew.phoneshow.framework.common.ServiceLocator;

import echopointng.ExtentEx;
import echopointng.PushButton;

public class LoveWallWindowPane extends WindowPane
{
	//放置爱墙条目用的面板
	private ContentPane contentPane;

	public LoveWallWindowPane()
	{
		super();
		setTitle("爱墙");
		SplitPane splitPane = new SplitPane(
				SplitPane.ORIENTATION_VERTICAL_TOP_BOTTOM);
		splitPane.setSeparatorPosition(new ExtentEx("30px"));
		add(splitPane);

		// 创建工具条
		Row rowToolBar = new Row();
		splitPane.add(rowToolBar);

		contentPane = new ContentPane();
		splitPane.add(contentPane);

		PushButton btnNew = new PushButton("新建");
		rowToolBar.add(btnNew);
		btnNew.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e)
			{
				createItem();
			}
		});

		PushButton btnSave = new PushButton("保存");
		rowToolBar.add(btnSave);
		btnSave.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e)
			{
				saveItems();
			}
		});

		final CheckBox cbRange = new CheckBox("显示所有");
		cbRange.setSelected(true);
		rowToolBar.add(cbRange);
		cbRange.addActionListener(new ActionListener() {

			public void actionPerformed(ActionEvent e)
			{
				loadItems(cbRange.isSelected());
			}
		});

		loadItems(true);
	}

	// 保存当前用户的所有便条
	protected void saveItems()
	{
		for (int i = 0, n = contentPane.getComponentCount(); i < n; i++)
		{
			LoveWallItem lwItem = (LoveWallItem) contentPane.getComponent(i);
			lwItem.save();
		}
	}

	// 创建一个爱墙条目
	protected void createItem()
	{
		ClientInfo clientInfo = new ClientInfo(MainApp.getActive());
		// 取得一个随机数做为条目的横坐标
		int x = RandomUtils.nextInt(clientInfo.getScreenWidth() / 2);
		// 取得一个随机数做为条目的纵坐标
		int y = RandomUtils.nextInt(clientInfo.getScreenHeight() / 2);
		ILoveWallDAO lwDAO = (ILoveWallDAO) ServiceLocator
				.getService(ILoveWallDAO.class);
		String userId = MainApp.getActiveUserId();
		// 保存创建的条目到数据库
		LoveWallInfo lwInfo = lwDAO.createLoveWall(userId, "", x, y);

		LoveWallItem item = new LoveWallItem(lwInfo);
		// 将创建的爱墙显示到屏幕中
		contentPane.add(item);
	}

	// 加载消息条,showall表示是否显示全部还是只显示当前用户的
	private void loadItems(boolean showAll)
	{
		// 清除原有的资料条
		contentPane.removeAll();

		List items = null;
		ILoveWallDAO dao = (ILoveWallDAO) ServiceLocator
				.getService(ILoveWallDAO.class);
		if (showAll)
		{
			// 如果是显示所有消息则不过滤
			items = dao.queryAll();
		} else
		{
			// 如果值显示当前用户的,则按照用户名进行过滤
			items = dao.queryByUserId(MainApp.getActiveUserId());
		}
		// 将爱墙条目加载到界面中
		for (int i = 0, n = items.size(); i < n; i++)
		{
			LoveWallInfo lwInfo = (LoveWallInfo) items.get(i);
			LoveWallItem item = new LoveWallItem(lwInfo);
			contentPane.add(item);
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -