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

📄 shophostui.java

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

import java.awt.BorderLayout;
import javax.swing.JOptionPane;
import javax.sql.rowset.CachedRowSet;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JScrollPane;
import java.awt.Rectangle;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.sql.ResultSetMetaData;
import javax.swing.event.*;
import javax.swing.JTable;
import javax.swing.JButton;
import java.awt.event.*;
import javax.swing.JTabbedPane;
import java.awt.GridBagLayout;
import java.awt.GridBagConstraints;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.ButtonGroup;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
public class ShopHostUI extends JFrame implements ActionListener,ChangeListener{

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	public  JTable jTableGoodsList = null;

	private JButton jButtonDeleteOneGoods = null;

	private JButton jButtonAddOneGoods = null;

	private JButton jButtonEditOneGoods = null;
	public Socket clientSocket=null;	   
	public  ObjectOutputStream os=null;
	public ObjectInputStream is=null;
	public  AllMerchandise store=new AllMerchandise();  //  @jve:decl-index=0:

	private JButton jButtonExit = null;

	private JTabbedPane jTabbedPane = null;

	private JPanel jPanelGoods = null;

	private JScrollPane jScrollPaneGoods = null;

	private JPanel jPanelPersonalInfo = null;

	private JLabel jLabelName = null;

	private JTextField jTextFieldName = null;

	private JLabel jLabelRealName = null;

	private JTextField jTextFieldRealName = null;

	private JLabel jLabelSex = null;

	private JLabel jLabelAddress = null;

	private JLabel jLabelEmail = null;

	private JLabel jLabelProfession = null;

	private JLabel jLabelAccount = null;

	private JTextField jTextFieldAddress = null;

	private JTextField jTextFieldEmail = null;

	private JTextField jTextFieldProfession = null;

	private JButton jButtonSubmit = null;

	private JButton jButtonCancle = null;

	private JTextField jTextFieldAccount = null;

	private JRadioButton jRadioButtonMale = null;

	private JRadioButton jRadioButtonFemal = null;
	public ButtonGroup group=new ButtonGroup();

	private JPanel jPanelHistory = null;

	private JScrollPane jScrollPaneHistory = null;

	private JTable jTableHistory = null;

	private JButton jButtonClear = null;

	private JPanel jPanelMessageBoard = null;

	private JButton jButtonRemoveAll = null;

	private JScrollPane jScrollPaneMessage = null;

