java租借dvd_DVD租赁系统

1 packagecom.dvd.view;2

3 importjava.awt.BorderLayout;4 importjava.awt.GridLayout;5 importjava.awt.event.ActionEvent;6 importjava.awt.event.ActionListener;7 importjava.awt.event.ItemEvent;8 importjava.awt.event.ItemListener;9 importjava.awt.event.MouseAdapter;10 importjava.awt.event.MouseEvent;11 importjava.util.ArrayList;12 importjava.util.List;13

14 importjavax.swing.BorderFactory;15 importjavax.swing.JButton;16 importjavax.swing.JComboBox;17 importjavax.swing.JInternalFrame;18 importjavax.swing.JLabel;19 importjavax.swing.JOptionPane;20 importjavax.swing.JPanel;21 importjavax.swing.JScrollPane;22 importjavax.swing.JTable;23 importjavax.swing.JTextField;24 importjavax.swing.event.TableModelListener;25 importjavax.swing.table.TableModel;26

27 importcom.dvd.Util.DVDUtil;28 importcom.dvd.biz.DVDBiz;29 importcom.dvd.biz.Impl.DVDBizImpl;30 importcom.dvd.entiy.DVD;31

32 public class AdminDVDOperatorView extendsJInternalFrame {33

34 private static final long serialVersionUID = -3558209667843105955L;35 private DVDBiz dvdBiz = null;36 private List dvdList = null;37 private DVDInfoTableModel infoTableModel = null;38

39 private JPanel paneltable = null;40 private JScrollPane jScrollPanetable = null;//用来保存Jtable的一个面板

41 private JTable table = null;//声明JTable

42 private JPanel panelmanage = null;43 private JPanel manage = null;//声明信息

44

45 private JPanel panelbutton = null;//按钮面板

46 private JTextField tf_search = null;47 private JButton btn_search = null;48 private JButton btn_add = null;49 private JButton btn_updata = null;50 private JButton btn_del = null;51 private JButton btn_exit = null;52 private JComboBox cb_type = null;53 private JLabel lb_type = null;54

55 private JLabel lb_name = null;56 private JLabel lb_count = null;57 private JLabel lb_status = null;58 private JTextField tf_name = null;59 private JTextField tf_count = null;60 private JComboBox cb_status = null;61

62 publicAdminDVDOperatorView() {63 dvdBiz = newDVDBizImpl();64 init();65 registerListener();66 }67

68 private voidinit() {69 this.setTitle("DVD租赁记录查询");70 this.setSize(525, 450);71 this.setIconifiable(true);//窗体可最小化

72 this.setClosable(true);//窗体可被关闭

73 this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);74 //this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

75 this.setLayout(newBorderLayout());76 dvdList = new ArrayList();77

78 lb_name = new JLabel("DVD名字", JLabel.CENTER);79 lb_count = new JLabel("借出次数", JLabel.CENTER);80 lb_status = new JLabel("DVD状态", JLabel.CENTER);81 tf_name = new JTextField(8);82 tf_count = new JTextField(8);83 cb_status = new JComboBox(new String[] { "已借", "可借"});84 paneltable = new JPanel(newBorderLayout());85 panelmanage = newJPanel();86 manage = newJPanel();87

88 table = newJTable();89

90 //让JTable绑定数据模型呈现数据

91

92 refreshTable(dvdList);93

94 manage.add(lb_name);95 manage.add(tf_name);96 manage.add(lb_count);97 manage.add(tf_count);98 manage.add(lb_status);99 manage.add(cb_status);100

101 jScrollPanetable = new JScrollPane();//创建面板102 //给面板设置边框

103 paneltable104 .setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(null, null), "DVD记录查询 "));105 jScrollPanetable.setViewportView(table);106 paneltable.add(jScrollPanetable);107 panelmanage.add(manage);108 paneltable.add(panelmanage, BorderLayout.SOUTH);109 this.add(paneltable, BorderLayout.CENTER);110 //给面板设置边框

111 panelmanage.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(null, null)));112

113 panelbutton = new JPanel(new GridLayout(9, 1, 5, 10));114 //给面板设置边框

115 panelbutton.setBorder(BorderFactory.createTitledBorder(BorderFactory.createEtchedBorder(null, null), "查询条件"));116 this.add(panelbutton, BorderLayout.EAST);117 lb_type = new JLabel("查询类型");118 panelbutton.add(lb_type);119 cb_type = new JComboBox(new String[] { "所有DVD", "DVD编号", "DVD名字"});120 panelbutton.add(cb_type);121

