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

📄 hall.java

📁 基于 C/S 模式的网上购物系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package RegisterAndLogin;

import java.awt.BorderLayout;

import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JScrollPane;
import java.awt.Rectangle;
import java.awt.List;
import java.awt.Button;
import javax.swing.JButton;
import java.awt.GridBagLayout;
import java.net.*;
import java.io.*;
import java.sql.*;

import javax.sql.*;
import java.sql.ResultSet;
import javax.sql.rowset.CachedRowSet;
import javax.swing.JLabel;
import javax.swing.ImageIcon;
import javax.swing.JOptionPane;
import java.awt.GridBagConstraints;
import javax.swing.JTable;
import java.awt.event.*;
import javax.swing.JTabbedPane;
import javax.swing.Icon;
import java.awt.image.*;
public class Hall extends JFrame  implements QuanJu{

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JButton jButtonCart = null;

	private JButton jButtonPersonalInfo = null;

	private JLabel imagelabel=new JLabel();
   private Socket clientSocket=null;
   
   private ObjectOutputStream os=null;
   private ObjectInputStream is=null;
   private merchandise goods=null;           //  一件商品
 //  private AllMerchandise Allgoods=new AllMerchandise();     //  正在逛的店铺的所有商品
//   private CartItem cartitem=null;           //  购物车中的一个条目
//   public  Cart cart=new Cart();                   //  购物车
 //  public String shopName="";  //  @jve:decl-index=0:
   private JButton jButtonPutIntoCart = null;

private JScrollPane jScrollPane = null;

private JTable jTableGoods = null;

private JTabbedPane jTabbedPane = null;

private JScrollPane jScrollPane1OnLine = null;

private JScrollPane jScrollPane1OffLine = null;

public List OnLinelist = null;

public List OffLinelist = null;

private JButton jButtonInformation = null;

private JButton jButtonExit = null;

private JButton jButtonHistory = null;

private JButton jButtonBargain = null;
public String username="";//登录者的用户名  //  @jve:decl-index=0:
/**
	 * This is the default constructor
	 */
	public Hall(Socket clientSocket,ObjectOutputStream os,ObjectInputStream is,String username) {
		super();
		try
		{
			
			this.clientSocket=clientSocket;
			this.os=os;
			this.is=is;
			this.username=username;
		//clientSocket=new Socket("localhost",8000);
		//os=new ObjectOutputStream(clientSocket.getOutputStream());
		//is=new ObjectInputStream(clientSocket.getInputStream());
		}
		catch (Exception ex)
		{
			System.out.println(ex);
		}
		initialize();
		getList();
	}
   public void getList()
   {
	   String Msg=ConstanValue.MSG_ONLINE_SHOP;
	   try{
	   os.writeObject(Msg);
	   os.flush();
	   Msg=(String)is.readObject();
	   if(Msg.equals(ConstanValue.MSG_ONLINE_SHOP))
	   {
		   CachedRowSet  crs=(CachedRowSet)is.readObject();
		   ResultSetMetaData md=crs.getMetaData();
		   if(crs.isBeforeFirst())
		   {
			   crs.beforeFirst();
		   }
		   int c=md.getColumnCount();
		   System.out.println(c);
		   while(crs.next())
		   {
			   String shopid=crs.getString("shopID");
			   String shoprealname=crs.getString("shopRealName");
			   String hostid=crs.getString("hostID");			   
			   Boolean isOnLine=crs.getBoolean("loginFlag");
			   Boolean LoginAsHost=crs.getBoolean("loginAsHost");
			   
			   if(isOnLine==true&&LoginAsHost==true)
			   {
				   System.out.println(shopid);
				   OnLinelist.addItem(shopid);
			   }
			   else
			   {
				   OffLinelist.addItem(shopid);
				   System.out.println(shopid);
			   }
		   }
	   }
	   }
	   catch(Exception ex)
	   {
		   ex.printStackTrace();
	   }
   }   
	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize() {
		this.setSize(951, 503);
		this.setContentPane(getJContentPane());
		this.setTitle("购物大厅");
		this.setVisible(true);
	}
/**
 *   处理窗口关闭事件
 *   
 */
	public void processWindowEvent(WindowEvent event)
	{
		if(event.getID()==WindowEvent.WINDOW_CLOSING)
		{
			if(cart.isfull())
			{
				String msg=ConstanValue.MSG_LOGOUT;
				try{
				os.writeObject(msg);
				os.flush();
				os.close();
				is.close();
				clientSocket.close();
			//	msg=(String)is.readObject();
			//	JOptionPane.showMessageDialog(null, msg);				
				System.exit(0);
				}
				catch (Exception ex)
				{
					ex.printStackTrace();
				}
			}
			else
			{
				Object[] options = { "OK", "CANCEL" };
	            int value=JOptionPane.showOptionDialog(null, "您的购物车中有商品未支付,是否放弃?单击“YES”:放弃   单击“NO”:返回支付","warning" ,
	               JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null, 
	               options, options[0]);
	            if(value==0)
	            {
	            	//清空购物车
	            	cart.clear();
	            	//发送放弃购物车中的商品
	            	String Msg=ConstanValue.MSG_DENEY_ALL_BUY;
	            	try{
	            	os.writeObject(Msg);
	            	Msg=(String)is.readObject();
	            	JOptionPane.showMessageDialog(null, Msg);
	            	Msg=ConstanValue.MSG_LOGOUT;
	            	os.writeObject(Msg);
	            	//Msg=(String)is.readObject();
	            	//JOptionPane.showMessageDialog(null, Msg);
	            	os.close();
	            	is.close();
	            	clientSocket.close();
	            	System.exit(0);
	            	}
	            	catch (Exception ex)
	            	{
	            		ex.printStackTrace();
	            	}
	            }
	            else
	            {
	            	
	            	
	            	JOptionPane.showMessageDialog(null, "请支付");
	            }
				
			}
		}
	}
	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			jContentPane.add(getJButtonCart(), null);
			jContentPane.add(getJButtonPersonalInfo(), null);
			jContentPane.add(getJButtonPutIntoCart(), null);
			jContentPane.add(getJScrollPane(), null);
			jContentPane.add(getJTabbedPane(), null);
			jContentPane.add(getJButtonInformation(), null);
			jContentPane.add(getJButtonExit(), null);
			jContentPane.add(getJButtonHistory(), null);
			jContentPane.add(getJButtonBargain(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jButtonCart	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonCart() {
		if (jButtonCart == null) {
			jButtonCart = new JButton();
			jButtonCart.setBounds(new Rectangle(157, 25, 189, 44));
			jButtonCart.setText("查看购物车 &结算中心");
			//Icon CartIcon=new Icon("image/image2.gif");
			ImageIcon image=new ImageIcon("image/image2.gif");
			jButtonCart.setIcon(image);
			jButtonCart.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				    ViewCart newFrame=new ViewCart(clientSocket,os,is);
				}
			});
		}
		return jButtonCart;
	}

	/**
	 * This method initializes jButtonPersonalInfo	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonPersonalInfo() {
		if (jButtonPersonalInfo == null) {
			jButtonPersonalInfo = new JButton();
			jButtonPersonalInfo.setBounds(new Rectangle(351, 25, 158, 47));
			jButtonPersonalInfo.setText("查看或修改个人信息");
			jButtonPersonalInfo.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				  String Msg=ConstanValue.MSG_INFO_LOGINOR;
				  try{
					  os.writeObject(Msg);
					  Msg=(String)is.readObject();
					  CachedRowSet crs=(CachedRowSet)is.readObject();
					    ResultSetMetaData md=crs.getMetaData();
					    if(crs.isBeforeFirst())
					    {
					    	crs.beforeFirst();
					    }
					    String name="";
					    String realname="";
					    String sex="";
					    String address="";
					    String email="";
					    String profession="";
					    float account=0;
					 
					    while(crs.next())
					    {
					    name=crs.getString("userName");
					    realname=crs.getString("userRealName");
					    sex=crs.getString("userSex");
					    address=crs.getString("address");
					    email=crs.getString("Email");
					    profession=crs.getString("profession");
					    account=crs.getFloat("visulMoney");					    
					    }
					    PersonalInformation thisclass=new PersonalInformation( clientSocket,os,is, name,
					    	     realname,
					    	     sex,
					    	     address,
					    	    email,
					    	     profession,
					    	     account);
				  }catch(Exception ex)
				  {
					  ex.printStackTrace();
				  }
				}
			});
			
		}
		return jButtonPersonalInfo;
	}

	/**
	 * This method initializes jButtonPutIntoCart	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonPutIntoCart() {
		if (jButtonPutIntoCart == null) {
			jButtonPutIntoCart = new JButton();
			jButtonPutIntoCart.setBounds(new Rectangle(379, 415, 178, 44));
			jButtonPutIntoCart.setText("放入购物车");
			jButtonPutIntoCart.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				    if(jTableGoods.getSelectedRow()==-1)
				    {
				    	JOptionPane.showMessageDialog(null, "请选中一件商品");
				    }
				    else
				    {
				    
				    
				    	//将一件商品放入购物车
				    	
				    	int index=jTableGoods.getSelectedRow();
				    	String name=(String)jTableGoods.getValueAt(index,1);
				    	if(name.equals(""))
				    		JOptionPane.showMessageDialog(null, "请选中一件商品");
				    	else
				    	{
				    	int goodsid=(Integer)jTableGoods.getValueAt(index, 0);
				    	String sailerid=(String)jTableGoods.getValueAt(index,1);
				    	float price=(Float)jTableGoods.getValueAt(index, 3);
				    	String Msg=ConstanValue.MSG_BUY_ONE_GOODS_DIRECT;
				    	if(cart.isExist(goodsid))
				    		JOptionPane.showMessageDialog(null,"您的购物车中已有此商品!");
				    	else
				    	{
				    		String value=JOptionPane.showInputDialog(null, "请输入您要购买的数量", (Integer)1);
				    	    int num=Integer.parseInt(value.trim());
				    		try				    	
				    	{os.writeObject(Msg);
				    	os.writeObject(sailerid);
				    	 os.writeInt(goodsid);
				    	 os.writeInt(num);
				    	 os.writeFloat(price);
				    	 os.flush();
				    	 Msg=(String)is.readObject();
				    	 if(Msg.equals(ConstanValue.ACC_BUY_ONE_GOODS_DIRECT))
				    	 {
				    		 merchandise mer=store.getoneItem(goodsid);
				    		 cart.addItem(goodsid, mer);
				    		 cart.setItemNum(goodsid, num);
				    		 JOptionPane.showMessageDialog(null, Msg);
				    	 }
				    	 else
				    	 {
				    		 String exp=(String)is.readObject();
				    		 JOptionPane.showMessageDialog(null, exp);
				    	 }
				    	}
				    	catch(Exception ex)
				    	{

⌨️ 快捷键说明

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