package com.vci.client.portal.NewUI;
|
|
import java.awt.BorderLayout;
|
import java.awt.FlowLayout;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
|
import javax.swing.JButton;
|
import javax.swing.JDialog;
|
import javax.swing.JPanel;
|
import javax.swing.JScrollPane;
|
import javax.swing.JTree;
|
import javax.swing.border.EmptyBorder;
|
import javax.swing.tree.DefaultTreeModel;
|
|
import com.vci.corba.omd.btm.BtmItem;
|
import com.vci.client.LogonApplication;
|
import com.vci.client.omd.provider.BtmProvider;
|
import com.vci.client.ui.swing.VCIOptionPane;
|
import com.vci.client.ui.tree.VCIBaseTreeModel;
|
import com.vci.client.ui.tree.VCIBaseTreeNode;
|
import com.vci.corba.common.VCIError;
|
|
public class UICloneDestDialog extends JDialog {
|
|
private final JPanel contentPanel = new JPanel();
|
private JTree btTree ;
|
/**
|
* 树对象
|
*/
|
private Object treeObject;
|
public Object getTreeObject() {
|
return treeObject;
|
}
|
|
public void setTreeObject(Object treeObject) {
|
this.treeObject = treeObject;
|
}
|
|
/**
|
* Launch the application.
|
*/
|
public static void main(String[] args) {
|
try {
|
UICloneDestDialog dialog = new UICloneDestDialog();
|
dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
|
dialog.setVisible(true);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* Create the dialog.
|
*/
|
public UICloneDestDialog() {
|
super(LogonApplication.frame,true);
|
init();
|
this.setLocationRelativeTo(null);
|
}
|
|
private void init() {
|
setBounds(100, 100, 450, 300);
|
getContentPane().setLayout(new BorderLayout());
|
contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
|
getContentPane().add(contentPanel, BorderLayout.CENTER);
|
contentPanel.setLayout(new BorderLayout(0, 0));
|
{
|
JScrollPane scrollPane = new JScrollPane();
|
contentPanel.add(scrollPane, BorderLayout.CENTER);
|
{
|
btTree = new JTree();
|
scrollPane.setViewportView(btTree);
|
try {
|
btTree.setModel(createTreeModel());
|
} catch (VCIError e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
{
|
JPanel buttonPane = new JPanel();
|
buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
|
getContentPane().add(buttonPane, BorderLayout.SOUTH);
|
{
|
JButton okButton = new JButton("确定");
|
okButton.addActionListener(new ActionListener() {
|
|
@Override
|
public void actionPerformed(ActionEvent e) {
|
VCIBaseTreeNode lastPathComponent = (VCIBaseTreeNode) btTree.getSelectionPath().getLastPathComponent();
|
treeObject = lastPathComponent.getObj();
|
if(treeObject instanceof String){
|
VCIOptionPane.showMessage(LogonApplication.frame, "请选择类型节点!");
|
return;
|
}
|
dispose();
|
}
|
});
|
buttonPane.add(okButton);
|
}
|
{
|
JButton cancelButton = new JButton("关闭");
|
cancelButton.addActionListener(new ActionListener() {
|
|
@Override
|
public void actionPerformed(ActionEvent arg0) {
|
dispose();
|
}
|
});
|
buttonPane.add(cancelButton);
|
}
|
}
|
}
|
private DefaultTreeModel createTreeModel() throws VCIError {
|
BtmItem[] allBtItems = BtmProvider.getInstance().getAllBtmItems();
|
VCIBaseTreeNode rootNode = new VCIBaseTreeNode("业务类型树","root");
|
VCIBaseTreeModel treeModel = new VCIBaseTreeModel(rootNode);
|
for(int i=0;i<allBtItems.length;i++){
|
|
VCIBaseTreeNode node = new VCIBaseTreeNode(allBtItems[i].name,allBtItems[i]);
|
treeModel.insertNodeInto(node, rootNode, rootNode.getChildCount());
|
}
|
return new DefaultTreeModel(rootNode);
|
}
|
}
|