	private JTextArea jTextAreaMessage = null;
	public String username="";//店主的用户名
	/**
	 * This is the default constructor
	 */
	public ShopHostUI(Socket clientSocket,ObjectOutputStream os,ObjectInputStream is,String username) {
		super();
		this.clientSocket=clientSocket;
		this.os=os;
		this.is=is;
		this.username=username;
		initialize(username);
	}

	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize(String username) {
		this.setSize(555, 502);
		this.setContentPane(getJContentPane());
		this.setTitle(username+"的店铺");
		this.setVisible(true);
		jButtonAddOneGoods = new JButton();
		jButtonAddOneGoods.setBounds(new Rectangle(167, 356, 123, 24));
		jButtonAddOneGoods.setText("添加一种商品");
		jButtonAddOneGoods.addActionListener(this);
		
		jButtonEditOneGoods = new JButton();
		jButtonEditOneGoods.setBounds(new Rectangle(297, 353, 115, 27));
		jButtonEditOneGoods.setText("修改选中的商品的信息");
		jButtonEditOneGoods.addActionListener(this);
		jPanelGoods.add(jButtonEditOneGoods);
		jPanelGoods.add(jButtonAddOneGoods);
		
	}
 

public void actionPerformed(ActionEvent event)
{
	if(event.getSource()==jButtonAddOneGoods)
	{
	AddOneGoods thisframe =new AddOneGoods(this,clientSocket,os,is);
	}
	else
	{
		if(jTableGoodsList.getSelectedRow()==-1)
			JOptionPane.showMessageDialog(null,"请选中一个商品");
		else
		{
			int row=jTableGoodsList.getSelectedRow();
			String msg=(String)jTableGoodsList.getValueAt(row, 1);
			if(msg.equals(""))
				JOptionPane.showMessageDialog(null,"请选中一个商品");
			else{
				int goodsId=(Integer)jTableGoodsList.getValueAt(row, 0);
				merchandise goods=store.getoneItem(goodsId);
		       EditOneGoods thisclass=new EditOneGoods(this,clientSocket,os,is,row,goods);
			}
		}
	}
}
//处理窗口关闭事件
public void processWindowEvent(WindowEvent event)
{
	if(event.getID()==WindowEvent.WINDOW_CLOSING)
	{
		String Msg=ConstanValue.MSG_LOGOUT;
		try{
			os.writeObject(Msg);
			os.flush();
			os.close();
			is.close();
			clientSocket.close();
			System.exit(0);
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
	}
}
	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
		//	jContentPane.add(getJScrollPane(), null);
		//	jContentPane.add(getJButtonEditOneGoods(), null);
			jContentPane.add(getJButtonExit(), null);
			jContentPane.add(getJTabbedPane(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jTableGoodsList	
	 * 	
	 * @return javax.swing.JTable	
	 */
	private JTable getJTableGoodsList() {
		if (jTableGoodsList == null) {
			MytableModel mymodel=new MytableModel();
			jTableGoodsList = new JTable(mymodel);
			for(int i=0;i<20;i++)
		    	for(int j=0;j<8;j++)
		    		jTableGoodsList.setValueAt("", i, 7);
			try{
			//首先得到该店铺的id和名字
			String Msg=ConstanValue.MSG_INFO_OF_OWNER_SHOP;
			os.writeObject(Msg);
			os.flush();
			Msg=(String)is.readObject();			
			  if(Msg.equals(ConstanValue.ACC_INFO_OF_OWNER_SHOP))
			  {
				  System.out.println(Msg);
					CachedRowSet crs=(CachedRowSet)is.readObject();
				    ResultSetMetaData md=crs.getMetaData();
				    int c=md.getColumnCount();
				    if(crs.isBeforeFirst())
				    {
				    	crs.beforeFirst();
				    }
				    
				    for(int i=0;i<20;i++)
				    	for(int j=0;j<8;j++)
				    		jTableGoodsList.setValueAt("", i, j);
				    int i=0;
				    while(crs.next())            //读入该商店的商品
				    {
				    	String shopid=crs.getString("shopID");
						String shopname=crs.getString("shopRealName");
						store.SetShopId(shopid);
						store.SetShopName(shopname);
				    	int goodsId=crs.getInt("goodsID");
				    	System.out.println(goodsId);
				    	
				    	String ownerId=crs.getString("ownerID");
				    	System.out.println(ownerId);
				    	
				    	String goodsName=crs.getString("goodsName");
				    	System.out.println(goodsName);
				    	
				    	float price=crs.getFloat("price");
				    	System.out.println(price);
				    	
				    	String produceArea=crs.getString("produceArea");
				    	System.out.println(produceArea);
				    	
				    	String introduce=crs.getString("introduce");
				    	System.out.println(introduce);
				    	
				    	int amount=crs.getInt("number");
				    	System.out.println(amount);
				    	
				    	String unit=crs.getString("numberUnits");
				    	System.out.println(unit);
				    	
				    	//String shopid=crs.getString("shopID");
				    	//System.out.println(shopid);
				        merchandise	goods=new merchandise(goodsId,ownerId,goodsName,price,produceArea,introduce,amount,unit);
				        store.addItem(goodsId, goods);
				        //界面显示
				        jTableGoodsList.setValueAt(goodsId, i, 0);
				        jTableGoodsList.setValueAt(ownerId, i, 1);
				        jTableGoodsList.setValueAt(goodsName, i, 2);
				        jTableGoodsList.setValueAt(price, i, 3);
				        jTableGoodsList.setValueAt(produceArea, i, 4);
				        jTableGoodsList.setValueAt(introduce, i, 5);
				        jTableGoodsList.setValueAt(amount, i, 6);
				        jTableGoodsList.setValueAt(unit, i, 7);	
				        i++;
				    }
				    System.out.println("hello");
				    //刷新界面
			  }
			}
			catch(Exception ex)
			{
				ex.printStackTrace();
			}
			
		}
		return jTableGoodsList;
	}

	/**
	 * This method initializes jButtonDeleteOneGoods	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonDeleteOneGoods() {
		if (jButtonDeleteOneGoods == null) {
			jButtonDeleteOneGoods = new JButton();
			jButtonDeleteOneGoods.setText("删除选中的商品");
			jButtonDeleteOneGoods.setBounds(new Rectangle(1, 352, 161, 33));
			jButtonDeleteOneGoods.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				    try{
					int row=jTableGoodsList.getSelectedRow();
				    int goodsid=(Integer)jTableGoodsList.getValueAt(row, 0);
				  //  JOptionPane.showMessageDialog(null, goodsid);
				    String Msg=ConstanValue.MSG_DEL_ONEGOODS;
				    os.writeObject(Msg);
				    os.writeInt(goodsid);
				    os.flush();
				   // jTableGoodsList.removeRowSelectionInterval(0, 20);
				    Msg=(String)is.readObject();
				    if(Msg.equals(ConstanValue.MSG_ACC_DEL_ONEGOODS))
				    {
				    	JOptionPane.showMessageDialog(null, Msg);
				    
				    //从界面删除该商品
				        int col=jTableGoodsList.getColumnCount();
				        int num=store.getNumofItems();
				        for(int i=row;i<num-1;i++)
					      for(int j=0;j<col;j++)
					    {
					    	jTableGoodsList.setValueAt(jTableGoodsList.getValueAt(i+1, j), row, j);
					    }
				        for(int j=0;j<col;j++)
				        	jTableGoodsList.setValueAt("", num-1, j);
//					  商店中删除该商品
				        store.deleteItem(goodsid);
					   // jTableGoodsList.removeRowSelectionInterval(0, 10);
				    }
				    }
				    catch(Exception ex)
				    {
				    	ex.printStackTrace();
				    }
				}
			});
		}
		return jButtonDeleteOneGoods;
	}

	/**
	 * This method initializes jButtonExit	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonExit() {
		if (jButtonExit == null) {
			jButtonExit = new JButton();
			jButtonExit.setBounds(new Rectangle(409, 10, 120, 31));
			jButtonExit.setText("退出系统");
			jButtonExit.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_LOGOUT;
				try{
					os.writeObject(Msg);
					os.flush();
					os.close();
				is.close();
				clientSocket.close();
				System.exit(0);
				}catch(Exception ex)
				{
					ex.printStackTrace();
				}
				}
			});
		}
		return jButtonExit;
	}

	/**
	 * This method initializes jTabbedPane	
	 * 	
	 * @return javax.swing.JTabbedPane	
	 */
	private JTabbedPane getJTabbedPane() {
		if (jTabbedPane == null) {
			jTabbedPane = new JTabbedPane();
			jTabbedPane.setBounds(new Rectangle(15, 59, 427, 410));
			jTabbedPane.addTab("店铺商品", null, getJPanelGoods(), null);
			jTabbedPane.addTab("个人信息", null, getJPanelPersonalInfo(), null);
			jTabbedPane.addTab("查看交易历史", null, getJPanelHistory(), null);
			jTabbedPane.addTab("留言板", null, getJPanelMessageBoard(), null);
		    jTabbedPane.addChangeListener(this);
		}
		return jTabbedPane;
	}
	public  void stateChanged(ChangeEvent e)
	{
		if(e.getSource()==jTabbedPane)
		{
			int index=jTabbedPane.getSelectedIndex();
			if(index==1)
			{
				String Msg=ConstanValue.MSG_INFO_LOGINOR;
				try{
					os.writeObject(Msg);
					Msg=(String)is.readObject();
					if(Msg.equals(ConstanValue.MSG_INFO_LOGINOR))
					{
						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");					    
					    }
					    jTextFieldName.setText(name);
					    jTextFieldRealName.setText(realname);
					    if(sex.equals("男"))
					    	jRadioButtonMale.setSelected(true);
					    else
					    	jRadioButtonFemal.setSelected(true);
					    jTextFieldAddress.setText(address);
					    jTextFieldEmail.setText(email);
					    jTextFieldProfession.setText(profession);
					    jTextFieldAccount.setText(Float.toString(account));
					}

⌨️ 快捷键说明

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