📄 vipconsumecountdialog.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 + -