122 tf_search = newJTextField();123 panelbutton.add(tf_search);124

125 btn_search = new JButton("查询");126 panelbutton.add(btn_search);127 tf_search.setEditable(false);//默认不可用

128

129 btn_add = new JButton("添加DVD");130 panelbutton.add(btn_add);131

132 btn_updata = new JButton("更新DVD");133 panelbutton.add(btn_updata);134 btn_updata.setEnabled(false);//默认不可用

135

136 btn_del = new JButton("删除DVD");137 panelbutton.add(btn_del);138 btn_del.setEnabled(false);//默认不可用

139

140 panelbutton.add(newJLabel());141 this.getRootPane().setDefaultButton(btn_search);//设置默认获取的焦点

142

143 btn_exit = new JButton("退出窗口");144 panelbutton.add(btn_exit);145

146 this.setVisible(true);147 }148

149 private voidregisterListener() {150

151 btn_exit.addActionListener(newActionListener() {152

153 @Override154 public voidactionPerformed(ActionEvent e) {155 int flag = JOptionPane.showInternalConfirmDialog(AdminDVDOperatorView.this, "是否确定退出?", "确认信息",156 JOptionPane.YES_NO_OPTION);157 if (flag ==JOptionPane.YES_OPTION) {158 AdminDVDOperatorView.this.dispose();159 }160 }161 });162

163 btn_del.addActionListener(newActionListener() {164

165 @Override166 public voidactionPerformed(ActionEvent e) {167 int row = table.getSelectedRow();//取得选中的那行

168 int did = (Integer) table.getValueAt(row, 0);169 int flag = JOptionPane.showInternalConfirmDialog(AdminDVDOperatorView.this, "是否确定删除DVD?", "确认信息",170 JOptionPane.YES_NO_OPTION);171 if (flag ==JOptionPane.YES_OPTION) {172 boolean res =dvdBiz.delDVD(did);173 if(res) {174 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "删除成功!");175 return;176 } else{177 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "删除失败,请联系管理员!!");178 return;179 }180 }181 }182 });183

184 btn_updata.addActionListener(newActionListener() {185

186 @Override187 public voidactionPerformed(ActionEvent e) {188 String dname =tf_name.getText().trim();189 String dcount =tf_count.getText().trim();190 int status =cb_status.getSelectedIndex();191 if (dname.equals("")) {192 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "DVD名字不能为空");193 return;194 } else if (dcount.equals("")) {195 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "借出次数不能为空");196 return;197 }198 if (!DVDUtil.isNumber(dcount)) {199 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "DVD借出次数只能是数字");200 return;201 }202 int flag = JOptionPane.showInternalConfirmDialog(AdminDVDOperatorView.this, "是否确定更新DVD?", "确认信息",203 JOptionPane.YES_NO_OPTION);204

205 if (flag ==JOptionPane.YES_OPTION) {206 int row =table.getSelectedRow();207 boolean res =dvdBiz208 .modifyDVD(new DVD((Integer) table.getValueAt(row, 0), dname, newInteger(dcount), status));209 System.out.println(res);210 if(res) {211 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "更新成功!");212 return;213 } else{214 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "更新失败,请联系管理员!");215 return;216 }217 }218 }219 });220

221 table.addMouseListener(newMouseAdapter() {222 @Override223 public voidmouseClicked(MouseEvent e) {224 /// 假设选中一行,更新删除按钮可用

225 if (table.getSelectedRow() != -1) {226 btn_del.setEnabled(true);227 btn_updata.setEnabled(true);228

229 }230 int row = table.getSelectedRow();//得到你所选中那行的下标

231 String dname = table.getValueAt(row, 1).toString();232 String dcount = table.getValueAt(row, 2).toString();233 String status = table.getValueAt(row, 3).toString();234 tf_name.setText(dname);235 tf_count.setText(dcount);236 cb_status.setSelectedItem(status);237 }238 });239

240 cb_type.addItemListener(newItemListener() {241

242 @Override243 public voiditemStateChanged(ItemEvent e) {244 String item =e.getItem().toString();245 tf_search.setText("");246 if (item.equals("所有DVD")) {247 tf_search.setEditable(false);248 } else{249 tf_search.setEditable(true);250 }251 }252 });253

