📄 shopperbargain.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 + -