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

📄 viewlist.java

📁 △项目名称:阳光酒店管理系统 △委托单位:清华IT学习认证中心 △制作小组:华育国际 112301 班 CS结构
💻 JAVA
字号:
/**
 *##############################################################################
 *
 *	[ 项目名      ]  : 
 *  [ 公司名      ]  : SunshineSOFT
 *	[ 模块名      ]  : ViewList控件
 *	[ 文件名      ]  : ViewList.java
 *	[ 相关文件    ]  : 
 *	[ 文件实现功能]  : 生成和我的电脑差不多的面板
 *	[ 作者        ]  : 顾俊
 *	[ 版本        ]  : 1.0
 *	----------------------------------------------------------------------------
 *	[ 备注        ]  : 
 *	----------------------------------------------------------------------------
 *	[ 修改记录    ]  : 
 *
 *	[ 日  期 ]     [版本]         [修改人]         [修改内容] 
 *	2006/04/19      1.0             顾俊            创建
 *	##--------------------------------------------------------------------------
 *  			 版权所有(c) 2006-2007,  SunshineSOFT Corporation
 *	--------------------------------------------------------------------------##
 *	
 *	[ 函数说明    ]  :	
 *	
 *	[## public ViewList(int buttons) {} ]:
 *		功能: 构造函数,并制作主面板
 *
 *	[## public void remeButtons() {} ]:	
 *		功能: 补按键空位
 *
 *	[## public JButton getButton(String roomNum) {} ]:
 *		功能: 获得面板中的指定按键
 *
 *	[## public void setButtonImage(String buttonName, String state) {} ]:
 *		功能: 设置按键图片
 *	
 *	[## public void addButton(String name) {} ]:
 *		制作功能按键,并加入相应的模板中,返回JButton方便主程序加监听
 *
 *  [ 遗留问题    ]  : 
 *
 *##############################################################################
 */
package com.sunshine.sunsdk.swing;

import javax.swing.*;
import java.awt.*;
import java.util.*;


public class ViewList extends JPanel {
	
	//放置按键的数组
	private Hashtable buttons = new Hashtable();
	//放置按键的面板
	private JPanel panelMain;
	//ViewList 里面横向按键的个数,和行数
	private int column	= 6;
	private int row		= 5;
	
	//面板内按键总数
	private int buttonTotal = 30;
	//按键记数器
	private int buttonCount = 0;
	
	
	/**=======================================================================**
	 *		[## public ViewList(int buttons) {} ]:		构造函数,并制作主面板
	 *			参数   :int buttons 表示ViewList中的按键数量
	 *			返回值 :无
	 *			修饰符 :public
	 *			功能   :构造函数,并制作主面板
	 **=======================================================================**
	 */
	public ViewList(int buttons) {
		super(new BorderLayout());
		
		JScrollPane spMain;								//定义滚动面板
		
		//根据按键数据计算面板的行数和列数
		int vRow = buttons / column;
		if(vRow > row) {					//如果有足够的按键数量,则设置面板行数,
			if(buttons % column > 0) {		//否则使用默认行数 row = 5
				row = vRow + 1;
			}else {
				row = vRow;
			}//Endif
			buttonTotal = buttons;						//获得按键总数
		}//Endif
		
		//建立按键面板
		panelMain	= new JPanel(new GridLayout(row, 1, 5, 15));		
		//设置默认背景色
		panelMain.setBackground(new Color(248, 242, 230));
		spMain	  = new JScrollPane(panelMain);
		//加入主面板
		this.add("Center", spMain);
	}
	
	/**=======================================================================**
	 *		[## public void remeButtons() {} ]:		补按键空位
	 *			参数   :无
	 *			返回值 :无
	 *			修饰符 :public
	 *			功能   :补按键空位,如果按键数量不足 column * row 则加空JLabel补位,
	 *					 不然总局会乱	注意,此方法一定要在加完所有按键后使用
	 **=======================================================================**
	 */
	public void remeButtons() {
		if(buttonCount < buttonTotal) {
			for (int i = 0; i < buttonTotal - buttonCount; i++) {
				JLabel lb = new JLabel(" ");
				panelMain.add(lb);				//补空位
		    }//Endfor
		}//Endif
	}
	
	/**=======================================================================**
	 *		[## public JButton getButton(String roomNum) {} ]:		
	 *			参数   :String roomNum 对象表示按键名字,也就是房间号
	 *			返回值 :JButton
	 *			修饰符 :public
	 *			功能   :获得面板中的指定按键
	 **=======================================================================**
	 */
	public JButton getButton(String roomNum) {
		return (JButton)buttons.get(roomNum);
	}
	
	/**=======================================================================**
	 *		[## public void setButtonImage(String buttonName, String state) {} ]:		
	 *			参数   :String buttonName 对象表示按键在哈希表中的键名
	 *					 String State 对象表示房间状态
	 *			返回值 :无
	 *			修饰符 :public
	 *			功能   :设置按键图片
	 **=======================================================================**
	 */
	public void setButtonImage(String buttonName, String state) {
		String picName = "";
		if(state.equals("可供"))
			picName = "pic/room/prov.gif";
		else if(state.equals("占用"))
			picName = "pic/room/pree.gif";
		else if(state.equals("预订"))
			picName = "pic/room/rese.gif";
		else if(state.equals("钟点"))
			picName = "pic/room/clock.gif";
		else if(state.equals("脏房"))
			picName = "pic/room/clean.gif";
		else if(state.equals("停用"))
			picName = "pic/room/stop.gif";
		((JButton)buttons.get(buttonName)).setIcon(new ImageIcon(picName));
	}
	
	/**=======================================================================**
	 *		[## public void addButton(String name) {} ]:
	 *			参数   :String name	表示功能按键的名字
	 *			返回值 :JButton
	 *			修饰符 :public
	 *			功能   :制作功能按键,并加入相应的模板中,返回JButton方便主程序加监听
	 **=======================================================================**
	 */
	public JButton addButton(String name) {
		JButton button = new JButton(name);
		button.setBorderPainted(false);				//设置按键无边框
		button.setContentAreaFilled(false);			//设置按键背景色透明
		button.setHorizontalTextPosition(SwingConstants.CENTER);//设置Ico与文字居中
		button.setVerticalTextPosition(SwingConstants.BOTTOM);//设置Ico相对文字的位置
		panelMain.add(button);		  				//将按键加入按键面板
		buttons.put(name, button);					//将按键存入哈希表
		buttonCount++;								//按键记数器+1
		return button;
	}
}

⌨️ 快捷键说明

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