254 btn_add.addActionListener(newActionListener() {255

256 @Override257 public voidactionPerformed(ActionEvent e) {258 String dname =tf_name.getText().trim();259 String dcount =tf_count.getText().trim();260 int status = cb_status.getSelectedIndex();//0代表已经借出,1代表可借

261 if (dname.equals("")) {262 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "DVD名字不能为空");263 return;264 } else if (dcount.equals("")) {265 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "借出次数不能为空");266 return;267 }268 if (!DVDUtil.isNumber(dcount)) {269 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "DVD借出次数只能是数字");270 return;271 }272 int flag = JOptionPane.showInternalConfirmDialog(AdminDVDOperatorView.this, "是否确定添加DVD?", "确认信息",273 JOptionPane.YES_NO_OPTION);274

275 if (flag ==JOptionPane.YES_OPTION) {276 boolean res = dvdBiz.addDVD(new DVD(dname, newInteger(dcount), status));277 if(res) {278 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "添加成功!");279 return;280 } else{281 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "添加失败,请联系管理员!!");282 return;283 }284 }285 }286 });287

288 btn_search.addActionListener(newActionListener() {289

290 @Override291 public voidactionPerformed(ActionEvent e) {292

293 int index =cb_type.getSelectedIndex();294 String content =tf_search.getText().trim();295 if (index != 0 && content.equals("")) {296 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "查询的内容不能为空");297 return;298 }299 //先清除数据 ,防止数据 的累加

300 if (dvdList != null) {301 dvdList.clear();302 }303 if (index == 0) {304 dvdList =dvdBiz.queryAllDVDs();305 } else if (index == 1) {306 tf_search.setEnabled(true);//输入框可用

307 if(DVDUtil.isNumber(content)) {308 DVD dvd =dvdBiz.queryDVDById(Integer.parseInt(content));309 if (dvd != null) {310 dvdList.add(dvd);311 }312 } else{313 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "输入的编号只能是数字");314 return;315 }316 } else{317 dvdList =dvdBiz.queryDVDByName(content);318 }319 refreshTable(dvdList);320 btn_del.setEnabled(false);321 btn_updata.setEnabled(false);322 if (dvdList.size() == 0) {323 JOptionPane.showInternalMessageDialog(AdminDVDOperatorView.this, "没有你要查询的记录!");324 return;325 }326 }327 });328 }329

330 private class DVDInfoTableModel implementsTableModel {331 private List dvdsList = null;332

333 private DVDInfoTableModel(ListdvdList) {334 this.dvdsList =dvdList;335 }336

337 @Override338 public voidaddTableModelListener(TableModelListener l) {339

340 }341

342 //JTable 列的数据类型

343 public Class> getColumnClass(intcolumnIndex) {344

345 return String.class;346 }347

348 //JTable数据 的列数

349 public intgetColumnCount() {350

351 return 4;352 }353

354 //设置 JTable数据 的列名

355 public String getColumnName(intcolumnIndex) {356 if (columnIndex == 0) {357 return "影碟ID";358 } else if (columnIndex == 1) {359 return "影碟名字";360 } else if (columnIndex == 2) {361 return "影碟借出次数";362 } else if (columnIndex == 3) {363 return "影碟状态";364 } else{365 return "出错";366 }367 }368

369 //JTable显示 的行数

370 public intgetRowCount() {371

372 returndvdsList.size();373 }374

375 //获取JTable中指定行指定单元格的数据

376 public Object getValueAt(int rowIndex, intcolumnIndex) {377 DVD dvd =dvdsList.get(rowIndex);378 if (columnIndex == 0) {379 returndvd.getId();380 } else if (columnIndex == 1) {381 returndvd.getDname();382 } else if (columnIndex == 2) {383 returndvd.getDcount();384 } else if (columnIndex == 3) {385 return "" + (dvd.getStatus() == 1 ? "可借" : "已借");386 } else{387 return "出错";388 }389 }390

391 //设置单元格是否可以编辑

392 public boolean isCellEditable(int rowIndex, intcolumnIndex) {393

394 return false;395 }396

397 @Override398 public voidremoveTableModelListener(TableModelListener l) {399

400 }401

402 @Override403 public void setValueAt(Object aValue, int rowIndex, intcolumnIndex) {404

405 }406

407 }408

409 //刷新Jtable并显示数据

410 private void refreshTable(ListdvdList) {411 infoTableModel = newDVDInfoTableModel(dvdList);412 table.setModel(infoTableModel);413 }414 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值