?? select.java
字號:
package supermarket;
import DB.*;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.*;
import javax.swing.JToolBar;
import javax.swing.JButton;
import javax.swing.JTable;
import javax.swing.JTextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JOptionPane;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import java.util.Vector;
import javax.swing.JScrollPane;
import java.sql.ResultSet;
import java.sql.*;
import javax.swing.JDialog;
import java.awt.event.KeyEvent;
import java.awt.event.KeyAdapter;
import javax.swing.JPanel;
import javax.swing.*;
public class Select
extends JDialog {
// MainFrm mf;//用于跟新樹
JLabel lblguangli = new JLabel();
Vector vt = new Vector();
String head[] = {
"商品編號", "類別", "商品名", "商品價格/元", "庫存量", "單位", "折扣率", "備注"};
TableModle dm = new TableModle(head, vt);
JTable tbljieguo = new JTable(dm);
JLabel lblshangpin = new JLabel();
JTextField txtshangpin = new JTextField();
JButton btnchaxun = new JButton();
JButton btngenxin = new JButton();
JButton btntianjia = new JButton();
JButton btnshanchu = new JButton();
JComboBox cmbleibie = new JComboBox();
JButton btntianjlb = new JButton();
JButton btnfanhui = new JButton();
JScrollPane jScrollPane1 = new JScrollPane();
JPanel jPanel1 = new JPanel();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
JPanel jPanel4 = new JPanel();
MainFrm frm;
public Select(MainFrm frm) {
this.frm = frm;
// this.mf=mf;//存MainFrm 對象MainFrm mf
try {
jbInit();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
private void jbInit() throws Exception {
lblguangli.setBackground(Color.white);
lblguangli.setFont(new java.awt.Font("華文中宋", Font.PLAIN, 20));
lblguangli.setText("商品管理");
lblguangli.setBounds(new Rectangle(262, 0, 120, 29));
this.getContentPane().setLayout(null);
this.setSize(650, 500);
this.setLocation(200, 100);
this.getContentPane().setBackground(new Color(212, 208, 200));
this.setForeground(Color.black);
lblshangpin.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
lblshangpin.setText("商品名");
lblshangpin.setBounds(new Rectangle(34, 35, 77, 26));
txtshangpin.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
txtshangpin.setText("");
txtshangpin.setBounds(new Rectangle(110, 33, 125, 30));
txtshangpin.addKeyListener(new Select_txtshangpin_keyAdapter(this));
btnchaxun.setBounds(new Rectangle(403, 33, 81, 30));
btnchaxun.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
btnchaxun.setText("查詢");
btnchaxun.addActionListener(new Select_btnchaxun_actionAdapter(this));
btngenxin.setBounds(new Rectangle(141, 388, 81, 30));
btngenxin.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
btngenxin.setText("更改");
btngenxin.addActionListener(new Select_btngenxin_actionAdapter(this));
btntianjia.setBounds(new Rectangle(25, 388, 79, 30));
btntianjia.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
btntianjia.setText("添加");
btntianjia.addActionListener(new Select_btntianjia_actionAdapter(this));
btnshanchu.setBounds(new Rectangle(264, 388, 81, 30));
btnshanchu.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
btnshanchu.setText("刪除");
btnshanchu.addActionListener(new Select_btnshanchu_actionAdapter(this));
cmbleibie.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
cmbleibie.setBounds(new Rectangle(258, 32, 112, 32));
cmbleibie.addKeyListener(new Select_cmbleibie_keyAdapter(this));
cmbleibie.addActionListener(new Select_cmbleibie_actionAdapter(this));
btntianjlb.setBounds(new Rectangle(509, 33, 114, 30));
btntianjlb.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
btntianjlb.setText("添加類別");
btntianjlb.addActionListener(new Select_btntianjlb_actionAdapter(this));
btnfanhui.setBounds(new Rectangle(377, 388, 81, 30));
btnfanhui.setFont(new java.awt.Font("Dialog", Font.PLAIN, 18));
btnfanhui.setText("返回");
this.setModal(true);
this.setTitle("商品管理");
btnfanhui.addActionListener(new Select_btnfanhui_actionAdapter(this));
jScrollPane1.setBounds(new Rectangle(28, 136, 575, 230));
jPanel1.setBorder(BorderFactory.createEtchedBorder());
jPanel1.setBounds(new Rectangle(2, 1, 641, 472));
jPanel1.setLayout(null);
jPanel2.setBorder(BorderFactory.createEtchedBorder());
jPanel2.setBounds(new Rectangle(0, 24, 627, 47));
jPanel2.setLayout(null);
jPanel3.setBorder(BorderFactory.createEtchedBorder());
jPanel3.setBounds(new Rectangle(0, 70, 627, 307));
jPanel3.setLayout(null);
jPanel4.setBorder(BorderFactory.createEtchedBorder());
jPanel4.setBounds(new Rectangle(0, 375, 627, 55));
jPanel4.setLayout(null);
// btngenxin.addActionListener(new Select_btngenxin_actionAdapter(this));
this.getContentPane().add(txtshangpin);
this.getContentPane().add(btngenxin);
this.getContentPane().add(btntianjia);
this.getContentPane().add(btnshanchu);
this.getContentPane().add(cmbleibie);
this.getContentPane().add(btntianjlb);
this.getContentPane().add(btnchaxun);
this.getContentPane().add(btnfanhui);
this.getContentPane().add(jScrollPane1);
this.getContentPane().add(lblguangli, null);
this.getContentPane().add(lblshangpin);
this.getContentPane().add(jPanel1);
jPanel1.add(jPanel2);
jPanel1.add(jPanel3);
jPanel1.add(jPanel4);
jScrollPane1.getViewport().add(tbljieguo);
cmbleibie.addItem("商品類別");
disleibei();
}
public void btngenxin_actionPerformed(ActionEvent e) { //修改
int count = tbljieguo.getSelectedRow();
Update obj = new Update(frm);
if (count >= 0) { //判斷是否有列被選中,選中時,當點修改時則顯示列中的值,便于修改
obj.Update(vt, count);
obj.setSize(400, 370); //彈出窗口大小
obj.setLocation(300, 200); //彈出窗口位置
obj.show();
gengxin();
// gengxin();
tbljieguo.updateUI();
// this.dispose();
}
else {
JOptionPane.showMessageDialog(null, "請先選擇一件商品", "提示",
JOptionPane.INFORMATION_MESSAGE);
}
}
public void btnshanchu_actionPerformed(ActionEvent e) { //刪除
int count = tbljieguo.getSelectedRow();
if (count < 0) {
JOptionPane.showMessageDialog(null, "請選擇一件商品", "提示",
JOptionPane.INFORMATION_MESSAGE);
return;
}
if (JOptionPane.showConfirmDialog(null, "確認刪除?", "確認",
JOptionPane.YES_NO_OPTION) == 0) {
Vector tmpe = (Vector) vt.get(count);
Link lk = new Link();
lk.connection();
String sql = "Delete from shopping where name='" + tmpe.get(2) + "'";
int i = lk.Update(sql);
if (i > 0) {
tbljieguo.updateUI();
frm.updateTree(tmpe.get(1),tmpe.get(2).toString(),2);// 刪除樹上的
// frm.tbljinhuo.updateUI();
JOptionPane.showMessageDialog(null, "刪除成功!", "成功",
JOptionPane.INFORMATION_MESSAGE);
lk.close();
}
else{
lk.close();
return;
}
vt.remove(count);//刪除表中的數據
}
tbljieguo.updateUI();
//frm.updateTree(vt.get(1),vt.get(2).toString(),2);//
}
public void btntianjia_actionPerformed(ActionEvent e) { //添加商品
goodsAdd obj = new goodsAdd(frm,this);
obj.setSize(400, 360); //彈出窗口大小
obj.setLocation(300, 200); //彈出窗口位置
obj.show();
}
public void btnfanhui_actionPerformed(ActionEvent e) {
this.dispose();
}
public void btntianjlb_actionPerformed(ActionEvent e) { //添加商品類別
kindsAdd obj = new kindsAdd(this,frm);
obj.setSize(400, 350); //彈出窗口大小
obj.setLocation(300, 200); //彈出窗口位置
obj.show();
// mf.treeIn = new JTree(mf.tree());//重新、加載數
// mf.treeIn.updateUI();//更新數
}
public void gengxin(){
//查詢商品
String name = txtshangpin.getText().trim();
/* if (name.equals("")) {
JOptionPane.showMessageDialog(null, "請輸入商品名!", "錯誤",
JOptionPane.ERROR_MESSAGE);
return;
}*/
Link lk = new Link();
lk.connection();
String sql = "";
if (name.equals("") && cmbleibie.getSelectedItem().equals("商品類別")) { //模糊查詢,返回所有行
sql = "select * from shopping order by kindname";
}
else if (name.equals("") && !cmbleibie.getSelectedItem().equals("商品類別")) { //根據商品類別進行查詢
sql = "select * from shopping where kindname ='" +
cmbleibie.getSelectedItem() + "'";
}
else if (!name.equals("") && cmbleibie.getSelectedItem().equals("商品類別")) { //根據商品名進行模糊查詢
sql = "select * from shopping where name like '%" + name + "%'";
}
else {
sql = "select * from shopping where name like '%" + name +
"%' and kindname='" + //根據商品名和商品類別進行查詢
cmbleibie.getSelectedItem() + "'";
}
ResultSet rs = lk.Select(sql);
vt.removeAllElements(); //清理表里原有的數據
try {
if (rs.next()) {
do {
Vector v = new Vector();
v.removeAllElements();
v.add(rs.getString(1).trim()); //商品編號
v.add(rs.getString(2).trim()); //類別
v.add(rs.getString(3).trim());//商品名
v.add(rs.getString(4).trim()); //單價
v.add(rs.getString(5).trim()); //庫存量
v.add(rs.getString(6).trim()); //單位
v.add(rs.getString(7).trim());//折扣率
v.add(rs.getString(8).trim()); //備注
vt.add(v); //添加數據
}
while (rs.next());
tbljieguo.updateUI(); //更新表
}
else {
JOptionPane.showMessageDialog(null, "沒有該商品", "提示",
JOptionPane.INFORMATION_MESSAGE);
}
rs.close();
lk.close();
}
catch (SQLException ex) {
}
}
public void btnchaxun_actionPerformed(ActionEvent e) {
gengxin();
//失敗
// JOptionPane.showMessageDialog(null,"查詢失敗,請核實后再查!","錯誤",JOptionPane.ERROR_MESSAGE);
}
public void disleibei() { //顯示
Link obj = new Link();
obj.connection();
String sql = "select kindsname from kinds";
ResultSet rs = obj.Select(sql);
// vt.removeAllElements();//清理表里原有的數據
// Vector v=new Vector();
cmbleibie.removeAllItems();
cmbleibie.addItem("商品類別");
try {
while (rs.next()) {
cmbleibie.addItem(rs.getString(1));
}
rs.close();
obj.close();
}
catch (SQLException ex) {
// JOptionPane.showMessageDialog(null,"Game Over");
}
// vt.add(v);//添加數據
// tbljieguo.updateUI();//更新表
}
public void txtshangpin_keyPressed(KeyEvent e) {
if ( (int) e.getKeyChar() == 10) {
btnchaxun_actionPerformed(null);
}
}
public void cmbleibie_keyPressed(KeyEvent e) {
if ( (int) e.getKeyChar() == 10) {
btnchaxun_actionPerformed(null);
}
}
}
class Select_cmbleibie_actionAdapter
implements ActionListener {
private Select adaptee;
Select_cmbleibie_actionAdapter(Select adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
}
}
class Select_cmbleibie_keyAdapter
extends KeyAdapter {
private Select adaptee;
Select_cmbleibie_keyAdapter(Select adaptee) {
this.adaptee = adaptee;
}
public void keyPressed(KeyEvent e) {
adaptee.cmbleibie_keyPressed(e);
}
}
class Select_btntianjlb_actionAdapter
implements ActionListener {
private Select adaptee;
Select_btntianjlb_actionAdapter(Select adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btntianjlb_actionPerformed(e);
}
}
class Select_btnfanhui_actionAdapter
implements ActionListener {
private Select adaptee;
Select_btnfanhui_actionAdapter(Select adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnfanhui_actionPerformed(e);
}
}
class Select_btngenxin_actionAdapter
implements ActionListener {
private Select adaptee;
Select_btngenxin_actionAdapter(Select adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btngenxin_actionPerformed(e);
}
}
class Select_btnshanchu_actionAdapter
implements ActionListener {
private Select adaptee;
Select_btnshanchu_actionAdapter(Select adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnshanchu_actionPerformed(e);
}
}
class Select_btntianjia_actionAdapter
implements ActionListener {
private Select adaptee;
Select_btntianjia_actionAdapter(Select adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btntianjia_actionPerformed(e);
}
}
class Select_btnchaxun_actionAdapter
implements ActionListener {
private Select adaptee;
Select_btnchaxun_actionAdapter(Select adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.btnchaxun_actionPerformed(e);
}
}
class Select_txtshangpin_keyAdapter
extends KeyAdapter {
private Select adaptee;
Select_txtshangpin_keyAdapter(Select adaptee) {
this.adaptee = adaptee;
}
public void keyPressed(KeyEvent e) {
adaptee.txtshangpin_keyPressed(e);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -