www.pudn.com > mailserver.rar > AddressBook.java


package xiaobai.mailserver.admin;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.util.Vector;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

import xiaobai.mailserver.util.XMlUsersDB;

public class AddressBook
{

private JFrame jFrame = null; // @jve:decl-index=0:visual-constraint="62,36"
private JPanel jContentPane = null;
private JPanel jPanel = null;
private JScrollPane jScrollPane = null;
private JTable jTable = null;
private JPanel jPanel1 = null;
private JLabel jLabel = null;
private JLabel jLabel1 = null;
private JComboBox jComboBox = null;
private JButton jButton = null;
private JButton jButton1 = null;
private JButton jButton2 = null;
private JButton jButton3 = null;
static XMlUsersDB userAddress; // @jve:decl-index=0:
static AddressEdit addressEdit=new AddressEdit(); // @jve:decl-index=0:
static DefaultTableModel tableModel=new DefaultTableModel(){
private static final long serialVersionUID = 1L;
public boolean isCellEditable(int row,int column)
{
return false;
}
};

static UserEdit userEditShow=new UserEdit(); // @jve:decl-index=0:

static int numEditRow;
static int numEditCols;


protected JFrame getJFrame()
{
if (jFrame == null)
{
jFrame = new JFrame();
jFrame.setSize(new Dimension(422, 360));
jFrame.setTitle("公共地址薄");
jFrame.setContentPane(getJContentPane());
}
return jFrame;
}

/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
protected JPanel getJContentPane()
{
if (jContentPane == null)
{
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.setBackground(Color.white);
jContentPane.add(getJPanel(), BorderLayout.NORTH);
jContentPane.add(getJScrollPane(), BorderLayout.CENTER);
jContentPane.add(getJPanel1(), BorderLayout.SOUTH);
}
return jContentPane;
}

/**
* This method initializes jPanel
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel()
{
if (jPanel == null)
{
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(12, 49, 43, 18));
jLabel1.setText("域名");
jLabel = new JLabel();
jLabel.setText("公共地址簿");
jLabel.setSize(new Dimension(130, 20));
jLabel.setLocation(new Point(10, 16));
jPanel = new JPanel();
jPanel.setLayout(null);
jPanel.setPreferredSize(new Dimension(435, 80));
jPanel.setBackground(new Color(236, 233, 216));
jPanel.add(jLabel, null);
jPanel.add(jLabel1, null);
jPanel.add(getJComboBox(), null);
}
return jPanel;
}

/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane()
{
if (jScrollPane == null)
{
jScrollPane = new JScrollPane();
jScrollPane.setBackground(Color.white);
jScrollPane.setViewportView(getJTable());
jScrollPane.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent e)
{
jButton1.setEnabled(false);
jButton2.setEnabled(false);
jButton3.setEnabled(false);
}
});
}
return jScrollPane;
}

/**
* This method initializes jTable
*
* @return javax.swing.JTable
*/
private JTable getJTable()
{
String[] tableHeads={"姓名","真实姓名","电话","E-Mail"};
userAddress=new XMlUsersDB("xiaobai\\mailserver\\admin\\addressBook.xml");
Vector vecUserName=userAddress.getUsersName();
Vector vecUserInfo;
Vector<Vector>vecRow=new Vector<Vector>();
Vector<String> vecTableHead=new Vector<String>();

for(int i=0;i<tableHeads.length;i++)
{
vecTableHead.add(tableHeads[i]);
}
if(vecUserName.size()>0)
{
for(int i=0;i<vecUserName.size();i++)
{
vecUserInfo=userAddress.getUserInfo((String)vecUserName.elementAt(i));
vecRow.add(vecUserInfo);
}
}

tableModel.setDataVector(vecRow,vecTableHead);
if (jTable == null)
{
jTable = new JTable();
jTable.setBackground(Color.white);
jTable.setSelectionBackground(Color.blue);
jTable.setModel(tableModel);
jTable.addMouseListener(new java.awt.event.MouseAdapter()
{
public void mouseClicked(java.awt.event.MouseEvent e)
{
if(e.getClickCount()==1)
{
jButton1.setEnabled(true);
jButton2.setEnabled(true);
jButton3.setEnabled(true);

}
else if(e.getClickCount()==2)
{
Vector<Object> vecEdit=new Vector<Object>();
AddressEdit.listModel.clear();
numEditRow=jTable.getSelectedRow();
numEditCols=jTable.getColumnCount();
if(numEditRow!=-1)
{
for(int i=0;i<numEditCols;i++)
{
vecEdit.add(i,tableModel.getValueAt(numEditRow,i));
}


addressEdit.getJTextField().setText(vecEdit.elementAt(0).toString());
addressEdit.getJTextField().setEditable(false);
addressEdit.getJTextField1().setText(vecEdit.elementAt(1).toString());
addressEdit.getJTextField2().setText(vecEdit.elementAt(2).toString());

String editArray[]=((String)vecEdit.elementAt(3)).split(";");

for(int i=0;i<editArray.length;i++)
{
AddressEdit.listModel.addElement(editArray[i]);
}

Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=addressEdit.getJDialog().getSize();
addressEdit.getJDialog().setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
addressEdit.getJDialog().setVisible(true);

}

}
}
});

}
return jTable;
}

/**
* This method initializes jPanel1
*
* @return javax.swing.JPanel
*/
private JPanel getJPanel1()
{
if (jPanel1 == null)
{
jPanel1 = new JPanel();
jPanel1.setLayout(null);
jPanel1.setPreferredSize(new Dimension(435, 60));
jPanel1.setBackground(new Color(236, 233, 216));
jPanel1.add(getJButton(), null);
jPanel1.add(getJButton1(), null);
jPanel1.add(getJButton2(), null);
jPanel1.add(getJButton3(), null);
}
return jPanel1;
}

/**
* This method initializes jComboBox
*
* @return javax.swing.JComboBox
*/
private JComboBox getJComboBox()
{
if (jComboBox == null)
{
jComboBox = new JComboBox();
jComboBox.setLocation(new Point(61, 47));
jComboBox.setSize(new Dimension(194, 20));
jComboBox.addItem("#外部帐号");
jComboBox.addItem("*myserver.com");

}
return jComboBox;
}

/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton()
{
if (jButton == null)
{
jButton = new JButton();
jButton.setLocation(new Point(16, 21));
jButton.setText("新增");
jButton.setSize(new Dimension(66, 20));
jButton.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
AddressAdd addressAdd=new AddressAdd();
Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=addressAdd.getJDialog().getSize();
addressAdd.getJDialog().setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
addressAdd.getJDialog().setVisible(true);

}
});
}
return jButton;
}

