?? shophostui.java
字號(hào):
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,"請(qǐng)選中一個(gè)商品");
else
{
int row=jTableGoodsList.getSelectedRow();
String msg=(String)jTableGoodsList.getValueAt(row, 1);
if(msg.equals(""))
JOptionPane.showMessageDialog(null,"請(qǐng)選中一個(gè)商品");
else{
int goodsId=(Integer)jTableGoodsList.getValueAt(row, 0);
merchandise goods=store.getoneItem(goodsId);
EditOneGoods thisclass=new EditOneGoods(this,clientSocket,os,is,row,goods);
}
}
}
}
//處理窗口關(guān)閉事件
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("退出系統(tǒng)");
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("個(gè)人信息", 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));
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -