package cn.itcast.fruitstore.view;
import java.awt.Frame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import cn.itcast.fruitstore.tools.GUITools;
/**
* 管理窗口类
*/
@SuppressWarnings("serial")
public abstract class AbstractAdminDialog extends JDialog{
//定义界面使用到的组件作为成员变量
private JLabel tableLabel = new JLabel("水果列表");//水果列表标题
private JScrollPane tablePane = new JScrollPane();//滚动视口
protected JTable table = new JTable(); //水果列表
private JLabel numberLabel = new JLabel("水果编号");//编号标题
private JLabel nameLabel = new JLabel("水果名称");//名称标题
private JLabel priceLabel = new JLabel("水果单价");//单价标题
private JLabel unitLabel = new JLabel("计价单位");//计价单位标题
//添加功能组件
protected JTextField addNumberText = new JTextField(6);//添加编号文本框
protected JTextField addNameText = new JTextField(6);//添加名称文本框
protected JTextField addPriceText = new JTextField(6);//添加单价文本框
protected JTextField addUnitText = new JTextField(6);//添加计价单位文本框
private JButton addBtn = new JButton("添加水果");//添加按钮
//修改功能组件
protected JTextField updateNumberText = new JTextField(6);//修改编号文本框
protected JTextField updateNameText = new JTextField(6);//修改名称文本框
protected JTextField updatePriceText = new JTextField(6);//修改单价文本框
protected JTextField updateUnitText = new JTextField(6);//修改计价单位文本框
private JButton updateBtn = new JButton("修改水果");//修改按钮
//删除功能组件
protected JTextField delNumberText = new JTextField(6);//添加编号文本
private JButton delBtn = new JButton("删除水果");//删除按钮
//构造方法
public AbstractAdminDialog() {
this(null,true);
}
public AbstractAdminDialog(Frame owner, boolean modal) {
super(owner, modal);
this.init();// 初始化操作
this.addComponent();// 添加组件
this.addListener();// 添加监听器
}
// 初始化操作
private void init() {
this.setTitle("超市货物管理!");// 标题
this.setSize(600, 400);// 窗体大小与位置
GUITools.center(this);//设置窗口在屏幕上的位置
this.setResizable(false);// 窗体大小固定
}
// 添加组件
private void addComponent() {
//取消布局
this.setLayout(null);
//表格标题
tableLabel.setBounds(265, 20, 70, 25);
this.add(tableLabel);
//表格
table.getTableHeader().setReorderingAllowed(false); //列不能移动
table.getTableHeader().setResizingAllowed(false); //不可拉动表格
table.setEnabled(false); //不可更改数据
tablePane.setBounds(50, 50, 500, 200);
tablePane.setViewportView(table); //视口装入表格
this.add(tablePane);
//字段标题
numberLabel.setBounds(50, 250, 70, 25);
nameLabel.setBounds(150, 250, 70, 25);
priceLabel.setBounds(250, 250, 70, 25);
unitLabel.setBounds(350, 250, 70, 25);
this.add(numberLabel);
this.add(nameLabel);
this.add(priceLabel);
this.add(unitLabel);
//增加组件
addNumberText.setBounds(50, 280, 80, 25);
addNameText.setBounds(150, 280, 80, 25);
addPriceText.setBounds(250, 280, 80, 25);
addUnitText.setBounds(350, 280, 80, 25);
this.add(addNumberText);
this.add(addNameText);
this.add(addPriceText);
this.add(addUnitText);
addBtn.setBounds(460, 280, 90, 25);
this.add(addBtn);
//修改组件
updateNumberText.setBounds(50, 310, 80, 25);
updateNameText.setBounds(150, 310, 80, 25);
updatePriceText.setBounds(250, 310, 80, 25);
updateUnitText.setBounds(350, 310, 80, 25);
this.add(updateNumberText);
this.add(updateNameText);
this.add(updatePriceText);
this.add(updateUnitText);
updateBtn.setBounds(460, 310, 90, 25);
this.add(updateBtn);
//删除组件
delNumberText.setBounds(50, 340, 80, 25);
this.add(delNumberText);
delBtn.setBounds(460, 340, 90, 25);
this.add(delBtn);
}
// 添加监听器
private void addListener() {
//添加按钮监听
addBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//调用添加方法
addFruitItem();
}
});
//修改按钮监听
updateBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//调用修改方法
updateFruitItem();
}
});
//删除按钮监听
delBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//调用删除方法
delFruitItem();
}
});
}
//查询方法
public abstract void queryFruitItem();
//添加方法
public abstract void addFruitItem();
//修改方法
public abstract void updateFruitItem();
//删除方法
public abstract void delFruitItem();
}
2401_85318780
- 粉丝: 0
- 资源: 1
最新资源
- 雷电传奇:归来.exe
- 舒克贝塔第一季,先更8集
- LR-HSMM法分割心音
- 图像处理网络的深度模型水印技术及其应用
- 基于springboot的智能推荐旅游平台源码(java毕业设计完整源码).zip
- 三电平buck变器仿真模型 采用PWM控制方式 模型内包含开环控制和闭环控制 闭环控制包含输出电压闭环和输出电压电流双闭环两种方式 单向结构和双向结构都有 联系请注明需要哪种结构 matlab sim
- 基于springboot的本科实践教学管理系统源码(java毕业设计完整源码).zip
- 深度学习在新冠肺炎医疗影像处理中的应用及其挑战
- 基于springboot的東耳篮球馆会员信息管理系统源码(java毕业设计完整源码).zip
- mtcnn权重合集.tar
- 基于springboot的极速汽车美容与保养网站源码(java毕业设计完整源码).zip
- omron欧姆龙NJ NX程序 全自动锂电池二封机,主站NJ501-1400+威纶通触摸屏 整机采用EtherCAT总线网络节点控制,松下A6总线控制 轴控制全部封装成功能块,可按照使用选择对应的
- AWR Rpt - jlreport Snap 20241228-21-23.html
- 基于springboot的某炼油厂盲板管理系统源码(java毕业设计完整源码).zip
- 使用 MaiPDF 将 PDF 作品集生成二维码-便捷、安全、高效的分享方式
- 车联网平台方案.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