/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1()
{
if (jButton1 == null)
{
jButton1 = new JButton();
jButton1.setLocation(new Point(96, 22));
jButton1.setText("编辑");
jButton1.setEnabled(false);
jButton1.setSize(new Dimension(66, 20));
jButton1.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
Vector<Object> vecEdit=new Vector<Object>();
AddressEdit.listModel.clear();
numEditRow=jTable.getSelectedRow();// TODO Auto-generated Event stub actionPerformed()
numEditCols=jTable.getColumnCount();
if(numEditRow!=-1)
{
for(int i=0;i<numEditCols;i++)
{
//System.out.println(UserAdmin.tableModel.getValueAt(numEditRow,i));
vecEdit.add(i,tableModel.getValueAt(numEditRow,i));

}


addressEdit.getJTextField().setText(vecEdit.elementAt(0).toString());
addressEdit.getJTextField().setEditable(false);
addressEdit.getJTextField1().setText(vecEdit.elementAt(1).toString());
addressEdit.getJTextField2().setText(vecEdit.elementAt(2).toString());

String editArray[]=((String)vecEdit.elementAt(3)).split(";");

for(int i=0;i<editArray.length;i++)
{
AddressEdit.listModel.addElement(editArray[i]);
}

Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize=addressEdit.getJDialog().getSize();
addressEdit.getJDialog().setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
addressEdit.getJDialog().setVisible(true);

}


}
});
}
return jButton1;
}

/**
* This method initializes jButton2
*
* @return javax.swing.JButton
*/
private JButton getJButton2()
{
if (jButton2 == null)
{
jButton2 = new JButton();
jButton2.setLocation(new Point(176, 22));
jButton2.setText("删除");
jButton2.setEnabled(false);
jButton2.setSize(new Dimension(66, 20));
jButton2.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
String strDelUser=null;
int numRow=jTable.getSelectedRow();
if(numRow!=-1)
{

strDelUser=(String)tableModel.getValueAt(numRow,0);
System.out.println(strDelUser);
if(userAddress.delUser(strDelUser))
{
//
userAddress.XMlUsersOut();
tableModel.removeRow(numRow);
}
else
{
JOptionPane.showMessageDialog(null,"删除用户"+strDelUser+"出现错误","系统提示",JOptionPane.INFORMATION_MESSAGE);
}


}
}
});
}
return jButton2;
}

/**
* This method initializes jButton3
*
* @return javax.swing.JButton
*/
private JButton getJButton3()
{
if (jButton3 == null)
{
jButton3 = new JButton();
jButton3.setLocation(new Point(341, 22));
jButton3.setText("刷新");
jButton3.setEnabled(false);
jButton3.setSize(new Dimension(66, 20));
jButton3.addActionListener(new java.awt.event.ActionListener()
{
public void actionPerformed(java.awt.event.ActionEvent e)
{
tableModel.fireTableDataChanged();
jTable.updateUI();
}
});
}
return jButton3;
}

}