对于表现层的格式

public class ProductFrame extends JFrame{
//第一参数为表格加入的容器,第二参数为表头
//第三个参数为表头对应的实体类中的属性名
private LovoTable table = new LovoTable(this,
new String[]{"编号","商品名","厂家","单价"},
       new String[]{"id","name","factory","price"},"" );
//商品集合
private FilePress fPr = new FilePress();
public static List<ProductBean> list = new ArrayList<ProductBean>();
static{


FilePress fp = new FilePress();
list = fp.readFile();


}

private LovoTxt findTxt = new LovoTxt("商品名", 50, 300, this);

public ProductFrame(){
this.setLayout(null);
//设置表格的大小和位置
table.setSizeAndLocation(30, 30, 400, 200);
//更新表格数据
table.updateLovoTable(list);
//添加按钮
LovoButton addButton = new LovoButton("添加", 50,250, this);
LovoButton delButton = new LovoButton("删除", 150,250, this);
LovoButton updateButton = new LovoButton("修改", 250,250, this);


addButton.addActionListener(new ActionListener() {//添加

@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub /ProductFrame.this 访问外部类对象
//卸载当前窗体
ProductFrame.this.dispose();
//生成一个新窗体
AddFrame addFrame = new AddFrame();

}
});

delButton.addActionListener(new ActionListener() {//删除

@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
int row=table.getSelectedRow();//选中行
if(row == -1){
JOptionPane.showMessageDialog(null, "请选中行");
return;
}

list.remove(row);//将list集合中下标为row的进行当前删除
fPr.writerFile(list);
table.updateLovoTable(list);//删除后重新获得新的集合

}
});
updateButton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {//修改
// TODO Auto-generated method stub
int row = table.getSelectedRow();//选行
if(row==-1){
JOptionPane.showMessageDialog(null, "请进行选行");
return;
}
//得到指定行
ProductBean pro = list.get(row);

ProductFrame.this.dispose();
UpdateFrame u = new UpdateFrame(pro); 
}
});

LovoButton findButton = new LovoButton("查询", 300, 300, this);
findButton.addActionListener(new ActionListener() {

@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
String str = findTxt.getText();//得到商品名的字符串
List<ProductBean> flist = new ArrayList<ProductBean>();//建个新的集合
for(ProductBean b:list){//遍历list集合,将所有的元素放入b中
if(b.getName().contains(str)){//找到商品中包含字符串的元素是否包含
flist.add(b);//将其放入新的集合
}
}
table.updateLovoTable(flist);//获得新的集合放入表格中


}
});


this.setSize(600, 400);
this.setVisible(true);
this.setDefaultCloseOperation(3);
this.setLocationRelativeTo(null);

BufferedReader br = null;
FileReader fr = null;



}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值