fieldsJTextField[i].setText("");
}
}
}
packagecom.xjj;
importjava.awt.BorderLayout;
importjava.awt.Dimension;
importjava.awt.Toolkit;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.util.Enumeration;
importjava.util.Hashtable;
importjava.util.Vector;
importjavax.swing.BorderFactory;
importjavax.swing.JButton;
importjavax.swing.JFrame;
importjavax.swing.JOptionPane;
importjavax.swing.JPanel;
importjavax.swing.JScrollPane;
importjavax.swing.JTree;
importjavax.swing.ListSelectionModel;
importjavax.swing.event.TreeSelectionEvent;
importjavax.swing.event.TreeSelectionListener;
importjavax.swing.table.DefaultTableModel;
importjavax.swing.tree.DefaultMutableTreeNode;
importjavax.swing.tree.DefaultTreeModel;
importjavax.swing.tree.TreePath;
importjavax.swing.tree.TreeSelectionModel;
/**
*
*名片夹管理系统主窗口类
*
*/
@SuppressWarnings("serial")
publicclassMainJFrameextendsJFrame{
//名片夹散列表,保存名片夹名称及联系人表格行向量
//名片夹名称为关键字,联系人表格行向量为键值
HashtablecardcaseHashtable;
//联系人表格标题向量
VectorlinkmanColumnNamesVector;
//联系人表格行向量
VectorlinkmanRowVector;
//联系人表格行数据向量
VectorlinkmanRowDataVector;
//名片夹新建按钮
JButtoncardcaseNewJButton;
//名片夹修改按钮
JButtoncardcaseModifyJButton;
//名片夹删除按钮
JButtoncardcaseDeleteJButton;
//联系人添加按钮
JButtonlinkmanAddJButton;
//联系人修改按钮
JButtonlinkmanModifyJButton;
//联系人删除按钮
JButtonlinkmanDeleteJButton;
//名片夹容器面板
JPanelcardcaseJPanel;
//名片夹树
JTreecardcaseJTree;
//名片夹树模型
DefaultTreeModelcardcaseDefaultTreeModel;
//名片夹树根节点
DefaultMutableTreeNodecardcaseRoot;
//联系人自定义表格
MyJTablelinkmanMyJTable;
//联系人自定义表格模型
DefaultTableModeldefaultTableModel;
//联系人添加修改对话框
LinkmanAddModifyJDialoglinkmanAddModifyJDialog;
publicMainJFrame(Stringtitle){
setTitle(title);
//初始化数据
initData();
setLayout(newBorderLayout());
cardcaseJPanel=newJPanel();
cardcaseJPanel.setLayout(newBorderLayout());
cardcaseJPanel.setBorder(BorderFactory.createLoweredBevelBorder());
//获取名片夹散列表关键字枚举
Enumerationenumeration=cardcaseHashtable.keys();
//创建名片夹根节点
cardcaseRoot=newDefaultMutableTreeNode("名片夹");
//创建名片夹树模型
cardcaseDefaultTreeModel=newDefaultTreeModel(cardcaseRoot);
//创建名片夹树
cardcaseJTree=newJTree(cardcaseDefaultTreeModel);
//向名片夹树添加子节点,名称为名片夹散列表关键字
while(enumeration.hasMoreElements()){
cardcaseRoot.add(newDefaultMutableTreeNode(enumeration
.nextElement()));
}
//名片夹树选择动作监听器
CardcaseTreeSelectionListenerctsl=newCardcaseTreeSelectionListener();
cardcaseJTree.addTreeSelectionListener(ctsl);
//名片夹树设为单选模式
cardcaseJTree.getSelectionModel().setSelectionMode(
TreeSelectionModel.SINGLE_TREE_SELECTION);
//名片夹树添加至名片夹滚动面板
JScrollPanecardcaseJScrollPane=newJScrollPane(cardcaseJTree);
cardcaseJPanel.add(cardcaseJScrollPane,"Center");
//名片夹按钮动作监听器
CardcaseJButtonActionListenercjbal=newCardcaseJButtonActionListener();
JPanelcardcaseSouthJPanel=newJPanel();
cardcaseNewJButton=newJButton("新建");
cardcaseModifyJButton=newJButton("修改");
cardcaseDeleteJButton=newJButton("删除");
cardcaseNewJButton.addActionListener(cjbal);
cardcaseModifyJButton.addActionListener(cjbal);
cardcaseDeleteJButton.addActionListener(cjbal);
cardcaseSouthJPanel.add(cardcaseNewJButton);
cardcaseSouthJPanel.add(cardcaseModifyJButton);
cardcaseSouthJPanel.add(cardcaseDeleteJButton);
cardcaseJPanel.add(cardcaseSouthJPanel,"South");
add(cardcaseJPanel,"West");
JPanellinkmanJPanel=newJPanel();
linkmanJPanel.setLayout(newBorderLayout());
linkmanJPanel.setBorder(BorderFactory.createLoweredBevelBorder());
//创建联系人自定义表格模型
defaultTableModel=newDefaultTableModel(cardcaseHashtable.get(""),
linkmanColumnNamesVector);
//创建联系人自定义表格
linkmanMyJTable=newMyJTable(defaultTableModel);
//设置联系人自定义表格选择模式为单选
linkmanMyJTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
//联系人自定义表格添加至联系人滚动面板
JScrollPanelinkmanJScrollPane=newJScrollPane(linkmanMyJTable);
linkmanJPanel.add(linkmanJScrollPane,"Center");
//联系人按钮动作监听器
LinkmanJButtonActionListenerljbal=newLinkmanJButtonActionListener();
JPanellinkmanSouthJPanel=newJPanel();
linkmanAddJButton=newJButton("添加");
linkmanModifyJButton=newJButton("修改");
linkmanDeleteJButton=newJButton("删除");
linkmanAddJButton.addActionListener(ljbal);
linkmanModifyJButton.addActionListener(ljbal);
linkmanDeleteJButton.addActionListener(ljbal);
linkmanSouthJPanel.add(linkmanAddJButton);
linkmanSouthJPanel.add(linkmanModifyJButton);
linkmanSouthJPanel.add(linkmanDeleteJButton);
linkmanJPanel.add(linkmanSouthJPanel,"South");
add(linkmanJPanel,"Center");
setSize(800,400);
Toolkittool=getToolkit();
Dimensiond1=tool.getScreenSize();
Dimensiond2=this.getSize();
//设置显示位置为屏幕中心
setLocation((d1.width-d2.width)/2,(d1.height-d2.height)/2);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//重新装入名片夹树模型
cardcaseDefaultTreeModel.reload();
//设置名片夹树第一个子节点为选中状态
cardcaseJTree.setSelectionRow
(1);
//创建联系人添加修改对话框
linkmanAddModifyJDialog=newLinkmanAddModifyJDialog(null,"",true);
}
/**
*
*初始化数据
*
*/
privatevoidinitData(){
//联系人数组
String[][][]linkman={
{
{"赵一","男","A公司","经理","89******","138********",
"24******","zy@***.com"},
{"钱二","男","B学校","教师","56******","130********",
"65******","qr@*