⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 viewcart.java

📁 基于 C/S 模式的网上购物系统
💻 JAVA
字号:
package RegisterAndLogin;

import java.awt.BorderLayout;

import javax.swing.DefaultCellEditor;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JTable;
import java.awt.Rectangle;
import javax.swing.JButton;
import javax.swing.JTable;
import javax.swing.table.*;
import java.util.*;
import javax.swing.JScrollPane;
import javax.swing.JList;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.JOptionPane;


public class ViewCart extends JFrame implements QuanJu {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JButton jButtonContinue = null;

	private JButton jButtonToPayCenter = null;	

	private JButton jButtonDelete = null;

	//private JButton jButtonConfirmAmount = null;

	private JScrollPane jScrollPaneCart = null;

	private JTable jTableCartList = null;
    public Socket clientSocket=null;
    public ObjectOutputStream os=null;
    public ObjectInputStream is=null;

	/**
	 * This is the default constructor
	 */
	public ViewCart(Socket soc,ObjectOutputStream os,ObjectInputStream is) {
		super();
		this.clientSocket=soc;
		this.os=os;
		this.is=is;
		initialize();
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(510, 370);
		this.setContentPane(getJContentPane());
		this.setTitle("JFrame");
		this.setVisible(true);
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJButtonContinue(), null);
			jContentPane.add(getJButtonToPayCenter(), null);
			jContentPane.add(getJButtonDelete(), null);
		//	jContentPane.add(getJButtonConfirmAmount(), null);
			jContentPane.add(getJScrollPaneCart(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jTableGoodsList	
	 * 	
	 * @return javax.swing.JTable	
	 */

	/**
	 * This method initializes jButtonContinue	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonContinue() {
		if (jButtonContinue == null) {
			jButtonContinue = new JButton();
			jButtonContinue.setBounds(new Rectangle(14, 281, 121, 29));
			jButtonContinue.setText("继续挑选商品");
			jButtonContinue.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				    //回到商店继续挑选
					setVisible(false);
				}
			});
			
		}
		return jButtonContinue;
	}

	/**
	 * This method initializes jButtonToPayCenter	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonToPayCenter() {
		if (jButtonToPayCenter == null) {
			jButtonToPayCenter = new JButton();
			jButtonToPayCenter.setBounds(new Rectangle(200, 282, 135, 32));
			jButtonToPayCenter.setText("结算  确认支付");
			jButtonToPayCenter.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				//去结算中心结算
				//	PayCenter payframe=new PayCenter(clientSocket,os,is);
				//	System.exit(0);
					try{
					os.writeObject(ConstanValue.MSG_COMFIRM_PAYMENT);
					os.flush();
					String Msg=(String)is.readObject();
					if(Msg.equals(ConstanValue.MSG_ACC_PAYMENT))
					{
						//删除购物车中的货物
						for(int i=0;i<20;i++)
						{
							jTableCartList.setValueAt("", i, 0);
							jTableCartList.setValueAt("", i, 1);
							jTableCartList.setValueAt("", i, 2);
							jTableCartList.setValueAt("", i, 3);
							jTableCartList.setValueAt("", i, 4);
							jTableCartList.setValueAt("", i, 5);
							jTableCartList.setValueAt("", i, 6);
							jTableCartList.setValueAt("", i, 7);
						}
						cart.clear();
						JOptionPane.showMessageDialog(null, "成功交易");
					}
					else
					{
						Msg=(String)is.readObject();
						JOptionPane.showMessageDialog(null, Msg);
					}
					}
					catch(Exception ex)
					{
						ex.printStackTrace();
					}
					
				}
			});
			
		}
		return jButtonToPayCenter;
	}
	/**
	 * This method initializes jButtonDelete	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonDelete() {
		if (jButtonDelete == null) {
			jButtonDelete = new JButton();
			jButtonDelete.setBounds(new Rectangle(350, 222, 144, 41));
			jButtonDelete.setText("删除选中的商品");			
			jButtonDelete.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				   
					
					int row=jTableCartList.getSelectedRow();
					if(row==-1)
						JOptionPane.showMessageDialog(null, "请选中一件商品");
					else
					{
					 String name=(String)jTableCartList.getValueAt(row, 1);
					 if(name.equals(""))
						 JOptionPane.showMessageDialog(null, "请选中一件商品");
					 else
					 {
				    int goodsid=(Integer)jTableCartList.getValueAt(row, 0);
				    String ownerId=(String)jTableCartList.getValueAt(row,1 );
				    System.out.println("delete  goodsid:"+goodsid+"  ownerId  "+ownerId);
				    int num=(Integer)jTableCartList.getValueAt(row,6);
				    System.out.println(num);
				    //刷新
				  //  jTableCartList.removeRowSelectionInterval(0, 20);
				    int col=jTableCartList.getColumnCount();
				    for(int i=row;i<cart.getNumOfItems()-1;i++)
				    {
				    	
				      for(int j=0;j<col;j++)
				      {
				    	  jTableCartList.setValueAt(jTableCartList.getValueAt(i+1, j), i, j);
				      }
				    }
				    for(int i=0;i<col;i++)
				    {
				    	jTableCartList.setValueAt("", cart.getNumOfItems()-1, i);
				    }
				    cart.deleteItem(goodsid);	
				    jTableCartList.removeRowSelectionInterval(0,10);
				  /*  cart.deleteItem(goodsid);
				    int col=jTableCartList.getColumnCount();
				    for(int i=0;i<col;i++)
				    {
				    	jTableCartList.setValueAt("", row, i);
				    }
				    jTableCartList.removeRowSelectionInterval(0, 10);
				*/
				    String Msg=ConstanValue.MSG_DENEY_BUY_ONE_GOODS;
				    //向服务器发送删除信息
				    System.out.println(Msg);
				    try{
				    os.writeObject(Msg);
				    os.writeInt(goodsid);
				    os.writeObject(ownerId);
				    os.flush();
				    Msg=(String)is.readObject();
				    JOptionPane.showMessageDialog(null, Msg);
				    }
				    catch (Exception ex)
				    {
				    	ex.printStackTrace();
				    }
					 }
					}
				}
			});
		    
		}
		return jButtonDelete;
	}

	/**
	 * This method initializes jButtonConfirmAmount	
	 * 	
	 * @return javax.swing.JButton	
	 */
	/*private JButton getJButtonConfirmAmount() {
		if (jButtonConfirmAmount == null) {
			jButtonConfirmAmount = new JButton();
			jButtonConfirmAmount.setBounds(new Rectangle(353, 157, 134, 52));
			jButtonConfirmAmount.setText("确定修改");
			jButtonConfirmAmount.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				    
					/*for(int i=0;i<cart.getNumOfItems();i++)
					{
						int goodid=(Integer)jTableCartList.getValueAt(i, 0);
						int num=(Integer)jTableCartList.getValueAt(i, 6);
						cart.setItemNum(goodid, num);
						//向服务器发送修改信息************
					}*/
					//向服务器发送修改数量信息
		/*			try
					{
					for(int i=0;i<cart.getNumOfItems();i++)
					{
						String sailid=(String)jTableCartList.getValueAt(i,1);
						if(!sailid.equals(""))
						{
							String Msg=ConstanValue.MSG_UPDATE_ONE_BILL_NUMBER;
							int goodsId=(Integer)jTableCartList.getValueAt(i,0);
							String sailerId=(String)jTableCartList.getValueAt(i, 1);
							//int num=(Integer)jTableCartList.getValueAt(i, 6);
							String  NUM="";
							int num=0;
							try{
								 NUM=(String)jTableCartList.getValueAt(i,6);
								 NUM=NUM.trim();
								 num=Integer.parseInt(NUM);
							}catch (Exception ex)
							{
								num=(Integer)jTableCartList.getValueAt(i, 6);
							}
							
							System.out.println(goodsId+":"+sailerId+":"+NUM+":"+cart.getItemNum(goodsId));
							//int num=Integer.parseInt(NUM.trim());
							
							System.out.println(num);
							if(cart.getItemNum(goodsId)!=num)
							{
															
							
								os.writeObject(Msg);
								os.writeObject(sailerId);
								os.writeInt(goodsId);
								os.writeInt(num);
								os.flush();
								Msg=(String)is.readObject();
								if(Msg.equals(ConstanValue.ACC_UPDATE_ONE_BILL_NUMBER))
								{
									cart.setItemNum(goodsId, num);
									JOptionPane.showMessageDialog(null,Msg);
								}
								else
								{
									JOptionPane.showMessageDialog(null,Msg+(String)is.readObject());
								}
							
								
							}
						}
					}
					}
					catch (Exception ex)
					{
						ex.printStackTrace();
					}
				}
			});
		}
		return jButtonConfirmAmount;
	}
*/
	/**
	 * This method initializes jScrollPaneCart	
	 * 	
	 * @return javax.swing.JScrollPane	
	 */
	private JScrollPane getJScrollPaneCart() {
		if (jScrollPaneCart == null) {
			jScrollPaneCart = new JScrollPane();
			jScrollPaneCart.setBounds(new Rectangle(25, 32, 304, 241));
			jScrollPaneCart.setViewportView(getJTableCartList());
		}
		return jScrollPaneCart;
	}

	/**
	 * This method initializes jTableCartList	
	 * 	
	 * @return javax.swing.JTable	
	 */
	private JTable getJTableCartList() {
		if (jTableCartList == null) {
			MytableModel mymodel=new MytableModel();
			jTableCartList = new JTable(mymodel);
			setUpIntegerEditor(jTableCartList);
			//把购物车中的商品显示出来
			if(cart.numofItems!=0)
			 {
				Collection collection=cart.getItems();
				Iterator ite=collection.iterator();
				int i=0;
				while(ite.hasNext())
				{
					CartItem goods=(CartItem)ite.next();
					merchandise mer=goods.getgoods();
					int num=goods.getQuantity();
					jTableCartList.setValueAt(mer.goodsId,i, 0);
					jTableCartList.setValueAt(mer.owenerId, i, 1);
					jTableCartList.setValueAt(mer.goodsName, i, 2);
					jTableCartList.setValueAt(mer.price, i, 3);
					jTableCartList.setValueAt(mer.produceArea, i, 4);
					jTableCartList.setValueAt(mer.introduce, i, 5);
					jTableCartList.setValueAt(num, i, 6);
					jTableCartList.setValueAt(mer.unit, i, 7);
					i++;
					
				}
			 }
		}
		return jTableCartList;
	}
	 private void setUpIntegerEditor(JTable table) {
	        //Set up the editor for the integer cells.
	        final WholeNumberField integerField = new WholeNumberField(0, 5);
	        integerField.setHorizontalAlignment(WholeNumberField.RIGHT);

	        DefaultCellEditor integerEditor = 
	            new DefaultCellEditor(integerField) {
	                //Override DefaultCellEditor's getCellEditorValue method
	                //to return an Integer, not a String:
	                public Object getCellEditorValue() {
	                    return new Integer(integerField.getValue());
	                }
	            };
	        table.setDefaultEditor(Integer.class, integerEditor);
	    }
	
	
}  //  @jve:decl-index=0:visual-constraint="38,9"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -