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

📄 shopperbargain.java

📁 基于 C/S 模式的网上购物系统
💻 JAVA
字号:
package RegisterAndLogin;
//购物者端议价界面
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Dimension;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.io.*;
import java.net.*;
import javax.swing.JTextArea;
import java.awt.event.*;

import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.io.*;
public class ShopperBargain extends JFrame implements ActionListener,QuanJu {

	private static final long serialVersionUID = 1L;

	private JPanel jContentPane = null;

	private JButton jButtonCall = null;
    public String IP="";  //  @jve:decl-index=0:
    public String ownerid="";
	public  JTextArea jTextAreaMessage = null;
	public Socket client=null;
    public ObjectOutputStream sendMsg=null;
    public ObjectInputStream receiveMsg=null;
	private JButton jButtonSend = null;

	private JTextField jTextFieldMessage = null;
	public String username="";//购物者的用户名  //  @jve:decl-index=0:

	private JLabel jLabelGoodsID = null;

	private JTextField jTextFieldGoodsID = null;

	private JLabel jLabelSailerID = null;

	private JTextField jTextFieldSailerID = null;

	private JLabel jLabelGoodsName = null;

	private JTextField jTextFieldGoodsName = null;

	private JLabel jLabelPrimaryPrice = null;

	private JTextField jTextFieldPrimaryPrice = null;

	private JLabel jLabelBargainPrice = null;

	private JTextField jTextFieldBargainPrice = null;

	private JButton jButtonToHostConfirm = null;

	public JButton jButtonPutIntoCart = null;
	public merchandise mer=null;

	private JLabel jLabelAmount = null;

	private JTextField jTextFieldAmount = null;
	public ObjectOutputStream os=null;
	public ObjectInputStream is=null;
	/**
	 * This is the default constructor
	 */
	public ShopperBargain(merchandise mer,String IP,String ownerid,String username,ObjectOutputStream os,ObjectInputStream is) {
		super();
		this.mer=mer;
		this.IP=IP;
		this.ownerid=ownerid;
		this.username=username;
		this.is=is;
		this.os=os;
		initialize( ownerid);
		jButtonCall = new JButton();
		jButtonCall.setBounds(new Rectangle(377, 13, 104, 34));
		jButtonCall.setText("呼叫");
		jContentPane.add(jButtonCall, null);
		jButtonCall.addActionListener(this);
	}
   public void actionPerformed(ActionEvent event)//呼叫按钮的事件处理
   {
	   System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
	    if(event.getSource()==jButtonCall){
		try{
			jButtonSend.setEnabled(true);
			jButtonCall.setEnabled(false);
			jButtonToHostConfirm.setEnabled(true);
		    client=new Socket(IP,8005);
			sendMsg=new ObjectOutputStream(client.getOutputStream());
			receiveMsg=new ObjectInputStream(client.getInputStream());
			ShopperListening newlistener=new ShopperListening(this,ownerid,receiveMsg);
		    newlistener.start();
		}
		catch(Exception ex)
		{
			ex.printStackTrace();
		}
	    }
   }
	/**
	 * This method initializes this
	 * 
	 * @return void
	 */
	private void initialize(String ownerid) {
		this.setSize(714, 390);
		this.setContentPane(getJContentPane());
		this.setTitle("与店主"+ownerid+"议价界面");
		this.setVisible(true);
		
	}

	/**
	 * This method initializes jContentPane
	 * 
	 * @return javax.swing.JPanel
	 */
	private JPanel getJContentPane() {
		if (jContentPane == null) {
			jLabelAmount = new JLabel();
			jLabelAmount.setBounds(new Rectangle(474, 236, 77, 28));
			jLabelAmount.setHorizontalAlignment(SwingConstants.CENTER);
			jLabelAmount.setText("数量");
			jLabelBargainPrice = new JLabel();
			jLabelBargainPrice.setBounds(new Rectangle(372, 233, 84, 27));
			jLabelBargainPrice.setHorizontalAlignment(SwingConstants.CENTER);
			jLabelBargainPrice.setText("议后价");
			jLabelPrimaryPrice = new JLabel();
			jLabelPrimaryPrice.setBounds(new Rectangle(277, 232, 89, 30));
			jLabelPrimaryPrice.setHorizontalAlignment(SwingConstants.CENTER);
			jLabelPrimaryPrice.setText("原价");
			jLabelGoodsName = new JLabel();
			jLabelGoodsName.setBounds(new Rectangle(195, 232, 71, 27));
			jLabelGoodsName.setHorizontalAlignment(SwingConstants.CENTER);
			jLabelGoodsName.setText("商品名");
			jLabelSailerID = new JLabel();
			jLabelSailerID.setBounds(new Rectangle(106, 232, 81, 24));
			jLabelSailerID.setHorizontalAlignment(SwingConstants.CENTER);
			jLabelSailerID.setText("卖方ID");
			jLabelGoodsID = new JLabel();
			jLabelGoodsID.setBounds(new Rectangle(16, 226, 78, 29));
			jLabelGoodsID.setHorizontalAlignment(SwingConstants.CENTER);
			jLabelGoodsID.setText("商品ID");
			jContentPane = new JPanel();
			jContentPane.setLayout(null);
			//jContentPane.add(getJButtonCall(), null);
			jContentPane.add(getJTextAreaMessage(), null);
			jContentPane.add(getJButtonSend(), null);
			jContentPane.add(getJTextFieldMessage(), null);
			jContentPane.add(jLabelGoodsID, null);
			jContentPane.add(getJTextFieldGoodsID(), null);
			jContentPane.add(jLabelSailerID, null);
			jContentPane.add(getJTextFieldSailerID(), null);
			jContentPane.add(jLabelGoodsName, null);
			jContentPane.add(getJTextFieldGoodsName(), null);
			jContentPane.add(jLabelPrimaryPrice, null);
			jContentPane.add(getJTextFieldPrimaryPrice(), null);
			jContentPane.add(jLabelBargainPrice, null);
			jContentPane.add(getJTextFieldBargainPrice(), null);
			jContentPane.add(getJButtonToHostConfirm(), null);
			jContentPane.add(getJButtonPutIntoCart(), null);
			jContentPane.add(jLabelAmount, null);
			jContentPane.add(getJTextFieldAmount(), null);
		}
		return jContentPane;
	}

