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

📄 vipconsumecountdialog.java

📁 一个优秀的干洗店管理系统
💻 JAVA
字号:
package view.dialog.countmanage;

import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.GridBagLayout;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTabbedPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

import common.LogWriter;

import view.common.CenterWindow;
import view.common.DataPicker;
import view.common.GBC;
import view.frame.MainFrame;
import control.vipconsumeaction.VipConsumeAction;

/**
 * 会员消费统计对话框
 */
public class VipConsumeCountDialog extends JDialog {
	// 日期及姓名输入框标签
	private JLabel dateLabel, toLabel, nameLabel;

	// 姓名输入框
	private JTextField nameTxt;

	// 构造日历控件
	protected DataPicker picker = new DataPicker();

	protected JComboBox fromDateBox, toDateBox;

	private JTable vipChargeTable, vipConsumeTable;

	// 上面的查询面板
	private JPanel inquirePanel;

	private JPanel vipChargePanel, vipConsumePanel;

	private JTabbedPane tabbedPane;
	private LogWriter log;

	public VipConsumeCountDialog(JFrame frame,LogWriter log) {
		super(frame,"会员消费统计",true);
		this.log = log;
		log.log("进入类VipConsumeCountDialog的构造方法", LogWriter.INFO);
		initialPanel();
	}

	public void initialPanel() {
		this.setSize(800, 600);
		CenterWindow.centerWindow(this);
		this.setLayout(new BorderLayout());
		this.add(buildInquirePanel(), BorderLayout.NORTH);
		this.add(buildTabbedPane());
		this.setVisible(true);
	}

	/**
	 * 构造上面的查询面板
	 * 
	 * @return
	 */
	public JPanel buildInquirePanel() {
		if (inquirePanel == null) {
			inquirePanel = new JPanel();
			inquirePanel.setLayout(new FlowLayout());
			initLabel();
			inquirePanel.add(dateLabel);
			inquirePanel.add(buildFromDateComboBox());
			inquirePanel.add(toLabel);
			inquirePanel.add(buildToDateComboBox());
			inquirePanel.add(nameLabel);
			inquirePanel.add(buildNameTxt());
			inquirePanel.add(buildButton("查询"));
			inquirePanel.add(buildButton("打印报表"));
			inquirePanel.add(buildButton("退出"));

		}
		return inquirePanel;
	}

	/**
	 * 构造下面的信息显示面板
	 * 
	 * @return
	 */
	public JTabbedPane buildTabbedPane() {
		if (this.tabbedPane == null) {
			tabbedPane = new JTabbedPane();
			tabbedPane.add("会员消费记录", buildVipConsumePanel());
			tabbedPane.add("会员充值记录", buildVipChargePanel());
		}
		return tabbedPane;
	}

	public JPanel buildVipConsumePanel() {
		if (vipConsumePanel == null) {
			vipConsumePanel = new JPanel();
			vipConsumePanel.setLayout(new GridBagLayout());
			vipConsumePanel
					.add(getJTableScrollPane(buildVipConsumeTable()), new GBC(
							0, 0, 10, 10).setFill(GBC.BOTH).setWeight(100, 100));
		}
		return vipConsumePanel;
	}

	public JPanel buildVipChargePanel() {
		if (vipChargePanel == null) {
			vipChargePanel = new JPanel();
			vipChargePanel.setLayout(new GridBagLayout());
			vipChargePanel
					.add(getJTableScrollPane(buildVipChargeTable()), new GBC(0,
							0, 10, 10).setFill(GBC.BOTH).setWeight(100, 100));
		}
		return vipChargePanel;

	}

	/**
	 * 用于放表的ScrollPane
	 * 
	 * @return
	 */
	public JScrollPane getJTableScrollPane(JTable table) {
		JScrollPane js = new JScrollPane(table);
		
		return js;
	}

	/**
	 * 创建一个用于显示会员消费记录的表
	 * 
	 * @return
	 */
	public JTable buildVipConsumeTable() {
		if (vipConsumeTable == null) {
			String[] names = { "交易单号", "添加日期", "取衣日期", "应收金额", "实收金额", "优惠金额",
					"会员编号", "会员名称", "联系手机", "是否取走","储值卡" };
			Object[][] data = {};
			DefaultTableModel model = new DefaultTableModel(data, names) {
				public boolean isCellEditable(int rowIndex, int columnIndex) {
					return false;
				}
			};
			vipConsumeTable = new JTable(model);
		}
		vipConsumeTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
		return vipConsumeTable;
	}

	/**
	 * 
	 * 构造用于显示会员充值记录的表
	 * 
	 * @return
	 */
	public JTable buildVipChargeTable() {
		if (vipChargeTable == null) {
			String[] names = { "充值日期", "充值金额", "实收金额", "会员编号", "会员名称", "联系手机",
					"操作员" };
			Object[][] data = {};
			DefaultTableModel model = new DefaultTableModel(data, names) {
				public boolean isCellEditable(int rowIndex, int columnIndex) {
					return false;
				}
			};
			vipChargeTable = new JTable(model);
		}
		return vipChargeTable;
	}

	public JButton buildButton(String name) {
		JButton btn = new JButton(name);
		btn.addActionListener(new VipConsumeAction(this,log));
		return btn;
	}

	public JComboBox buildFromDateComboBox() {
		if (fromDateBox == null) {
			fromDateBox = picker.getDataPacker();
		}
		return fromDateBox;
	}

	public JComboBox buildToDateComboBox() {
		if (toDateBox == null) {
			toDateBox = picker.getDataPacker();
		}
		return toDateBox;
	}

	public JTextField buildNameTxt() {
		if (nameTxt == null) {
			nameTxt = new JTextField(12);
		}
		return nameTxt;
	}

	public void initLabel() {
		dateLabel = new JLabel("日期:");
		toLabel = new JLabel("到");
		nameLabel = new JLabel("请输入会员姓名:");
	}
}

⌨️ 快捷键说明

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