	/**
	 * This method initializes jButtonCall	
	 * 	
	 * @return javax.swing.JButton	
	 */
/*	private JButton getJButtonCall() {
		if (jButtonCall == null) {
			jButtonCall = new JButton();
			jButtonCall.setBounds(new Rectangle(377, 13, 104, 34));
			jButtonCall.setText("呼叫");
			jButtonCall.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{
						Socket client=new Socket(IP,8005);
						sendMsg=new ObjectOutputStream(client.getOutputStream());
						receiveMsg=new ObjectInputStream(client.getInputStream());
						ShopperListening newlistener=new ShopperListening(this,receiveMsg);
					}
					catch(Exception ex)
					{
						ex.printStackTrace();
					}
				}
			});
		}
		return jButtonCall;
	}
*/
	/**
	 * This method initializes jTextAreaMessage	
	 * 	
	 * @return javax.swing.JTextArea	
	 */
	private JTextArea getJTextAreaMessage() {
		if (jTextAreaMessage == null) {
			jTextAreaMessage = new JTextArea();
			jTextAreaMessage.setBounds(new Rectangle(9, 7, 360, 216));
		}
		return jTextAreaMessage;
	}

	/**
	 * This method initializes jButtonSend	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonSend() {
		if (jButtonSend == null) {
			jButtonSend = new JButton();
			jButtonSend.setBounds(new Rectangle(180, 315, 140, 44));
			jButtonSend.setEnabled(false);
			jButtonSend.setText("发送");
			jButtonSend.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(sendMsg!=null)
				    {
				    	String Msg=jTextFieldMessage.getText();
				    	Msg=username+"Say:   "+Msg;
				    	jTextAreaMessage.append(Msg+"\n");
				    	try{
				    	sendMsg.writeObject(Msg);
				    	jTextFieldMessage.setText("");
				    	}catch(Exception ex)
				    	{
				    		ex.printStackTrace();
				    	}
				    }
				}
			});
		}
		return jButtonSend;
	}
	/**
	 * This method initializes jTextFieldMessage	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldMessage() {
		if (jTextFieldMessage == null) {
			jTextFieldMessage = new JTextField();
			jTextFieldMessage.setBounds(new Rectangle(1, 314, 168, 39));
		}
		return jTextFieldMessage;
	}
	/**
	 * This method initializes jTextFieldGoodsID	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldGoodsID() {
		if (jTextFieldGoodsID == null) {
			jTextFieldGoodsID = new JTextField();
			jTextFieldGoodsID.setBounds(new Rectangle(16, 262, 80, 25));
			jTextFieldGoodsID.setEditable(false);
			jTextFieldGoodsID.setText(Integer.toString(mer.getgoodsId()));
		}
		return jTextFieldGoodsID;
	}
	/**
	 * This method initializes jTextFieldSailerID	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldSailerID() {
		if (jTextFieldSailerID == null) {
			jTextFieldSailerID = new JTextField();
			jTextFieldSailerID.setBounds(new Rectangle(106, 259, 80, 29));
			jTextFieldSailerID.setEditable(false);
			jTextFieldSailerID.setText(mer.owenerId);
		}
		return jTextFieldSailerID;
	}
	/**
	 * This method initializes jTextFieldGoodsName	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldGoodsName() {
		if (jTextFieldGoodsName == null) {
			jTextFieldGoodsName = new JTextField();
			jTextFieldGoodsName.setBounds(new Rectangle(196, 260, 73, 29));
			jTextFieldGoodsName.setEditable(false);
			jTextFieldGoodsName.setText(mer.getgoodsName());
		}
		return jTextFieldGoodsName;
	}
	/**
	 * This method initializes jTextFieldPrimaryPrice	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldPrimaryPrice() {
		if (jTextFieldPrimaryPrice == null) {
			jTextFieldPrimaryPrice = new JTextField();
			jTextFieldPrimaryPrice.setBounds(new Rectangle(276, 266, 89, 27));
			jTextFieldPrimaryPrice.setEditable(false);
			jTextFieldPrimaryPrice.setText(Float.toString(mer.getPrice()));			
		}
		return jTextFieldPrimaryPrice;
	}
	/**
	 * This method initializes jTextFieldBargainPrice	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldBargainPrice() {
		if (jTextFieldBargainPrice == null) {
			jTextFieldBargainPrice = new JTextField();
			jTextFieldBargainPrice.setBounds(new Rectangle(372, 265, 85, 29));
		    jTextFieldBargainPrice.setText(Float.toString(mer.getPrice()));
		}
		return jTextFieldBargainPrice;
	}
	/**
	 * This method initializes jButtonToHostConfirm	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonToHostConfirm() {
		if (jButtonToHostConfirm == null) {
			jButtonToHostConfirm = new JButton();
			jButtonToHostConfirm.setBounds(new Rectangle(575, 224, 127, 33));
			jButtonToHostConfirm.setEnabled(false);
			jButtonToHostConfirm.setText("提交给店主确认");
			jButtonToHostConfirm.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_REQUEST_CONFIRM;
				    try{
				    	sendMsg.writeObject(Msg);
				    	sendMsg.writeInt(mer.getgoodsId());
				    	sendMsg.writeObject(mer.GetowenerId());
				    	sendMsg.writeObject(mer.getgoodsName());
				    	sendMsg.writeFloat(mer.getPrice());
				    	sendMsg.writeFloat(Float.parseFloat(jTextFieldBargainPrice.getText().trim()));
				        sendMsg.writeInt(Integer.parseInt(jTextFieldAmount.getText().trim()));
				        sendMsg.flush();
				    }
				    catch(Exception ex)
				    {
				    	ex.printStackTrace();
				    }
				}
			});
		}
		return jButtonToHostConfirm;
	}
	/**
	 * This method initializes jButtonPutIntoCart	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButtonPutIntoCart() {
		if (jButtonPutIntoCart == null) {
			jButtonPutIntoCart = new JButton();
			jButtonPutIntoCart.setBounds(new Rectangle(576, 261, 125, 34));
			jButtonPutIntoCart.setEnabled(false);
			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()
				    float bargainprice=Float.parseFloat(jTextFieldBargainPrice.getText().trim());
					int num=Integer.parseInt(jTextFieldAmount.getText().trim());
					String Msg=ConstanValue.MSG_BARGAIN_ONE_GOODS;
					if(cart.isExist(mer.getgoodsId()))
			    		JOptionPane.showMessageDialog(null,"您的购物车中已有此商品!");
					else
					{
						try{
							os.writeObject(Msg);
							os.writeObject(mer.GetowenerId());
					    	os.writeInt(mer.getgoodsId());
					    	os.writeInt(num);
					    	os.writeFloat(bargainprice);
					    	
					    	 os.flush();
					    	 Msg=(String)is.readObject();
					    	 
					    	 if(Msg.equals(ConstanValue.ACC_BARGAIN_ONE_GOODS))
					    		 JOptionPane.showMessageDialog(null,Msg);
					    	 else
					    	 {
					    		 Msg+=(String)is.readObject();
					    		 JOptionPane.showMessageDialog(null,Msg);
					    	 }
					    	 sendMsg.close();
					    	 receiveMsg.close();
					    	 client.close();
					    	 jButtonPutIntoCart.setEnabled(false);
					    	 setVisible(false);
						}
						catch(Exception ex)
						{
							ex.printStackTrace();
						}
					mer.setPrice(bargainprice);
					cart.addItem(mer.getgoodsId(), mer);
					cart.setItemNum(mer.getgoodsId(),num);
					}
				}
			});
		}
		return jButtonPutIntoCart;
	}
	/**
	 * This method initializes jTextFieldAmount	
	 * 	
	 * @return javax.swing.JTextField	
	 */
	private JTextField getJTextFieldAmount() {
		if (jTextFieldAmount == null) {
			jTextFieldAmount = new JTextField();
			jTextFieldAmount.setBounds(new Rectangle(473, 268, 82, 35));
		    jTextFieldAmount.setText(Integer.toString(1));
		}
		return jTextFieldAmount;
	}

}  //  @jve:decl-index=0:visual-constraint="10,10"

⌨️ 快捷键说明

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